diff options
author | Juan Linietsky <red@kyoko> | 2015-05-21 15:02:49 -0300 |
---|---|---|
committer | Juan Linietsky <red@kyoko> | 2015-05-21 15:02:49 -0300 |
commit | bb5d46bb113bca3204db7678eb69900f159e8087 (patch) | |
tree | cd34e10d67a196d217559ab8d4973b8f5bc4ccde /core/input_map.cpp | |
parent | 4b8745ad63409cf14b02735981ee35d2f794421c (diff) | |
parent | 6049479a99f66b620d59498a76ed9f2c3891f4c8 (diff) | |
download | redot-engine-bb5d46bb113bca3204db7678eb69900f159e8087.tar.gz |
Merge branch 'master' of https://github.com/okamstudio/godot
Diffstat (limited to 'core/input_map.cpp')
-rw-r--r-- | core/input_map.cpp | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/core/input_map.cpp b/core/input_map.cpp index 83b1e757da..24151c59c9 100644 --- a/core/input_map.cpp +++ b/core/input_map.cpp @@ -42,7 +42,7 @@ void InputMap::_bind_methods() { ObjectTypeDB::bind_method(_MD("action_add_event","action","event"),&InputMap::action_add_event); ObjectTypeDB::bind_method(_MD("action_has_event","action","event"),&InputMap::action_has_event); ObjectTypeDB::bind_method(_MD("action_erase_event","action","event"),&InputMap::action_erase_event); - ObjectTypeDB::bind_method(_MD("get_action_list","action"),&InputMap::get_action_list); + ObjectTypeDB::bind_method(_MD("get_action_list","action"),&InputMap::_get_action_list); ObjectTypeDB::bind_method(_MD("event_is_action","event","action"),&InputMap::event_is_action); ObjectTypeDB::bind_method(_MD("load_from_globals"),&InputMap::load_from_globals); @@ -162,6 +162,22 @@ void InputMap::action_erase_event(const StringName& p_action,const InputEvent& p } + +Array InputMap::_get_action_list(const StringName& p_action) { + + Array ret; + const List<InputEvent> *al = get_action_list(p_action); + if (al) { + for(const List<InputEvent>::Element *E=al->front();E;E=E->next()) { + + ret.push_back(E->get());; + } + } + + return ret; + +} + const List<InputEvent> *InputMap::get_action_list(const StringName& p_action) { const Map<StringName, Action>::Element *E=input_map.find(p_action); @@ -176,7 +192,7 @@ bool InputMap::event_is_action(const InputEvent& p_event, const StringName& p_ac Map<StringName,Action >::Element *E=input_map.find(p_action); if(!E) { - ERR_EXPLAIN("Request for unexisting InputMap action: "+String(p_action)); + ERR_EXPLAIN("Request for nonexistent InputMap action: "+String(p_action)); ERR_FAIL_COND_V(!E,false); } |