summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorsanikoyes <sanikoyes@163.com>2015-01-20 20:01:02 +0800
committersanikoyes <sanikoyes@163.com>2015-01-20 20:01:02 +0800
commit317c496f5c1aa25af4144ea04cef4ba6fe420830 (patch)
treeabaaa1361c443cd4f0eddfe499a714f975d57691 /core
parenta0511ed59a0e03232bf3abb49b3c916591453aef (diff)
Add InputEvent::ACTION get/set support for variant
Add action_press/action_release method bind
Diffstat (limited to 'core')
-rw-r--r--core/os/input.cpp2
-rw-r--r--core/variant_op.cpp24
2 files changed, 26 insertions, 0 deletions
diff --git a/core/os/input.cpp b/core/os/input.cpp
index a827e75896..5d4b3a834d 100644
--- a/core/os/input.cpp
+++ b/core/os/input.cpp
@@ -62,6 +62,8 @@ void Input::_bind_methods() {
ObjectTypeDB::bind_method(_MD("set_mouse_mode","mode"),&Input::set_mouse_mode);
ObjectTypeDB::bind_method(_MD("get_mouse_mode"),&Input::get_mouse_mode);
ObjectTypeDB::bind_method(_MD("warp_mouse_pos","to"),&Input::warp_mouse_pos);
+ ObjectTypeDB::bind_method(_MD("action_press"),&Input::action_press);
+ ObjectTypeDB::bind_method(_MD("action_release"),&Input::action_release);
BIND_CONSTANT( MOUSE_MODE_VISIBLE );
BIND_CONSTANT( MOUSE_MODE_HIDDEN );
diff --git a/core/variant_op.cpp b/core/variant_op.cpp
index ec43b1275c..fbb5e2631d 100644
--- a/core/variant_op.cpp
+++ b/core/variant_op.cpp
@@ -1687,6 +1687,19 @@ void Variant::set(const Variant& p_index, const Variant& p_value, bool *r_valid)
return;
}
}
+ if (ie.type == InputEvent::ACTION) {
+
+ if (str =="action") {
+ valid=true;
+ ie.action.action=p_value;
+ return;
+ }
+ else if (str == "pressed") {
+ valid=true;
+ ie.action.pressed=p_value;
+ return;
+ }
+ }
} break;
case DICTIONARY: {
@@ -2365,6 +2378,17 @@ Variant Variant::get(const Variant& p_index, bool *r_valid) const {
return Vector2(ie.screen_drag.speed_x,ie.screen_drag.speed_y);
}
}
+ if (ie.type == InputEvent::ACTION) {
+
+ if (str =="action") {
+ valid=true;
+ return ie.action.action;
+ }
+ else if (str == "pressed") {
+ valid=true;
+ ie.action.pressed;
+ }
+ }
} break;
case DICTIONARY: {