summaryrefslogtreecommitdiffstats
path: root/modules/visual_script/visual_script_flow_control.h
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2016-08-07 19:22:33 -0300
committerJuan Linietsky <reduzio@gmail.com>2016-08-07 19:22:33 -0300
commitb77200728e7f2b2dd446a9717c83a20c9aac0ce4 (patch)
treed5fd8da846cb1f86b68ecb6a1e0e4da5cae1a9dd /modules/visual_script/visual_script_flow_control.h
parent6671c6bdc78864bbe1d27c508ec9528f3b683ca2 (diff)
downloadredot-engine-b77200728e7f2b2dd446a9717c83a20c9aac0ce4.tar.gz
-Added yield nodes to visual script
-Added input selection nodes to visual script -Added script create icon for those who miss it, will only appear when it can be used.
Diffstat (limited to 'modules/visual_script/visual_script_flow_control.h')
-rw-r--r--modules/visual_script/visual_script_flow_control.h79
1 files changed, 79 insertions, 0 deletions
diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h
index 49179fd934..ed0e328629 100644
--- a/modules/visual_script/visual_script_flow_control.h
+++ b/modules/visual_script/visual_script_flow_control.h
@@ -194,6 +194,85 @@ public:
VisualScriptSequence();
};
+
+
+
+class VisualScriptInputSelector : public VisualScriptNode {
+
+ OBJ_TYPE(VisualScriptInputSelector,VisualScriptNode)
+
+
+
+protected:
+
+ static void _bind_methods();
+public:
+
+ virtual int get_output_sequence_port_count() const;
+ virtual bool has_input_sequence_port() const;
+
+
+ virtual String get_output_sequence_port_text(int p_port) const;
+
+
+ virtual int get_input_value_port_count() const;
+ virtual int get_output_value_port_count() const;
+
+
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+
+ virtual String get_caption() const;
+ virtual String get_text() const;
+ virtual String get_category() const { return "flow_control"; }
+
+ virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+
+
+ VisualScriptInputSelector();
+};
+
+
+
+
+class VisualScriptInputFilter : public VisualScriptNode {
+
+ OBJ_TYPE(VisualScriptInputFilter,VisualScriptNode)
+
+ Vector<InputEvent> filters;
+
+
+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;
+
+public:
+
+ virtual int get_output_sequence_port_count() const;
+ virtual bool has_input_sequence_port() const;
+
+
+ virtual String get_output_sequence_port_text(int p_port) const;
+
+
+ virtual int get_input_value_port_count() const;
+ virtual int get_output_value_port_count() const;
+
+
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const;
+
+ virtual String get_caption() const;
+ virtual String get_text() const;
+ virtual String get_category() const { return "flow_control"; }
+
+ virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+
+
+ VisualScriptInputFilter();
+};
+
void register_visual_script_flow_control_nodes();