summaryrefslogtreecommitdiffstats
path: root/modules/visual_script/visual_script_flow_control.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2016-08-31 12:49:45 -0300
committerJuan Linietsky <reduzio@gmail.com>2016-08-31 12:50:46 -0300
commit5567350e1bf28ca9468b8321378f19e67ee03909 (patch)
tree0c8b87498f9fb79a36876435af367c05fb135a4a /modules/visual_script/visual_script_flow_control.h
parent028171845f457d8b7cce6d89d69c5387ff5dbafb (diff)
downloadredot-engine-5567350e1bf28ca9468b8321378f19e67ee03909.tar.gz
-Reworked constant nodes better
-Added simple switch node, removed InputEventFilter
Diffstat (limited to 'modules/visual_script/visual_script_flow_control.h')
-rw-r--r--modules/visual_script/visual_script_flow_control.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h
index 42fab2e44d..e1730a2264 100644
--- a/modules/visual_script/visual_script_flow_control.h
+++ b/modules/visual_script/visual_script_flow_control.h
@@ -197,14 +197,25 @@ public:
-class VisualScriptInputSelector : public VisualScriptNode {
+class VisualScriptSwitch : public VisualScriptNode {
- OBJ_TYPE(VisualScriptInputSelector,VisualScriptNode)
+ OBJ_TYPE(VisualScriptSwitch,VisualScriptNode)
+ struct Case {
+ Variant::Type type;
+ Variant value;
+ Case() { type=Variant::NIL; }
+ };
+ Vector<Case> case_values;
+friend class VisualScriptNodeInstanceSwitch;
protected:
+ bool _set(const StringName& p_name, const Variant& p_value);
+ bool _get(const StringName& p_name,Variant &r_ret) const;
+ void _get_property_list( List<PropertyInfo> *p_list) const;
+
static void _bind_methods();
public:
@@ -229,7 +240,7 @@ public:
virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
- VisualScriptInputSelector();
+ VisualScriptSwitch();
};