mirror of
https://github.com/godotengine/godot.git
synced 2025-10-19 16:03:29 +00:00
Added ability to create custom nodes from script.
This commit is contained in:
parent
0b8f0670c5
commit
cfbdeeffec
5 changed files with 320 additions and 0 deletions
|
@ -559,6 +559,57 @@ public:
|
|||
};
|
||||
|
||||
|
||||
class VisualScriptCustomNode: public VisualScriptNode {
|
||||
|
||||
OBJ_TYPE(VisualScriptCustomNode,VisualScriptNode)
|
||||
|
||||
|
||||
protected:
|
||||
|
||||
virtual bool _use_builtin_script() const { return true; }
|
||||
|
||||
static void _bind_methods();
|
||||
public:
|
||||
|
||||
enum StartMode { //replicated for step
|
||||
START_MODE_BEGIN_SEQUENCE,
|
||||
START_MODE_CONTINUE_SEQUENCE,
|
||||
START_MODE_RESUME_YIELD
|
||||
};
|
||||
|
||||
enum { //replicated for step
|
||||
STEP_SHIFT=1<<24,
|
||||
STEP_MASK=STEP_SHIFT-1,
|
||||
STEP_PUSH_STACK_BIT=STEP_SHIFT, //push bit to stack
|
||||
STEP_GO_BACK_BIT=STEP_SHIFT<<1, //go back to previous node
|
||||
STEP_NO_ADVANCE_BIT=STEP_SHIFT<<2, //do not advance past this node
|
||||
STEP_EXIT_FUNCTION_BIT=STEP_SHIFT<<3, //return from function
|
||||
STEP_YIELD_BIT=STEP_SHIFT<<4, //yield (will find VisualScriptFunctionState state in first working memory)
|
||||
};
|
||||
|
||||
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;
|
||||
|
||||
virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
|
||||
|
||||
VisualScriptCustomNode();
|
||||
};
|
||||
|
||||
|
||||
void register_visual_script_nodes();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue