summaryrefslogtreecommitdiff
path: root/modules/visual_script
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2017-03-05 16:44:50 +0100
committerRémi Verschelde <rverschelde@gmail.com>2017-03-05 16:44:50 +0100
commit5dbf1809c6e3e905b94b8764e99491e608122261 (patch)
tree5e5a5360db15d86d59ec8c6e4f7eb511388c5a9a /modules/visual_script
parent45438e9918d421b244bfd7776a30e67dc7f2d3e3 (diff)
A Whole New World (clang-format edition)
I can show you the code Pretty, with proper whitespace Tell me, coder, now when did You last write readable code? I can open your eyes Make you see your bad indent Force you to respect the style The core devs agreed upon A whole new world A new fantastic code format A de facto standard With some sugar Enforced with clang-format A whole new world A dazzling style we all dreamed of And when we read it through It's crystal clear That now we're in a whole new world of code
Diffstat (limited to 'modules/visual_script')
-rw-r--r--modules/visual_script/register_types.cpp26
-rw-r--r--modules/visual_script/visual_script.cpp1841
-rw-r--r--modules/visual_script/visual_script.h435
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.cpp713
-rw-r--r--modules/visual_script/visual_script_builtin_funcs.h20
-rw-r--r--modules/visual_script/visual_script_editor.cpp2441
-rw-r--r--modules/visual_script/visual_script_editor.h91
-rw-r--r--modules/visual_script/visual_script_expression.cpp1158
-rw-r--r--modules/visual_script/visual_script_expression.h107
-rw-r--r--modules/visual_script/visual_script_flow_control.cpp1235
-rw-r--r--modules/visual_script/visual_script_flow_control.h138
-rw-r--r--modules/visual_script/visual_script_func_nodes.cpp1611
-rw-r--r--modules/visual_script/visual_script_func_nodes.h113
-rw-r--r--modules/visual_script/visual_script_nodes.cpp2142
-rw-r--r--modules/visual_script/visual_script_nodes.h387
-rw-r--r--modules/visual_script/visual_script_yield_nodes.cpp355
-rw-r--r--modules/visual_script/visual_script_yield_nodes.h39
17 files changed, 5686 insertions, 7166 deletions
diff --git a/modules/visual_script/register_types.cpp b/modules/visual_script/register_types.cpp
index 5fe87a4956..b05ea716ed 100644
--- a/modules/visual_script/register_types.cpp
+++ b/modules/visual_script/register_types.cpp
@@ -28,23 +28,21 @@
/*************************************************************************/
#include "register_types.h"
-#include "visual_script.h"
-#include "visual_script_editor.h"
#include "io/resource_loader.h"
-#include "visual_script_nodes.h"
-#include "visual_script_func_nodes.h"
+#include "visual_script.h"
#include "visual_script_builtin_funcs.h"
+#include "visual_script_editor.h"
+#include "visual_script_expression.h"
#include "visual_script_flow_control.h"
+#include "visual_script_func_nodes.h"
+#include "visual_script_nodes.h"
#include "visual_script_yield_nodes.h"
-#include "visual_script_expression.h"
-
-
-VisualScriptLanguage *visual_script_language=NULL;
+VisualScriptLanguage *visual_script_language = NULL;
void register_visual_script_types() {
- visual_script_language=memnew( VisualScriptLanguage );
+ visual_script_language = memnew(VisualScriptLanguage);
//script_language_gd->init();
ScriptServer::register_language(visual_script_language);
@@ -78,7 +76,6 @@ void register_visual_script_types() {
ClassDB::register_class<VisualScriptPreload>();
ClassDB::register_class<VisualScriptTypeCast>();
-
ClassDB::register_class<VisualScriptFunctionCall>();
ClassDB::register_class<VisualScriptPropertySet>();
ClassDB::register_class<VisualScriptPropertyGet>();
@@ -91,14 +88,13 @@ void register_visual_script_types() {
ClassDB::register_class<VisualScriptIterator>();
ClassDB::register_class<VisualScriptSequence>();
ClassDB::register_class<VisualScriptInputFilter>();
- ClassDB::register_class<VisualScriptSwitch >();
+ ClassDB::register_class<VisualScriptSwitch>();
ClassDB::register_class<VisualScriptYield>();
ClassDB::register_class<VisualScriptYieldSignal>();
ClassDB::register_class<VisualScriptBuiltinFunc>();
-
ClassDB::register_class<VisualScriptExpression>();
register_visual_script_nodes();
@@ -111,13 +107,10 @@ void register_visual_script_types() {
#ifdef TOOLS_ENABLED
VisualScriptEditor::register_editor();
#endif
-
-
}
void unregister_visual_script_types() {
-
unregister_visual_script_nodes();
ScriptServer::unregister_language(visual_script_language);
@@ -126,6 +119,5 @@ void unregister_visual_script_types() {
VisualScriptEditor::free_clipboard();
#endif
if (visual_script_language)
- memdelete( visual_script_language );
-
+ memdelete(visual_script_language);
}
diff --git a/modules/visual_script/visual_script.cpp b/modules/visual_script/visual_script.cpp
index 9f742591d5..2b884c34fb 100644
--- a/modules/visual_script/visual_script.cpp
+++ b/modules/visual_script/visual_script.cpp
@@ -28,16 +28,14 @@
/*************************************************************************/
#include "visual_script.h"
-#include "visual_script_nodes.h"
-#include "scene/main/node.h"
-#include "os/os.h"
#include "global_config.h"
-
-
+#include "os/os.h"
+#include "scene/main/node.h"
+#include "visual_script_nodes.h"
//used by editor, this is not really saved
void VisualScriptNode::set_breakpoint(bool p_breakpoint) {
- breakpoint=p_breakpoint;
+ breakpoint = p_breakpoint;
}
bool VisualScriptNode::is_breakpoint() const {
@@ -47,76 +45,68 @@ bool VisualScriptNode::is_breakpoint() const {
void VisualScriptNode::_notification(int p_what) {
- if (p_what==NOTIFICATION_POSTINITIALIZE) {
+ if (p_what == NOTIFICATION_POSTINITIALIZE) {
int dvc = get_input_value_port_count();
- for(int i=0;i<dvc;i++) {
+ for (int i = 0; i < dvc; i++) {
Variant::Type expected = get_input_value_port_info(i).type;
Variant::CallError ce;
- default_input_values.push_back(Variant::construct(expected,NULL,0,ce,false));
+ default_input_values.push_back(Variant::construct(expected, NULL, 0, ce, false));
}
}
}
-void VisualScriptNode::ports_changed_notify(){
+void VisualScriptNode::ports_changed_notify() {
-
- default_input_values.resize( MAX(default_input_values.size(),get_input_value_port_count()) ); //let it grow as big as possible, we don't want to lose values on resize
+ default_input_values.resize(MAX(default_input_values.size(), get_input_value_port_count())); //let it grow as big as possible, we don't want to lose values on resize
emit_signal("ports_changed");
-
}
-void VisualScriptNode::set_default_input_value(int p_port,const Variant& p_value) {
+void VisualScriptNode::set_default_input_value(int p_port, const Variant &p_value) {
- ERR_FAIL_INDEX(p_port,default_input_values.size());
+ ERR_FAIL_INDEX(p_port, default_input_values.size());
- default_input_values[p_port]=p_value;
+ default_input_values[p_port] = p_value;
#ifdef TOOLS_ENABLED
- for (Set<VisualScript*>::Element *E=scripts_used.front();E;E=E->next()) {
+ for (Set<VisualScript *>::Element *E = scripts_used.front(); E; E = E->next()) {
E->get()->set_edited(true);
}
#endif
-
}
Variant VisualScriptNode::get_default_input_value(int p_port) const {
- ERR_FAIL_INDEX_V(p_port,default_input_values.size(),Variant());
+ ERR_FAIL_INDEX_V(p_port, default_input_values.size(), Variant());
return default_input_values[p_port];
}
void VisualScriptNode::_set_default_input_values(Array p_values) {
-
- default_input_values=p_values;
+ default_input_values = p_values;
}
-
void VisualScriptNode::validate_input_default_values() {
-
-
default_input_values.resize(get_input_value_port_count());
//actually validate on save
- for(int i=0;i<get_input_value_port_count();i++) {
+ for (int i = 0; i < get_input_value_port_count(); i++) {
Variant::Type expected = get_input_value_port_info(i).type;
-
- if (expected==Variant::NIL || expected==default_input_values[i].get_type()) {
+ if (expected == Variant::NIL || expected == default_input_values[i].get_type()) {
continue;
- } else {
+ } else {
//not the same, reconvert
Variant::CallError ce;
Variant existing = default_input_values[i];
- const Variant *existingp=&existing;
- default_input_values[i] = Variant::construct(expected,&existingp,1,ce,false);
- if (ce.error!=Variant::CallError::CALL_OK) {
+ const Variant *existingp = &existing;
+ default_input_values[i] = Variant::construct(expected, &existingp, 1, ce, false);
+ if (ce.error != Variant::CallError::CALL_OK) {
//could not convert? force..
- default_input_values[i] = Variant::construct(expected,NULL,0,ce,false);
+ default_input_values[i] = Variant::construct(expected, NULL, 0, ce, false);
}
}
}
@@ -129,29 +119,27 @@ Array VisualScriptNode::_get_default_input_values() const {
return default_input_values;
}
-
-
void VisualScriptNode::_bind_methods() {
- ClassDB::bind_method(D_METHOD("get_visual_script:VisualScript"),&VisualScriptNode::get_visual_script);
- ClassDB::bind_method(D_METHOD("set_default_input_value","port_idx","value:Variant"),&VisualScriptNode::set_default_input_value);
- ClassDB::bind_method(D_METHOD("get_default_input_value:Variant","port_idx"),&VisualScriptNode::get_default_input_value);
- ClassDB::bind_method(D_METHOD("_set_default_input_values","values"),&VisualScriptNode::_set_default_input_values);
- ClassDB::bind_method(D_METHOD("_get_default_input_values"),&VisualScriptNode::_get_default_input_values);
+ ClassDB::bind_method(D_METHOD("get_visual_script:VisualScript"), &VisualScriptNode::get_visual_script);
+ ClassDB::bind_method(D_METHOD("set_default_input_value", "port_idx", "value:Variant"), &VisualScriptNode::set_default_input_value);
+ ClassDB::bind_method(D_METHOD("get_default_input_value:Variant", "port_idx"), &VisualScriptNode::get_default_input_value);
+ ClassDB::bind_method(D_METHOD("_set_default_input_values", "values"), &VisualScriptNode::_set_default_input_values);
+ ClassDB::bind_method(D_METHOD("_get_default_input_values"), &VisualScriptNode::_get_default_input_values);
- ADD_PROPERTY(PropertyInfo(Variant::ARRAY,"_default_input_values",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_default_input_values","_get_default_input_values");
+ ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "_default_input_values", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_default_input_values", "_get_default_input_values");
ADD_SIGNAL(MethodInfo("ports_changed"));
}
-VisualScriptNode::TypeGuess VisualScriptNode::guess_output_type(TypeGuess* p_inputs,int p_output) const {
+VisualScriptNode::TypeGuess VisualScriptNode::guess_output_type(TypeGuess *p_inputs, int p_output) const {
PropertyInfo pinfo = get_output_value_port_info(p_output);
TypeGuess tg;
- tg.type=pinfo.type;
- if (pinfo.hint==PROPERTY_HINT_RESOURCE_TYPE) {
- tg.GDCLASS=pinfo.hint_string;
+ tg.type = pinfo.type;
+ if (pinfo.hint == PROPERTY_HINT_RESOURCE_TYPE) {
+ tg.GDCLASS = pinfo.hint_string;
}
return tg;
@@ -166,7 +154,7 @@ Ref<VisualScript> VisualScriptNode::get_visual_script() const {
}
VisualScriptNode::VisualScriptNode() {
- breakpoint=false;
+ breakpoint = false;
}
////////////////
@@ -175,8 +163,8 @@ VisualScriptNode::VisualScriptNode() {
VisualScriptNodeInstance::VisualScriptNodeInstance() {
- sequence_outputs=NULL;
- input_ports=NULL;
+ sequence_outputs = NULL;
+ input_ports = NULL;
}
VisualScriptNodeInstance::~VisualScriptNodeInstance() {
@@ -192,44 +180,41 @@ VisualScriptNodeInstance::~VisualScriptNodeInstance() {
if (output_ports) {
memdelete_arr(output_ports);
}
-
}
-void VisualScript::add_function(const StringName& p_name) {
+void VisualScript::add_function(const StringName &p_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!String(p_name).is_valid_identifier());
ERR_FAIL_COND(functions.has(p_name));
- functions[p_name]=Function();
- functions[p_name].scroll=Vector2(-50,-100);
+ functions[p_name] = Function();
+ functions[p_name].scroll = Vector2(-50, -100);
}
-bool VisualScript::has_function(const StringName& p_name) const {
+bool VisualScript::has_function(const StringName &p_name) const {
return functions.has(p_name);
-
}
-void VisualScript::remove_function(const StringName& p_name) {
+void VisualScript::remove_function(const StringName &p_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_name));
- for (Map<int,Function::NodeData>::Element *E=functions[p_name].nodes.front();E;E=E->next()) {
+ for (Map<int, Function::NodeData>::Element *E = functions[p_name].nodes.front(); E; E = E->next()) {
- E->get().node->disconnect("ports_changed",this,"_node_ports_changed");
+ E->get().node->disconnect("ports_changed", this, "_node_ports_changed");
E->get().node->scripts_used.erase(this);
}
functions.erase(p_name);
-
}
-void VisualScript::rename_function(const StringName& p_name,const StringName& p_new_name) {
+void VisualScript::rename_function(const StringName &p_name, const StringName &p_new_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_name));
- if (p_new_name==p_name)
+ if (p_new_name == p_name)
return;
ERR_FAIL_COND(!String(p_new_name).is_valid_identifier());
@@ -238,60 +223,51 @@ void VisualScript::rename_function(const StringName& p_name,const StringName& p_
ERR_FAIL_COND(variables.has(p_new_name));
ERR_FAIL_COND(custom_signals.has(p_new_name));
- functions[p_new_name]=functions[p_name];
+ functions[p_new_name] = functions[p_name];
functions.erase(p_name);
-
}
-void VisualScript::set_function_scroll(const StringName& p_name, const Vector2& p_scroll) {
+void VisualScript::set_function_scroll(const StringName &p_name, const Vector2 &p_scroll) {
ERR_FAIL_COND(!functions.has(p_name));
- functions[p_name].scroll=p_scroll;
-
+ functions[p_name].scroll = p_scroll;
}
-Vector2 VisualScript::get_function_scroll(const StringName& p_name) const {
+Vector2 VisualScript::get_function_scroll(const StringName &p_name) const {
- ERR_FAIL_COND_V(!functions.has(p_name),Vector2());
+ ERR_FAIL_COND_V(!functions.has(p_name), Vector2());
return functions[p_name].scroll;
-
}
-
void VisualScript::get_function_list(List<StringName> *r_functions) const {
- for (const Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (const Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
r_functions->push_back(E->key());
}
r_functions->sort_custom<StringName::AlphCompare>();
-
}
-int VisualScript::get_function_node_id(const StringName& p_name) const {
+int VisualScript::get_function_node_id(const StringName &p_name) const {
- ERR_FAIL_COND_V(!functions.has(p_name),-1);
+ ERR_FAIL_COND_V(!functions.has(p_name), -1);
return functions[p_name].function_id;
-
}
-
void VisualScript::_node_ports_changed(int p_id) {
-
-
StringName function;
- for (Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
if (E->get().nodes.has(p_id)) {
- function=E->key();
+ function = E->key();
break;
}
}
- ERR_FAIL_COND(function==StringName());
+ ERR_FAIL_COND(function == StringName());
Function &func = functions[function];
Ref<VisualScriptNode> vsn = func.nodes[p_id].node;
@@ -305,18 +281,18 @@ void VisualScript::_node_ports_changed(int p_id) {
{
List<SequenceConnection> to_remove;
- for (Set<SequenceConnection>::Element *E=func.sequence_connections.front();E;E=E->next()) {
- if (E->get().from_node==p_id && E->get().from_output>=vsn->get_output_sequence_port_count()) {
+ for (Set<SequenceConnection>::Element *E = func.sequence_connections.front(); E; E = E->next()) {
+ if (E->get().from_node == p_id && E->get().from_output >= vsn->get_output_sequence_port_count()) {
to_remove.push_back(E->get());
}
- if (E->get().to_node==p_id && !vsn->has_input_sequence_port()) {
+ if (E->get().to_node == p_id && !vsn->has_input_sequence_port()) {
to_remove.push_back(E->get());
}
}
- while(to_remove.size()) {
+ while (to_remove.size()) {
func.sequence_connections.erase(to_remove.front()->get());
to_remove.pop_front();
}
@@ -326,17 +302,16 @@ void VisualScript::_node_ports_changed(int p_id) {
List<DataConnection> to_remove;
-
- for (Set<DataConnection>::Element *E=func.data_connections.front();E;E=E->next()) {
- if (E->get().from_node==p_id && E->get().from_port>=vsn->get_output_value_port_count()) {
+ for (Set<DataConnection>::Element *E = func.data_connections.front(); E; E = E->next()) {
+ if (E->get().from_node == p_id && E->get().from_port >= vsn->get_output_value_port_count()) {
to_remove.push_back(E->get());
}
- if (E->get().to_node==p_id && E->get().to_port>=vsn->get_input_value_port_count()) {
+ if (E->get().to_node == p_id && E->get().to_port >= vsn->get_input_value_port_count()) {
to_remove.push_back(E->get());
}
}
- while(to_remove.size()) {
+ while (to_remove.size()) {
func.data_connections.erase(to_remove.front()->get());
to_remove.pop_front();
}
@@ -344,48 +319,44 @@ void VisualScript::_node_ports_changed(int p_id) {
#ifdef TOOLS_ENABLED
set_edited(true); //something changed, let's set as edited
- emit_signal("node_ports_changed",function,p_id);
+ emit_signal("node_ports_changed", function, p_id);
#endif
}
-void VisualScript::add_node(const StringName& p_func,int p_id, const Ref<VisualScriptNode>& p_node, const Point2 &p_pos) {
+void VisualScript::add_node(const StringName &p_func, int p_id, const Ref<VisualScriptNode> &p_node, const Point2 &p_pos) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_func));
-
- for (Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
ERR_FAIL_COND(E->get().nodes.has(p_id)); //id can exist only one in script, even for different functions
}
Function &func = functions[p_func];
-
if (p_node->cast_to<VisualScriptFunction>()) {
//the function indeed
ERR_EXPLAIN("A function node already has been set here.");
- ERR_FAIL_COND(func.function_id>=0);
+ ERR_FAIL_COND(func.function_id >= 0);
- func.function_id=p_id;
+ func.function_id = p_id;
}
Function::NodeData nd;
- nd.node=p_node;
- nd.pos=p_pos;
+ nd.node = p_node;
+ nd.pos = p_pos;
Ref<VisualScriptNode> vsn = p_node;
- vsn->connect("ports_changed",this,"_node_ports_changed",varray(p_id));
+ vsn->connect("ports_changed", this, "_node_ports_changed", varray(p_id));
vsn->scripts_used.insert(this);
-
-
- func.nodes[p_id]=nd;
+ func.nodes[p_id] = nd;
}
-void VisualScript::remove_node(const StringName& p_func,int p_id){
+void VisualScript::remove_node(const StringName &p_func, int p_id) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
@@ -393,13 +364,13 @@ void VisualScript::remove_node(const StringName& p_func,int p_id){
{
List<SequenceConnection> to_remove;
- for (Set<SequenceConnection>::Element *E=func.sequence_connections.front();E;E=E->next()) {
- if (E->get().from_node==p_id || E->get().to_node==p_id) {
+ for (Set<SequenceConnection>::Element *E = func.sequence_connections.front(); E; E = E->next()) {
+ if (E->get().from_node == p_id || E->get().to_node == p_id) {
to_remove.push_back(E->get());
}
}
- while(to_remove.size()) {
+ while (to_remove.size()) {
func.sequence_connections.erase(to_remove.front()->get());
to_remove.pop_front();
}
@@ -409,254 +380,239 @@ void VisualScript::remove_node(const StringName& p_func,int p_id){
List<DataConnection> to_remove;
-
- for (Set<DataConnection>::Element *E=func.data_connections.front();E;E=E->next()) {
- if (E->get().from_node==p_id || E->get().to_node==p_id) {
+ for (Set<DataConnection>::Element *E = func.data_connections.front(); E; E = E->next()) {
+ if (E->get().from_node == p_id || E->get().to_node == p_id) {
to_remove.push_back(E->get());
}
}
- while(to_remove.size()) {
+ while (to_remove.size()) {
func.data_connections.erase(to_remove.front()->get());
to_remove.pop_front();
}
}
if (func.nodes[p_id].node->cast_to<VisualScriptFunction>()) {
- func.function_id=-1; //revert to invalid
+ func.function_id = -1; //revert to invalid
}
- func.nodes[p_id].node->disconnect("ports_changed",this,"_node_ports_changed");
+ func.nodes[p_id].node->disconnect("ports_changed", this, "_node_ports_changed");
func.nodes[p_id].node->scripts_used.erase(this);
func.nodes.erase(p_id);
-
-
}
+bool VisualScript::has_node(const StringName &p_func, int p_id) const {
-bool VisualScript::has_node(const StringName& p_func,int p_id) const {
-
- ERR_FAIL_COND_V(!functions.has(p_func),false);
+ ERR_FAIL_COND_V(!functions.has(p_func), false);
const Function &func = functions[p_func];
return func.nodes.has(p_id);
}
-Ref<VisualScriptNode> VisualScript::get_node(const StringName& p_func,int p_id) const{
+Ref<VisualScriptNode> VisualScript::get_node(const StringName &p_func, int p_id) const {
- ERR_FAIL_COND_V(!functions.has(p_func),Ref<VisualScriptNode>());
+ ERR_FAIL_COND_V(!functions.has(p_func), Ref<VisualScriptNode>());
const Function &func = functions[p_func];
- ERR_FAIL_COND_V(!func.nodes.has(p_id),Ref<VisualScriptNode>());
+ ERR_FAIL_COND_V(!func.nodes.has(p_id), Ref<VisualScriptNode>());
return func.nodes[p_id].node;
}
-void VisualScript::set_node_pos(const StringName& p_func,int p_id,const Point2& p_pos) {
+void VisualScript::set_node_pos(const StringName &p_func, int p_id, const Point2 &p_pos) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
ERR_FAIL_COND(!func.nodes.has(p_id));
- func.nodes[p_id].pos=p_pos;
+ func.nodes[p_id].pos = p_pos;
}
-Point2 VisualScript::get_node_pos(const StringName& p_func,int p_id) const{
+Point2 VisualScript::get_node_pos(const StringName &p_func, int p_id) const {
- ERR_FAIL_COND_V(!functions.has(p_func),Point2());
+ ERR_FAIL_COND_V(!functions.has(p_func), Point2());
const Function &func = functions[p_func];
- ERR_FAIL_COND_V(!func.nodes.has(p_id),Point2());
+ ERR_FAIL_COND_V(!func.nodes.has(p_id), Point2());
return func.nodes[p_id].pos;
}
-
-void VisualScript::get_node_list(const StringName& p_func,List<int> *r_nodes) const{
+void VisualScript::get_node_list(const StringName &p_func, List<int> *r_nodes) const {
ERR_FAIL_COND(!functions.has(p_func));
const Function &func = functions[p_func];
- for (const Map<int,Function::NodeData>::Element *E=func.nodes.front();E;E=E->next()) {
+ for (const Map<int, Function::NodeData>::Element *E = func.nodes.front(); E; E = E->next()) {
r_nodes->push_back(E->key());
}
-
}
+void VisualScript::sequence_connect(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node) {
-void VisualScript::sequence_connect(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node){
-
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
-
SequenceConnection sc;
- sc.from_node=p_from_node;
- sc.from_output=p_from_output;
- sc.to_node=p_to_node;
+ sc.from_node = p_from_node;
+ sc.from_output = p_from_output;
+ sc.to_node = p_to_node;
ERR_FAIL_COND(func.sequence_connections.has(sc));
func.sequence_connections.insert(sc);
-
}
-void VisualScript::sequence_disconnect(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node){
+void VisualScript::sequence_disconnect(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node) {
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
SequenceConnection sc;
- sc.from_node=p_from_node;
- sc.from_output=p_from_output;
- sc.to_node=p_to_node;
+ sc.from_node = p_from_node;
+ sc.from_output = p_from_output;
+ sc.to_node = p_to_node;
ERR_FAIL_COND(!func.sequence_connections.has(sc));
func.sequence_connections.erase(sc);
-
}
-bool VisualScript::has_sequence_connection(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node) const{
+bool VisualScript::has_sequence_connection(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node) const {
- ERR_FAIL_COND_V(!functions.has(p_func),false);
+ ERR_FAIL_COND_V(!functions.has(p_func), false);
const Function &func = functions[p_func];
SequenceConnection sc;
- sc.from_node=p_from_node;
- sc.from_output=p_from_output;
- sc.to_node=p_to_node;
+ sc.from_node = p_from_node;
+ sc.from_output = p_from_output;
+ sc.to_node = p_to_node;
return func.sequence_connections.has(sc);
}
-void VisualScript::get_sequence_connection_list(const StringName& p_func,List<SequenceConnection> *r_connection) const {
+void VisualScript::get_sequence_connection_list(const StringName &p_func, List<SequenceConnection> *r_connection) const {
ERR_FAIL_COND(!functions.has(p_func));
const Function &func = functions[p_func];
- for (const Set<SequenceConnection>::Element *E=func.sequence_connections.front();E;E=E->next()) {
+ for (const Set<SequenceConnection>::Element *E = func.sequence_connections.front(); E; E = E->next()) {
r_connection->push_back(E->get());
}
}
+void VisualScript::data_connect(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
-void VisualScript::data_connect(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port) {
-
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
DataConnection dc;
- dc.from_node=p_from_node;
- dc.from_port=p_from_port;
- dc.to_node=p_to_node;
- dc.to_port=p_to_port;
+ dc.from_node = p_from_node;
+ dc.from_port = p_from_port;
+ dc.to_node = p_to_node;
+ dc.to_port = p_to_port;
- ERR_FAIL_COND( func.data_connections.has(dc));
+ ERR_FAIL_COND(func.data_connections.has(dc));
func.data_connections.insert(dc);
}
-void VisualScript::data_disconnect(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port) {
+void VisualScript::data_disconnect(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port) {
ERR_FAIL_COND(!functions.has(p_func));
Function &func = functions[p_func];
DataConnection dc;
- dc.from_node=p_from_node;
- dc.from_port=p_from_port;
- dc.to_node=p_to_node;
- dc.to_port=p_to_port;
+ dc.from_node = p_from_node;
+ dc.from_port = p_from_port;
+ dc.to_node = p_to_node;
+ dc.to_port = p_to_port;
- ERR_FAIL_COND( !func.data_connections.has(dc));
+ ERR_FAIL_COND(!func.data_connections.has(dc));
func.data_connections.erase(dc);
-
}
-bool VisualScript::has_data_connection(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port) const {
+bool VisualScript::has_data_connection(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port) const {
- ERR_FAIL_COND_V(!functions.has(p_func),false);
+ ERR_FAIL_COND_V(!functions.has(p_func), false);
const Function &func = functions[p_func];
DataConnection dc;
- dc.from_node=p_from_node;
- dc.from_port=p_from_port;
- dc.to_node=p_to_node;
- dc.to_port=p_to_port;
+ dc.from_node = p_from_node;
+ dc.from_port = p_from_port;
+ dc.to_node = p_to_node;
+ dc.to_port = p_to_port;
return func.data_connections.has(dc);
-
}
-bool VisualScript::is_input_value_port_connected(const StringName& p_func,int p_node,int p_port) const {
+bool VisualScript::is_input_value_port_connected(const StringName &p_func, int p_node, int p_port) const {
- ERR_FAIL_COND_V(!functions.has(p_func),false);
+ ERR_FAIL_COND_V(!functions.has(p_func), false);
const Function &func = functions[p_func];
- for (const Set<DataConnection>::Element *E=func.data_connections.front();E;E=E->next()) {
- if (E->get().to_node==p_node && E->get().to_port==p_port)
+ for (const Set<DataConnection>::Element *E = func.data_connections.front(); E; E = E->next()) {
+ if (E->get().to_node == p_node && E->get().to_port == p_port)
return true;
}
return false;
}
-bool VisualScript::get_input_value_port_connection_source(const StringName& p_func,int p_node,int p_port,int *r_node,int *r_port) const {
+bool VisualScript::get_input_value_port_connection_source(const StringName &p_func, int p_node, int p_port, int *r_node, int *r_port) const {
- ERR_FAIL_COND_V(!functions.has(p_func),false);
+ ERR_FAIL_COND_V(!functions.has(p_func), false);
const Function &func = functions[p_func];
- for (const Set<DataConnection>::Element *E=func.data_connections.front();E;E=E->next()) {
- if (E->get().to_node==p_node && E->get().to_port==p_port) {
- *r_node=E->get().from_node;
- *r_port=E->get().from_port;
+ for (const Set<DataConnection>::Element *E = func.data_connections.front(); E; E = E->next()) {
+ if (E->get().to_node == p_node && E->get().to_port == p_port) {
+ *r_node = E->get().from_node;
+ *r_port = E->get().from_port;
return true;
}
}
return false;
-
}
-void VisualScript::get_data_connection_list(const StringName& p_func,List<DataConnection> *r_connection) const {
+void VisualScript::get_data_connection_list(const StringName &p_func, List<DataConnection> *r_connection) const {
ERR_FAIL_COND(!functions.has(p_func));
const Function &func = functions[p_func];
- for (const Set<DataConnection>::Element *E=func.data_connections.front();E;E=E->next()) {
+ for (const Set<DataConnection>::Element *E = func.data_connections.front(); E; E = E->next()) {
r_connection->push_back(E->get());
}
}
-void VisualScript::add_variable(const StringName& p_name,const Variant& p_default_value,bool p_export) {
+void VisualScript::add_variable(const StringName &p_name, const Variant &p_default_value, bool p_export) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!String(p_name).is_valid_identifier());
ERR_FAIL_COND(variables.has(p_name));
Variable v;
- v.default_value=p_default_value;
- v.info.type=p_default_value.get_type();
- v.info.name=p_name;
- v.info.hint=PROPERTY_HINT_NONE;
- v._export=p_export;
+ v.default_value = p_default_value;
+ v.info.type = p_default_value.get_type();
+ v.info.name = p_name;
+ v.info.hint = PROPERTY_HINT_NONE;
+ v._export = p_export;
- variables[p_name]=v;
+ variables[p_name] = v;
#ifdef TOOLS_ENABLED
_update_placeholders();
#endif
-
}
-bool VisualScript::has_variable(const StringName& p_name) const {
+bool VisualScript::has_variable(const StringName &p_name) const {
return variables.has(p_name);
}
-void VisualScript::remove_variable(const StringName& p_name) {
+void VisualScript::remove_variable(const StringName &p_name) {
ERR_FAIL_COND(!variables.has(p_name));
variables.erase(p_name);
@@ -666,111 +622,101 @@ void VisualScript::remove_variable(const StringName& p_name) {
#endif
}
-void VisualScript::set_variable_default_value(const StringName& p_name,const Variant& p_value){
+void VisualScript::set_variable_default_value(const StringName &p_name, const Variant &p_value) {
ERR_FAIL_COND(!variables.has(p_name));
- variables[p_name].default_value=p_value;
+ variables[p_name].default_value = p_value;
#ifdef TOOLS_ENABLED
_update_placeholders();
#endif
-
-
}
-Variant VisualScript::get_variable_default_value(const StringName& p_name) const{
+Variant VisualScript::get_variable_default_value(const StringName &p_name) const {
- ERR_FAIL_COND_V(!variables.has(p_name),Variant());
+ ERR_FAIL_COND_V(!variables.has(p_name), Variant());
return variables[p_name].default_value;
-
}
-void VisualScript::set_variable_info(const StringName& p_name,const PropertyInfo& p_info){
+void VisualScript::set_variable_info(const StringName &p_name, const PropertyInfo &p_info) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!variables.has(p_name));
- variables[p_name].info=p_info;
- variables[p_name].info.name=p_name;
+ variables[p_name].info = p_info;
+ variables[p_name].info.name = p_name;
#ifdef TOOLS_ENABLED
_update_placeholders();
#endif
-
-
}
-PropertyInfo VisualScript::get_variable_info(const StringName& p_name) const{
+PropertyInfo VisualScript::get_variable_info(const StringName &p_name) const {
- ERR_FAIL_COND_V(!variables.has(p_name),PropertyInfo());
+ ERR_FAIL_COND_V(!variables.has(p_name), PropertyInfo());
return variables[p_name].info;
}
-void VisualScript::set_variable_export(const StringName& p_name,bool p_export) {
+void VisualScript::set_variable_export(const StringName &p_name, bool p_export) {
ERR_FAIL_COND(!variables.has(p_name));
- variables[p_name]._export=p_export;
+ variables[p_name]._export = p_export;
}
-bool VisualScript::get_variable_export(const StringName& p_name) const {
+bool VisualScript::get_variable_export(const StringName &p_name) const {
- ERR_FAIL_COND_V(!variables.has(p_name),false);
+ ERR_FAIL_COND_V(!variables.has(p_name), false);
return variables[p_name]._export;
-
}
-
-void VisualScript::_set_variable_info(const StringName& p_name,const Dictionary& p_info) {
+void VisualScript::_set_variable_info(const StringName &p_name, const Dictionary &p_info) {
PropertyInfo pinfo;
if (p_info.has("type"))
- pinfo.type=Variant::Type(int(p_info["type"]));
+ pinfo.type = Variant::Type(int(p_info["type"]));
if (p_info.has("name"))
- pinfo.name=p_info["name"];
+ pinfo.name = p_info["name"];
if (p_info.has("hint"))
- pinfo.hint=PropertyHint(int(p_info["hint"]));
+ pinfo.hint = PropertyHint(int(p_info["hint"]));
if (p_info.has("hint_string"))
- pinfo.hint_string=p_info["hint_string"];
+ pinfo.hint_string = p_info["hint_string"];
if (p_info.has("usage"))
- pinfo.usage=p_info["usage"];
+ pinfo.usage = p_info["usage"];
- set_variable_info(p_name,pinfo);
+ set_variable_info(p_name, pinfo);
}
-Dictionary VisualScript::_get_variable_info(const StringName& p_name) const{
+Dictionary VisualScript::_get_variable_info(const StringName &p_name) const {
- PropertyInfo pinfo=get_variable_info(p_name);
+ PropertyInfo pinfo = get_variable_info(p_name);
Dictionary d;
- d["type"]=pinfo.type;
- d["name"]=pinfo.name;
- d["hint"]=pinfo.hint;
- d["hint_string"]=pinfo.hint_string;
- d["usage"]=pinfo.usage;
+ d["type"] = pinfo.type;
+ d["name"] = pinfo.name;
+ d["hint"] = pinfo.hint;
+ d["hint_string"] = pinfo.hint_string;
+ d["usage"] = pinfo.usage;
return d;
}
-void VisualScript::get_variable_list(List<StringName> *r_variables) const{
-
+void VisualScript::get_variable_list(List<StringName> *r_variables) const {
- for (Map<StringName,Variable>::Element *E=variables.front();E;E=E->next()) {
+ for (Map<StringName, Variable>::Element *E = variables.front(); E; E = E->next()) {
r_variables->push_back(E->key());
}
r_variables->sort_custom<StringName::AlphCompare>();
}
+void VisualScript::set_instance_base_type(const StringName &p_type) {
-void VisualScript::set_instance_base_type(const StringName& p_type) {
-
- ERR_FAIL_COND( instances.size() );
- base_type=p_type;
+ ERR_FAIL_COND(instances.size());
+ base_type = p_type;
}
+void VisualScript::rename_variable(const StringName &p_name, const StringName &p_new_name) {
-void VisualScript::rename_variable(const StringName& p_name,const StringName& p_new_name) {
-
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!variables.has(p_name));
- if (p_new_name==p_name)
+ if (p_new_name == p_name)
return;
ERR_FAIL_COND(!String(p_new_name).is_valid_identifier());
@@ -779,103 +725,94 @@ void VisualScript::rename_variable(const StringName& p_name,const StringName& p_
ERR_FAIL_COND(variables.has(p_new_name));
ERR_FAIL_COND(custom_signals.has(p_new_name));
- variables[p_new_name]=variables[p_name];
+ variables[p_new_name] = variables[p_name];
variables.erase(p_name);
-
}
-void VisualScript::add_custom_signal(const StringName& p_name) {
+void VisualScript::add_custom_signal(const StringName &p_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!String(p_name).is_valid_identifier());
ERR_FAIL_COND(custom_signals.has(p_name));
- custom_signals[p_name]=Vector<Argument>();
+ custom_signals[p_name] = Vector<Argument>();
}
-bool VisualScript::has_custom_signal(const StringName& p_name) const {
+bool VisualScript::has_custom_signal(const StringName &p_name) const {
return custom_signals.has(p_name);
-
}
-void VisualScript::custom_signal_add_argument(const StringName& p_func,Variant::Type p_type,const String& p_name,int p_index) {
+void VisualScript::custom_signal_add_argument(const StringName &p_func, Variant::Type p_type, const String &p_name, int p_index) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
Argument arg;
- arg.type=p_type;
- arg.name=p_name;
- if (p_index<0)
+ arg.type = p_type;
+ arg.name = p_name;
+ if (p_index < 0)
custom_signals[p_func].push_back(arg);
else
- custom_signals[p_func].insert(0,arg);
-
+ custom_signals[p_func].insert(0, arg);
}
-void VisualScript::custom_signal_set_argument_type(const StringName& p_func,int p_argidx,Variant::Type p_type) {
+void VisualScript::custom_signal_set_argument_type(const StringName &p_func, int p_argidx, Variant::Type p_type) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
- ERR_FAIL_INDEX(p_argidx,custom_signals[p_func].size());
- custom_signals[p_func][p_argidx].type=p_type;
+ ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
+ custom_signals[p_func][p_argidx].type = p_type;
}
-Variant::Type VisualScript::custom_signal_get_argument_type(const StringName& p_func,int p_argidx) const {
+Variant::Type VisualScript::custom_signal_get_argument_type(const StringName &p_func, int p_argidx) const {
- ERR_FAIL_COND_V(!custom_signals.has(p_func),Variant::NIL);
- ERR_FAIL_INDEX_V(p_argidx,custom_signals[p_func].size(),Variant::NIL);
+ ERR_FAIL_COND_V(!custom_signals.has(p_func), Variant::NIL);
+ ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), Variant::NIL);
return custom_signals[p_func][p_argidx].type;
}
-void VisualScript::custom_signal_set_argument_name(const StringName& p_func,int p_argidx,const String& p_name) {
- ERR_FAIL_COND( instances.size() );
+void VisualScript::custom_signal_set_argument_name(const StringName &p_func, int p_argidx, const String &p_name) {
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
- ERR_FAIL_INDEX(p_argidx,custom_signals[p_func].size());
- custom_signals[p_func][p_argidx].name=p_name;
-
+ ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
+ custom_signals[p_func][p_argidx].name = p_name;
}
-String VisualScript::custom_signal_get_argument_name(const StringName& p_func,int p_argidx) const {
+String VisualScript::custom_signal_get_argument_name(const StringName &p_func, int p_argidx) const {
- ERR_FAIL_COND_V(!custom_signals.has(p_func),String());
- ERR_FAIL_INDEX_V(p_argidx,custom_signals[p_func].size(),String());
+ ERR_FAIL_COND_V(!custom_signals.has(p_func), String());
+ ERR_FAIL_INDEX_V(p_argidx, custom_signals[p_func].size(), String());
return custom_signals[p_func][p_argidx].name;
-
}
-void VisualScript::custom_signal_remove_argument(const StringName& p_func,int p_argidx) {
+void VisualScript::custom_signal_remove_argument(const StringName &p_func, int p_argidx) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
- ERR_FAIL_INDEX(p_argidx,custom_signals[p_func].size());
+ ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
custom_signals[p_func].remove(p_argidx);
-
}
-int VisualScript::custom_signal_get_argument_count(const StringName& p_func) const {
+int VisualScript::custom_signal_get_argument_count(const StringName &p_func) const {
- ERR_FAIL_COND_V(!custom_signals.has(p_func),0);
+ ERR_FAIL_COND_V(!custom_signals.has(p_func), 0);
return custom_signals[p_func].size();
-
}
-void VisualScript::custom_signal_swap_argument(const StringName& p_func,int p_argidx,int p_with_argidx) {
+void VisualScript::custom_signal_swap_argument(const StringName &p_func, int p_argidx, int p_with_argidx) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_func));
- ERR_FAIL_INDEX(p_argidx,custom_signals[p_func].size());
- ERR_FAIL_INDEX(p_with_argidx,custom_signals[p_func].size());
-
- SWAP( custom_signals[p_func][p_argidx], custom_signals[p_func][p_with_argidx] );
+ ERR_FAIL_INDEX(p_argidx, custom_signals[p_func].size());
+ ERR_FAIL_INDEX(p_with_argidx, custom_signals[p_func].size());
+ SWAP(custom_signals[p_func][p_argidx], custom_signals[p_func][p_with_argidx]);
}
-void VisualScript::remove_custom_signal(const StringName& p_name) {
+void VisualScript::remove_custom_signal(const StringName &p_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_name));
custom_signals.erase(p_name);
-
}
-void VisualScript::rename_custom_signal(const StringName& p_name,const StringName& p_new_name) {
+void VisualScript::rename_custom_signal(const StringName &p_name, const StringName &p_new_name) {
- ERR_FAIL_COND( instances.size() );
+ ERR_FAIL_COND(instances.size());
ERR_FAIL_COND(!custom_signals.has(p_name));
- if (p_new_name==p_name)
+ if (p_new_name == p_name)
return;
ERR_FAIL_COND(!String(p_new_name).is_valid_identifier());
@@ -884,30 +821,28 @@ void VisualScript::rename_custom_signal(const StringName& p_name,const StringNam
ERR_FAIL_COND(variables.has(p_new_name));
ERR_FAIL_COND(custom_signals.has(p_new_name));
- custom_signals[p_new_name]=custom_signals[p_name];
+ custom_signals[p_new_name] = custom_signals[p_name];
custom_signals.erase(p_name);
-
}
void VisualScript::get_custom_signal_list(List<StringName> *r_custom_signals) const {
- for (const Map<StringName,Vector<Argument> >::Element *E=custom_signals.front();E;E=E->next()) {
+ for (const Map<StringName, Vector<Argument> >::Element *E = custom_signals.front(); E; E = E->next()) {
r_custom_signals->push_back(E->key());
}
r_custom_signals->sort_custom<StringName::AlphCompare>();
-
}
int VisualScript::get_available_id() const {
- int max_id=0;
- for (Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ int max_id = 0;
+ for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
if (E->get().nodes.empty())
continue;
int last_id = E->get().nodes.back()->key();
- max_id=MAX(max_id,last_id+1);
+ max_id = MAX(max_id, last_id + 1);
}
return max_id;
@@ -915,14 +850,11 @@ int VisualScript::get_available_id() const {
/////////////////////////////////
-
bool VisualScript::can_instance() const {
- return true;//ScriptServer::is_scripting_enabled();
-
+ return true; //ScriptServer::is_scripting_enabled();
}
-
StringName VisualScript::get_instance_base_type() const {
return base_type;
@@ -932,84 +864,74 @@ Ref<Script> VisualScript::get_base_script() const {
return Ref<Script>(); // no inheritance in visual script
}
-
#ifdef TOOLS_ENABLED
void VisualScript::_placeholder_erased(PlaceHolderScriptInstance *p_placeholder) {
-
placeholders.erase(p_placeholder);
}
-
void VisualScript::_update_placeholders() {
- if (placeholders.size()==0)
+ if (placeholders.size() == 0)
return; //no bother if no placeholders
List<PropertyInfo> pinfo;
- Map<StringName,Variant> values;
+ Map<StringName, Variant> values;
- for (Map<StringName,Variable>::Element *E=variables.front();E;E=E->next()) {
+ for (Map<StringName, Variable>::Element *E = variables.front(); E; E = E->next()) {
if (!E->get()._export)
continue;
PropertyInfo p = E->get().info;
- p.name=String(E->key());
+ p.name = String(E->key());
pinfo.push_back(p);
- values[p.name]=E->get().default_value;
+ values[p.name] = E->get().default_value;
}
- for (Set<PlaceHolderScriptInstance*>::Element *E=placeholders.front();E;E=E->next()) {
+ for (Set<PlaceHolderScriptInstance *>::Element *E = placeholders.front(); E; E = E->next()) {
- E->get()->update(pinfo,values);
+ E->get()->update(pinfo, values);
}
-
}
#endif
-
-ScriptInstance* VisualScript::instance_create(Object *p_this) {
-
-
+ScriptInstance *VisualScript::instance_create(Object *p_this) {
#ifdef TOOLS_ENABLED
if (!ScriptServer::is_scripting_enabled()) {
-
- PlaceHolderScriptInstance *sins = memnew( PlaceHolderScriptInstance(VisualScriptLanguage::singleton,Ref<Script>((Script*)this),p_this));
+ PlaceHolderScriptInstance *sins = memnew(PlaceHolderScriptInstance(VisualScriptLanguage::singleton, Ref<Script>((Script *)this), p_this));
placeholders.insert(sins);
List<PropertyInfo> pinfo;
- Map<StringName,Variant> values;
+ Map<StringName, Variant> values;
- for (Map<StringName,Variable>::Element *E=variables.front();E;E=E->next()) {
+ for (Map<StringName, Variable>::Element *E = variables.front(); E; E = E->next()) {
if (!E->get()._export)
continue;
PropertyInfo p = E->get().info;
- p.name=String(E->key());
+ p.name = String(E->key());
pinfo.push_back(p);
- values[p.name]=E->get().default_value;
+ values[p.name] = E->get().default_value;
}
- sins->update(pinfo,values);
+ sins->update(pinfo, values);
return sins;
}
#endif
-
- VisualScriptInstance *instance=memnew( VisualScriptInstance );
- instance->create(Ref<VisualScript>(this),p_this);
-
+ VisualScriptInstance *instance = memnew(VisualScriptInstance);
+ instance->create(Ref<VisualScript>(this), p_this);
if (VisualScriptLanguage::singleton->lock)
VisualScriptLanguage::singleton->lock->lock();
- instances[p_this]=instance;
+ instances[p_this] = instance;
if (VisualScriptLanguage::singleton->lock)
VisualScriptLanguage::singleton->lock->unlock();
@@ -1019,7 +941,7 @@ ScriptInstance* VisualScript::instance_create(Object *p_this) {
bool VisualScript::instance_has(const Object *p_this) const {
- return instances.has((Object*)p_this);
+ return instances.has((Object *)p_this);
}
bool VisualScript::has_source_code() const {
@@ -1032,8 +954,7 @@ String VisualScript::get_source_code() const {
return String();
}
-void VisualScript::set_source_code(const String& p_code) {
-
+void VisualScript::set_source_code(const String &p_code) {
}
Error VisualScript::reload(bool p_keep_state) {
@@ -1041,74 +962,66 @@ Error VisualScript::reload(bool p_keep_state) {
return OK;
}
-
bool VisualScript::is_tool() const {
return false;
}
-
String VisualScript::get_node_type() const {
return String();
}
-
ScriptLanguage *VisualScript::get_language() const {
return VisualScriptLanguage::singleton;
}
-
-bool VisualScript::has_script_signal(const StringName& p_signal) const {
+bool VisualScript::has_script_signal(const StringName &p_signal) const {
return custom_signals.has(p_signal);
}
void VisualScript::get_script_signal_list(List<MethodInfo> *r_signals) const {
- for (const Map<StringName,Vector<Argument> >::Element *E=custom_signals.front();E;E=E->next()) {
+ for (const Map<StringName, Vector<Argument> >::Element *E = custom_signals.front(); E; E = E->next()) {
MethodInfo mi;
- mi.name=E->key();
- for(int i=0;i<E->get().size();i++) {
+ mi.name = E->key();
+ for (int i = 0; i < E->get().size(); i++) {
PropertyInfo arg;
- arg.type=E->get()[i].type;
- arg.name=E->get()[i].name;
+ arg.type = E->get()[i].type;
+ arg.name = E->get()[i].name;
mi.arguments.push_back(arg);
}
-
r_signals->push_back(mi);
}
-
-
}
-
-bool VisualScript::get_property_default_value(const StringName& p_property,Variant& r_value) const {
+bool VisualScript::get_property_default_value(const StringName &p_property, Variant &r_value) const {
if (!variables.has(p_property))
return false;
- r_value=variables[ p_property ].default_value;
+ r_value = variables[p_property].default_value;
return true;
}
void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const {
- for (Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
MethodInfo mi;
- mi.name=E->key();
- if (E->get().function_id>=0) {
+ mi.name = E->key();
+ if (E->get().function_id >= 0) {
- Ref<VisualScriptFunction> func=E->get().nodes[E->get().function_id].node;
+ Ref<VisualScriptFunction> func = E->get().nodes[E->get().function_id].node;
if (func.is_valid()) {
- for(int i=0;i<func->get_argument_count();i++) {
+ for (int i = 0; i < func->get_argument_count(); i++) {
PropertyInfo arg;
- arg.name=func->get_argument_name(i);
- arg.type=func->get_argument_type(i);
+ arg.name = func->get_argument_name(i);
+ arg.type = func->get_argument_type(i);
mi.arguments.push_back(arg);
}
}
@@ -1118,27 +1031,27 @@ void VisualScript::get_script_method_list(List<MethodInfo> *p_list) const {
}
}
-bool VisualScript::has_method(const StringName& p_method) const {
+bool VisualScript::has_method(const StringName &p_method) const {
return functions.has(p_method);
}
-MethodInfo VisualScript::get_method_info(const StringName& p_method) const{
+MethodInfo VisualScript::get_method_info(const StringName &p_method) const {
- const Map<StringName,Function>::Element *E=functions.find(p_method);
+ const Map<StringName, Function>::Element *E = functions.find(p_method);
if (!E)
return MethodInfo();
MethodInfo mi;
- mi.name=E->key();
- if (E->get().function_id>=0) {
+ mi.name = E->key();
+ if (E->get().function_id >= 0) {
- Ref<VisualScriptFunction> func=E->get().nodes[E->get().function_id].node;
+ Ref<VisualScriptFunction> func = E->get().nodes[E->get().function_id].node;
if (func.is_valid()) {
- for(int i=0;i<func->get_argument_count();i++) {
+ for (int i = 0; i < func->get_argument_count(); i++) {
PropertyInfo arg;
- arg.name=func->get_argument_name(i);
- arg.type=func->get_argument_type(i);
+ arg.name = func->get_argument_name(i);
+ arg.type = func->get_argument_type(i);
mi.arguments.push_back(arg);
}
}
@@ -1152,7 +1065,7 @@ void VisualScript::get_script_property_list(List<PropertyInfo> *p_list) const {
List<StringName> vars;
get_variable_list(&vars);
- for (List<StringName>::Element *E=vars.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = vars.front(); E; E = E->next()) {
if (!variables[E->get()]._export)
continue;
p_list->push_back(variables[E->get()].info);
@@ -1162,9 +1075,9 @@ void VisualScript::get_script_property_list(List<PropertyInfo> *p_list) const {
#ifdef TOOLS_ENABLED
bool VisualScript::are_subnodes_edited() const {
- for(const Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (const Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
- for (const Map<int,Function::NodeData>::Element *F=E->get().nodes.front();F;F=F->next()) {
+ for (const Map<int, Function::NodeData>::Element *F = E->get().nodes.front(); F; F = F->next()) {
if (F->get().node->is_edited()) {
return true;
}
@@ -1175,324 +1088,296 @@ bool VisualScript::are_subnodes_edited() const {
}
#endif
-void VisualScript::_set_data(const Dictionary& p_data) {
+void VisualScript::_set_data(const Dictionary &p_data) {
Dictionary d = p_data;
if (d.has("base_type"))
- base_type=d["base_type"];
+ base_type = d["base_type"];
variables.clear();
- Array vars=d["variables"];
- for (int i=0;i<vars.size();i++) {
+ Array vars = d["variables"];
+ for (int i = 0; i < vars.size(); i++) {
- Dictionary v=vars[i];
+ Dictionary v = vars[i];
StringName name = v["name"];
add_variable(name);
- _set_variable_info(name,v);
- set_variable_default_value(name,v["default_value"]);
- set_variable_export(name,v.has("export") && bool(v["export"]));
-
+ _set_variable_info(name, v);
+ set_variable_default_value(name, v["default_value"]);
+ set_variable_export(name, v.has("export") && bool(v["export"]));
}
-
custom_signals.clear();
- Array sigs=d["signals"];
- for (int i=0;i<sigs.size();i++) {
+ Array sigs = d["signals"];
+ for (int i = 0; i < sigs.size(); i++) {
- Dictionary cs=sigs[i];
+ Dictionary cs = sigs[i];
add_custom_signal(cs["name"]);
- Array args=cs["arguments"];
- for(int j=0;j<args.size();j+=2) {
- custom_signal_add_argument(cs["name"],Variant::Type(int(args[j+1])),args[j]);
+ Array args = cs["arguments"];
+ for (int j = 0; j < args.size(); j += 2) {
+ custom_signal_add_argument(cs["name"], Variant::Type(int(args[j + 1])), args[j]);
}
}
- Array funcs=d["functions"];
+ Array funcs = d["functions"];
functions.clear();
- for (int i=0;i<funcs.size();i++) {
+ for (int i = 0; i < funcs.size(); i++) {
- Dictionary func=funcs[i];
+ Dictionary func = funcs[i];
-
- StringName name=func["name"];
+ StringName name = func["name"];
//int id=func["function_id"];
add_function(name);
- set_function_scroll(name,func["scroll"]);
+ set_function_scroll(name, func["scroll"]);
Array nodes = func["nodes"];
- for(int i=0;i<nodes.size();i+=3) {
+ for (int i = 0; i < nodes.size(); i += 3) {
- add_node(name,nodes[i],nodes[i+2],nodes[i+1]);
+ add_node(name, nodes[i], nodes[i + 2], nodes[i + 1]);
}
+ Array sequence_connections = func["sequence_connections"];
- Array sequence_connections=func["sequence_connections"];
-
- for (int j=0;j<sequence_connections.size();j+=3) {
+ for (int j = 0; j < sequence_connections.size(); j += 3) {
- sequence_connect(name,sequence_connections[j+0],sequence_connections[j+1],sequence_connections[j+2]);
+ sequence_connect(name, sequence_connections[j + 0], sequence_connections[j + 1], sequence_connections[j + 2]);
}
+ Array data_connections = func["data_connections"];
- Array data_connections=func["data_connections"];
-
- for (int j=0;j<data_connections.size();j+=4) {
-
- data_connect(name,data_connections[j+0],data_connections[j+1],data_connections[j+2],data_connections[j+3]);
+ for (int j = 0; j < data_connections.size(); j += 4) {
+ data_connect(name, data_connections[j + 0], data_connections[j + 1], data_connections[j + 2], data_connections[j + 3]);
}
-
-
}
-
}
-Dictionary VisualScript::_get_data() const{
+Dictionary VisualScript::_get_data() const {
Dictionary d;
- d["base_type"]=base_type;
+ d["base_type"] = base_type;
Array vars;
- for (const Map<StringName,Variable>::Element *E=variables.front();E;E=E->next()) {
+ for (const Map<StringName, Variable>::Element *E = variables.front(); E; E = E->next()) {
Dictionary var = _get_variable_info(E->key());
- var["name"]=E->key(); //make sure it's the right one
- var["default_value"]=E->get().default_value;
- var["export"]=E->get()._export;
+ var["name"] = E->key(); //make sure it's the right one
+ var["default_value"] = E->get().default_value;
+ var["export"] = E->get()._export;
vars.push_back(var);
}
- d["variables"]=vars;
+ d["variables"] = vars;
Array sigs;
- for (const Map<StringName,Vector<Argument> >::Element *E=custom_signals.front();E;E=E->next()) {
+ for (const Map<StringName, Vector<Argument> >::Element *E = custom_signals.front(); E; E = E->next()) {
Dictionary cs;
- cs["name"]=E->key();
+ cs["name"] = E->key();
Array args;
- for(int i=0;i<E->get().size();i++) {
+ for (int i = 0; i < E->get().size(); i++) {
args.push_back(E->get()[i].name);
args.push_back(E->get()[i].type);
}
- cs["arguments"]=args;
+ cs["arguments"] = args;
sigs.push_back(cs);
}
- d["signals"]=sigs;
+ d["signals"] = sigs;
Array funcs;
- for (const Map<StringName,Function>::Element *E=functions.front();E;E=E->next()) {
+ for (const Map<StringName, Function>::Element *E = functions.front(); E; E = E->next()) {
Dictionary func;
- func["name"]=E->key();
- func["function_id"]=E->get().function_id;
- func["scroll"]=E->get().scroll;
+ func["name"] = E->key();
+ func["function_id"] = E->get().function_id;
+ func["scroll"] = E->get().scroll;
Array nodes;
- for (const Map<int,Function::NodeData>::Element *F=E->get().nodes.front();F;F=F->next()) {
+ for (const Map<int, Function::NodeData>::Element *F = E->get().nodes.front(); F; F = F->next()) {
nodes.push_back(F->key());
nodes.push_back(F->get().pos);
nodes.push_back(F->get().node);
-
}
- func["nodes"]=nodes;
+ func["nodes"] = nodes;
Array sequence_connections;
- for (const Set<SequenceConnection>::Element *F=E->get().sequence_connections.front();F;F=F->next()) {
+ for (const Set<SequenceConnection>::Element *F = E->get().sequence_connections.front(); F; F = F->next()) {
sequence_connections.push_back(F->get().from_node);
sequence_connections.push_back(F->get().from_output);
sequence_connections.push_back(F->get().to_node);
-
}
-
- func["sequence_connections"]=sequence_connections;
+ func["sequence_connections"] = sequence_connections;
Array data_connections;
- for (const Set<DataConnection>::Element *F=E->get().data_connections.front();F;F=F->next()) {
+ for (const Set<DataConnection>::Element *F = E->get().data_connections.front(); F; F = F->next()) {
data_connections.push_back(F->get().from_node);
data_connections.push_back(F->get().from_port);
data_connections.push_back(F->get().to_node);
data_connections.push_back(F->get().to_port);
-
}
-
- func["data_connections"]=data_connections;
+ func["data_connections"] = data_connections;
funcs.push_back(func);
-
}
- d["functions"]=funcs;
-
+ d["functions"] = funcs;
return d;
-
}
void VisualScript::_bind_methods() {
-
-
- ClassDB::bind_method(D_METHOD("_node_ports_changed"),&VisualScript::_node_ports_changed);
-
- ClassDB::bind_method(D_METHOD("add_function","name"),&VisualScript::add_function);
- ClassDB::bind_method(D_METHOD("has_function","name"),&VisualScript::has_function);
- ClassDB::bind_method(D_METHOD("remove_function","name"),&VisualScript::remove_function);
- ClassDB::bind_method(D_METHOD("rename_function","name","new_name"),&VisualScript::rename_function);
- ClassDB::bind_method(D_METHOD("set_function_scroll","ofs"),&VisualScript::set_function_scroll);
- ClassDB::bind_method(D_METHOD("get_function_scroll"),&VisualScript::get_function_scroll);
-
- ClassDB::bind_method(D_METHOD("add_node","func","id","node","pos"),&VisualScript::add_node,DEFVAL(Point2()));
- ClassDB::bind_method(D_METHOD("remove_node","func","id"),&VisualScript::remove_node);
- ClassDB::bind_method(D_METHOD("get_function_node_id","name"),&VisualScript::get_function_node_id);
-
- ClassDB::bind_method(D_METHOD("get_node","func","id"),&VisualScript::get_node);
- ClassDB::bind_method(D_METHOD("has_node","func","id"),&VisualScript::has_node);
- ClassDB::bind_method(D_METHOD("set_node_pos","func","id","pos"),&VisualScript::set_node_pos);
- ClassDB::bind_method(D_METHOD("get_node_pos","func","id"),&VisualScript::get_node_pos);
-
- ClassDB::bind_method(D_METHOD("sequence_connect","func","from_node","from_output","to_node"),&VisualScript::sequence_connect);
- ClassDB::bind_method(D_METHOD("sequence_disconnect","func","from_node","from_output","to_node"),&VisualScript::sequence_disconnect);
- ClassDB::bind_method(D_METHOD("has_sequence_connection","func","from_node","from_output","to_node"),&VisualScript::has_sequence_connection);
-
- ClassDB::bind_method(D_METHOD("data_connect","func","from_node","from_port","to_node","to_port"),&VisualScript::data_connect);
- ClassDB::bind_method(D_METHOD("data_disconnect","func","from_node","from_port","to_node","to_port"),&VisualScript::data_disconnect);
- ClassDB::bind_method(D_METHOD("has_data_connection","func","from_node","from_port","to_node","to_port"),&VisualScript::has_data_connection);
-
- ClassDB::bind_method(D_METHOD("add_variable","name","default_value","export"),&VisualScript::add_variable,DEFVAL(Variant()),DEFVAL(false));
- ClassDB::bind_method(D_METHOD("has_variable","name"),&VisualScript::has_variable);
- ClassDB::bind_method(D_METHOD("remove_variable","name"),&VisualScript::remove_variable);
- ClassDB::bind_method(D_METHOD("set_variable_default_value","name","value"),&VisualScript::set_variable_default_value);
- ClassDB::bind_method(D_METHOD("get_variable_default_value","name"),&VisualScript::get_variable_default_value);
- ClassDB::bind_method(D_METHOD("set_variable_info","name","value"),&VisualScript::_set_variable_info);
- ClassDB::bind_method(D_METHOD("get_variable_info","name"),&VisualScript::_get_variable_info);
- ClassDB::bind_method(D_METHOD("set_variable_export","name","enable"),&VisualScript::set_variable_export);
- ClassDB::bind_method(D_METHOD("get_variable_export","name"),&VisualScript::get_variable_export);
- ClassDB::bind_method(D_METHOD("rename_variable","name","new_name"),&VisualScript::rename_variable);
-
- ClassDB::bind_method(D_METHOD("add_custom_signal","name"),&VisualScript::add_custom_signal);
- ClassDB::bind_method(D_METHOD("has_custom_signal","name"),&VisualScript::has_custom_signal);
- ClassDB::bind_method(D_METHOD("custom_signal_add_argument","name","type","argname","index"),&VisualScript::custom_signal_add_argument,DEFVAL(-1));
- ClassDB::bind_method(D_METHOD("custom_signal_set_argument_type","name","argidx","type"),&VisualScript::custom_signal_set_argument_type);
- ClassDB::bind_method(D_METHOD("custom_signal_get_argument_type","name","argidx"),&VisualScript::custom_signal_get_argument_type);
- ClassDB::bind_method(D_METHOD("custom_signal_set_argument_name","name","argidx","argname"),&VisualScript::custom_signal_set_argument_name);
- ClassDB::bind_method(D_METHOD("custom_signal_get_argument_name","name","argidx"),&VisualScript::custom_signal_get_argument_name);
- ClassDB::bind_method(D_METHOD("custom_signal_remove_argument","argidx"),&VisualScript::custom_signal_remove_argument);
- ClassDB::bind_method(D_METHOD("custom_signal_get_argument_count","name"),&VisualScript::custom_signal_get_argument_count);
- ClassDB::bind_method(D_METHOD("custom_signal_swap_argument","name","argidx","withidx"),&VisualScript::custom_signal_swap_argument);
- ClassDB::bind_method(D_METHOD("remove_custom_signal","name"),&VisualScript::remove_custom_signal);
- ClassDB::bind_method(D_METHOD("rename_custom_signal","name","new_name"),&VisualScript::rename_custom_signal);
+ ClassDB::bind_method(D_METHOD("_node_ports_changed"), &VisualScript::_node_ports_changed);
+
+ ClassDB::bind_method(D_METHOD("add_function", "name"), &VisualScript::add_function);
+ ClassDB::bind_method(D_METHOD("has_function", "name"), &VisualScript::has_function);
+ ClassDB::bind_method(D_METHOD("remove_function", "name"), &VisualScript::remove_function);
+ ClassDB::bind_method(D_METHOD("rename_function", "name", "new_name"), &VisualScript::rename_function);
+ ClassDB::bind_method(D_METHOD("set_function_scroll", "ofs"), &VisualScript::set_function_scroll);
+ ClassDB::bind_method(D_METHOD("get_function_scroll"), &VisualScript::get_function_scroll);
+
+ ClassDB::bind_method(D_METHOD("add_node", "func", "id", "node", "pos"), &VisualScript::add_node, DEFVAL(Point2()));
+ ClassDB::bind_method(D_METHOD("remove_node", "func", "id"), &VisualScript::remove_node);
+ ClassDB::bind_method(D_METHOD("get_function_node_id", "name"), &VisualScript::get_function_node_id);
+
+ ClassDB::bind_method(D_METHOD("get_node", "func", "id"), &VisualScript::get_node);
+ ClassDB::bind_method(D_METHOD("has_node", "func", "id"), &VisualScript::has_node);
+ ClassDB::bind_method(D_METHOD("set_node_pos", "func", "id", "pos"), &VisualScript::set_node_pos);
+ ClassDB::bind_method(D_METHOD("get_node_pos", "func", "id"), &VisualScript::get_node_pos);
+
+ ClassDB::bind_method(D_METHOD("sequence_connect", "func", "from_node", "from_output", "to_node"), &VisualScript::sequence_connect);
+ ClassDB::bind_method(D_METHOD("sequence_disconnect", "func", "from_node", "from_output", "to_node"), &VisualScript::sequence_disconnect);
+ ClassDB::bind_method(D_METHOD("has_sequence_connection", "func", "from_node", "from_output", "to_node"), &VisualScript::has_sequence_connection);
+
+ ClassDB::bind_method(D_METHOD("data_connect", "func", "from_node", "from_port", "to_node", "to_port"), &VisualScript::data_connect);
+ ClassDB::bind_method(D_METHOD("data_disconnect", "func", "from_node", "from_port", "to_node", "to_port"), &VisualScript::data_disconnect);
+ ClassDB::bind_method(D_METHOD("has_data_connection", "func", "from_node", "from_port", "to_node", "to_port"), &VisualScript::has_data_connection);
+
+ ClassDB::bind_method(D_METHOD("add_variable", "name", "default_value", "export"), &VisualScript::add_variable, DEFVAL(Variant()), DEFVAL(false));
+ ClassDB::bind_method(D_METHOD("has_variable", "name"), &VisualScript::has_variable);
+ ClassDB::bind_method(D_METHOD("remove_variable", "name"), &VisualScript::remove_variable);
+ ClassDB::bind_method(D_METHOD("set_variable_default_value", "name", "value"), &VisualScript::set_variable_default_value);
+ ClassDB::bind_method(D_METHOD("get_variable_default_value", "name"), &VisualScript::get_variable_default_value);
+ ClassDB::bind_method(D_METHOD("set_variable_info", "name", "value"), &VisualScript::_set_variable_info);
+ ClassDB::bind_method(D_METHOD("get_variable_info", "name"), &VisualScript::_get_variable_info);
+ ClassDB::bind_method(D_METHOD("set_variable_export", "name", "enable"), &VisualScript::set_variable_export);
+ ClassDB::bind_method(D_METHOD("get_variable_export", "name"), &VisualScript::get_variable_export);
+ ClassDB::bind_method(D_METHOD("rename_variable", "name", "new_name"), &VisualScript::rename_variable);
+
+ ClassDB::bind_method(D_METHOD("add_custom_signal", "name"), &VisualScript::add_custom_signal);
+ ClassDB::bind_method(D_METHOD("has_custom_signal", "name"), &VisualScript::has_custom_signal);
+ ClassDB::bind_method(D_METHOD("custom_signal_add_argument", "name", "type", "argname", "index"), &VisualScript::custom_signal_add_argument, DEFVAL(-1));
+ ClassDB::bind_method(D_METHOD("custom_signal_set_argument_type", "name", "argidx", "type"), &VisualScript::custom_signal_set_argument_type);
+ ClassDB::bind_method(D_METHOD("custom_signal_get_argument_type", "name", "argidx"), &VisualScript::custom_signal_get_argument_type);
+ ClassDB::bind_method(D_METHOD("custom_signal_set_argument_name", "name", "argidx", "argname"), &VisualScript::custom_signal_set_argument_name);
+ ClassDB::bind_method(D_METHOD("custom_signal_get_argument_name", "name", "argidx"), &VisualScript::custom_signal_get_argument_name);
+ ClassDB::bind_method(D_METHOD("custom_signal_remove_argument", "argidx"), &VisualScript::custom_signal_remove_argument);
+ ClassDB::bind_method(D_METHOD("custom_signal_get_argument_count", "name"), &VisualScript::custom_signal_get_argument_count);
+ ClassDB::bind_method(D_METHOD("custom_signal_swap_argument", "name", "argidx", "withidx"), &VisualScript::custom_signal_swap_argument);
+ ClassDB::bind_method(D_METHOD("remove_custom_signal", "name"), &VisualScript::remove_custom_signal);
+ ClassDB::bind_method(D_METHOD("rename_custom_signal", "name", "new_name"), &VisualScript::rename_custom_signal);
//ClassDB::bind_method(D_METHOD("set_variable_info","name","info"),&VScript::set_variable_info);
//ClassDB::bind_method(D_METHOD("get_variable_info","name"),&VScript::set_variable_info);
- ClassDB::bind_method(D_METHOD("set_instance_base_type","type"),&VisualScript::set_instance_base_type);
+ ClassDB::bind_method(D_METHOD("set_instance_base_type", "type"), &VisualScript::set_instance_base_type);
- ClassDB::bind_method(D_METHOD("_set_data","data"),&VisualScript::_set_data);
- ClassDB::bind_method(D_METHOD("_get_data"),&VisualScript::_get_data);
+ ClassDB::bind_method(D_METHOD("_set_data", "data"), &VisualScript::_set_data);
+ ClassDB::bind_method(D_METHOD("_get_data"), &VisualScript::_get_data);
- ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY,"data",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_data","_get_data");
+ ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_data", "_get_data");
- ADD_SIGNAL(MethodInfo("node_ports_changed",PropertyInfo(Variant::STRING,"function"),PropertyInfo(Variant::INT,"id")));
+ ADD_SIGNAL(MethodInfo("node_ports_changed", PropertyInfo(Variant::STRING, "function"), PropertyInfo(Variant::INT, "id")));
}
VisualScript::VisualScript() {
- base_type="Object";
-
+ base_type = "Object";
}
VisualScript::~VisualScript() {
- while(!functions.empty()) {
+ while (!functions.empty()) {
remove_function(functions.front()->key());
}
-
}
////////////////////////////////////////////
+bool VisualScriptInstance::set(const StringName &p_name, const Variant &p_value) {
-
-bool VisualScriptInstance::set(const StringName& p_name, const Variant& p_value) {
-
-
- Map<StringName,Variant>::Element *E=variables.find(p_name);
+ Map<StringName, Variant>::Element *E = variables.find(p_name);
if (!E)
return false;
- E->get()=p_value;
+ E->get() = p_value;
return true;
}
+bool VisualScriptInstance::get(const StringName &p_name, Variant &r_ret) const {
-bool VisualScriptInstance::get(const StringName& p_name, Variant &r_ret) const {
-
- const Map<StringName,Variant>::Element *E=variables.find(p_name);
+ const Map<StringName, Variant>::Element *E = variables.find(p_name);
if (!E)
return false;
- r_ret=E->get();
+ r_ret = E->get();
return true;
}
-void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const{
+void VisualScriptInstance::get_property_list(List<PropertyInfo> *p_properties) const {
- for (const Map<StringName,VisualScript::Variable>::Element *E=script->variables.front();E;E=E->next()) {
+ for (const Map<StringName, VisualScript::Variable>::Element *E = script->variables.front(); E; E = E->next()) {
if (!E->get()._export)
continue;
PropertyInfo p = E->get().info;
- p.name=String(E->key());
+ p.name = String(E->key());
p_properties->push_back(p);
-
}
}
-Variant::Type VisualScriptInstance::get_property_type(const StringName& p_name,bool *r_is_valid) const{
-
+Variant::Type VisualScriptInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const {
- const Map<StringName,VisualScript::Variable>::Element *E=script->variables.find(p_name);
+ const Map<StringName, VisualScript::Variable>::Element *E = script->variables.find(p_name);
if (!E) {
if (r_is_valid)
- *r_is_valid=false;
+ *r_is_valid = false;
ERR_FAIL_V(Variant::NIL);
}
if (r_is_valid)
- *r_is_valid=true;
+ *r_is_valid = true;
return E->get().info.type;
-
}
-void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const{
+void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const {
- for (const Map<StringName,VisualScript::Function>::Element *E=script->functions.front();E;E=E->next()) {
+ for (const Map<StringName, VisualScript::Function>::Element *E = script->functions.front(); E; E = E->next()) {
MethodInfo mi;
- mi.name=E->key();
- if (E->get().function_id>=0 && E->get().nodes.has(E->get().function_id)) {
+ mi.name = E->key();
+ if (E->get().function_id >= 0 && E->get().nodes.has(E->get().function_id)) {
Ref<VisualScriptFunction> vsf = E->get().nodes[E->get().function_id].node;
if (vsf.is_valid()) {
- for(int i=0;i<vsf->get_argument_count();i++) {
+ for (int i = 0; i < vsf->get_argument_count(); i++) {
PropertyInfo arg;
- arg.name=vsf->get_argument_name(i);
- arg.type=vsf->get_argument_type(i);
+ arg.name = vsf->get_argument_name(i);
+ arg.type = vsf->get_argument_type(i);
mi.arguments.push_back(arg);
}
@@ -1503,136 +1388,127 @@ void VisualScriptInstance::get_method_list(List<MethodInfo> *p_list) const{
p_list->push_back(mi);
}
-
}
-bool VisualScriptInstance::has_method(const StringName& p_method) const{
+bool VisualScriptInstance::has_method(const StringName &p_method) const {
return script->functions.has(p_method);
}
-
//#define VSDEBUG(m_text) print_line(m_text)
#define VSDEBUG(m_text)
-void VisualScriptInstance::_dependency_step(VisualScriptNodeInstance* node,int p_pass,int *pass_stack,const Variant **input_args,Variant **output_args,Variant *variant_stack,Variant::CallError& r_error,String& error_str,VisualScriptNodeInstance** r_error_node) {
+void VisualScriptInstance::_dependency_step(VisualScriptNodeInstance *node, int p_pass, int *pass_stack, const Variant **input_args, Variant **output_args, Variant *variant_stack, Variant::CallError &r_error, String &error_str, VisualScriptNodeInstance **r_error_node) {
- ERR_FAIL_COND(node->pass_idx==-1);
+ ERR_FAIL_COND(node->pass_idx == -1);
- if (pass_stack[node->pass_idx]==p_pass)
+ if (pass_stack[node->pass_idx] == p_pass)
return;
- pass_stack[node->pass_idx]=p_pass;
+ pass_stack[node->pass_idx] = p_pass;
if (!node->dependencies.empty()) {
int dc = node->dependencies.size();
- VisualScriptNodeInstance **deps=node->dependencies.ptr();
+ VisualScriptNodeInstance **deps = node->dependencies.ptr();
- for(int i=0;i<dc;i++) {
+ for (int i = 0; i < dc; i++) {
- _dependency_step(deps[i],p_pass,pass_stack,input_args,output_args,variant_stack,r_error,error_str,r_error_node);
- if (r_error.error!=Variant::CallError::CALL_OK)
+ _dependency_step(deps[i], p_pass, pass_stack, input_args, output_args, variant_stack, r_error, error_str, r_error_node);
+ if (r_error.error != Variant::CallError::CALL_OK)
return;
-
}
}
-
- for(int i=0;i<node->input_port_count;i++) {
+ for (int i = 0; i < node->input_port_count; i++) {
int index = node->input_ports[i] & VisualScriptNodeInstance::INPUT_MASK;
-
if (node->input_ports[i] & VisualScriptNodeInstance::INPUT_DEFAULT_VALUE_BIT) {
//is a default value (unassigned input port)
- input_args[i]=&default_values[index];
+ input_args[i] = &default_values[index];
} else {
//regular temporary in stack
- input_args[i]=&variant_stack[index];
-
+ input_args[i] = &variant_stack[index];
}
}
- for(int i=0 ; i<node->output_port_count ; i++) {
- output_args[i] = &variant_stack[ node->output_ports[i] ];
+ for (int i = 0; i < node->output_port_count; i++) {
+ output_args[i] = &variant_stack[node->output_ports[i]];
}
- Variant *working_mem=node->working_mem_idx>=0 ? &variant_stack[node->working_mem_idx] : (Variant*)NULL;
+ Variant *working_mem = node->working_mem_idx >= 0 ? &variant_stack[node->working_mem_idx] : (Variant *)NULL;
- node->step(input_args,output_args,VisualScriptNodeInstance::START_MODE_BEGIN_SEQUENCE,working_mem,r_error,error_str);
+ node->step(input_args, output_args, VisualScriptNodeInstance::START_MODE_BEGIN_SEQUENCE, working_mem, r_error, error_str);
//ignore return
- if (r_error.error!=Variant::CallError::CALL_OK) {
- *r_error_node=node;
+ if (r_error.error != Variant::CallError::CALL_OK) {
+ *r_error_node = node;
}
-
}
-Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p_stack, int p_stack_size, VisualScriptNodeInstance* p_node, int p_flow_stack_pos, int p_pass, bool p_resuming_yield, Variant::CallError &r_error) {
+Variant VisualScriptInstance::_call_internal(const StringName &p_method, void *p_stack, int p_stack_size, VisualScriptNodeInstance *p_node, int p_flow_stack_pos, int p_pass, bool p_resuming_yield, Variant::CallError &r_error) {
- Map<StringName,Function>::Element *F = functions.find(p_method);
- ERR_FAIL_COND_V(!F,Variant());
- Function *f=&F->get();
+ Map<StringName, Function>::Element *F = functions.find(p_method);
+ ERR_FAIL_COND_V(!F, Variant());
+ Function *f = &F->get();
//this call goes separate, so it can e yielded and suspended
- Variant *variant_stack=(Variant*)p_stack;
- bool *sequence_bits = (bool*)(variant_stack + f->max_stack);
- const Variant **input_args=(const Variant**)(sequence_bits+f->node_count);
- Variant **output_args=(Variant**)(input_args + max_input_args);
+ Variant *variant_stack = (Variant *)p_stack;
+ bool *sequence_bits = (bool *)(variant_stack + f->max_stack);
+ const Variant **input_args = (const Variant **)(sequence_bits + f->node_count);
+ Variant **output_args = (Variant **)(input_args + max_input_args);
int flow_max = f->flow_stack_size;
- int* flow_stack = flow_max? (int*)(output_args + max_output_args) : (int*)NULL;
+ int *flow_stack = flow_max ? (int *)(output_args + max_output_args) : (int *)NULL;
int *pass_stack = flow_stack + flow_max;
String error_str;
- VisualScriptNodeInstance* node=p_node;
- bool error=false;
- int current_node_id=f->node;
+ VisualScriptNodeInstance *node = p_node;
+ bool error = false;
+ int current_node_id = f->node;
Variant return_value;
- Variant *working_mem=NULL;
+ Variant *working_mem = NULL;
- int flow_stack_pos=p_flow_stack_pos;
+ int flow_stack_pos = p_flow_stack_pos;
#ifdef DEBUG_ENABLED
if (ScriptDebugger::get_singleton()) {
- VisualScriptLanguage::singleton->enter_function(this,&p_method,variant_stack,&working_mem,&current_node_id);
+ VisualScriptLanguage::singleton->enter_function(this, &p_method, variant_stack, &working_mem, &current_node_id);
}
#endif
- while(true) {
+ while (true) {
p_pass++; //increment pass
- current_node_id=node->get_id();
-
- VSDEBUG("==========AT NODE: "+itos(current_node_id)+" base: "+node->get_base_node()->get_class_name());
- VSDEBUG("AT STACK POS: "+itos(flow_stack_pos));
+ current_node_id = node->get_id();
+ VSDEBUG("==========AT NODE: " + itos(current_node_id) + " base: " + node->get_base_node()->get_class_name());
+ VSDEBUG("AT STACK POS: " + itos(flow_stack_pos));
//setup working mem
- working_mem=node->working_mem_idx>=0 ? &variant_stack[node->working_mem_idx] : (Variant*)NULL;
+ working_mem = node->working_mem_idx >= 0 ? &variant_stack[node->working_mem_idx] : (Variant *)NULL;
- VSDEBUG("WORKING MEM: "+itos(node->working_mem_idx));
+ VSDEBUG("WORKING MEM: " + itos(node->working_mem_idx));
- if (current_node_id==f->node) {
+ if (current_node_id == f->node) {
//if function node, set up function arguments from begining of stack
- for(int i=0;i<f->argument_count;i++) {
- input_args[i]=&variant_stack[i];
+ for (int i = 0; i < f->argument_count; i++) {
+ input_args[i] = &variant_stack[i];
}
} else {
//run dependencies first
-
if (!node->dependencies.empty()) {
int dc = node->dependencies.size();
- VisualScriptNodeInstance **deps=node->dependencies.ptr();
+ VisualScriptNodeInstance **deps = node->dependencies.ptr();
- for(int i=0;i<dc;i++) {
+ for (int i = 0; i < dc; i++) {
- _dependency_step(deps[i],p_pass,pass_stack,input_args,output_args,variant_stack,r_error,error_str,&node);
- if (r_error.error!=Variant::CallError::CALL_OK) {
- error=true;
- current_node_id=node->id;
+ _dependency_step(deps[i], p_pass, pass_stack, input_args, output_args, variant_stack, r_error, error_str, &node);
+ if (r_error.error != Variant::CallError::CALL_OK) {
+ error = true;
+ current_node_id = node->id;
break;
}
}
@@ -1641,22 +1517,20 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
if (!error) {
//setup input pointers normally
- VSDEBUG("INPUT PORTS: "+itos(node->input_port_count));
-
- for(int i=0 ; i<node->input_port_count ; i++) {
+ VSDEBUG("INPUT PORTS: " + itos(node->input_port_count));
+ for (int i = 0; i < node->input_port_count; i++) {
int index = node->input_ports[i] & VisualScriptNodeInstance::INPUT_MASK;
if (node->input_ports[i] & VisualScriptNodeInstance::INPUT_DEFAULT_VALUE_BIT) {
//is a default value (unassigned input port)
- input_args[i]=&default_values[index];
- VSDEBUG("\tPORT "+itos(i)+" DEFAULT VAL");
+ input_args[i] = &default_values[index];
+ VSDEBUG("\tPORT " + itos(i) + " DEFAULT VAL");
} else {
//regular temporary in stack
- input_args[i]=&variant_stack[index];
- VSDEBUG("PORT "+itos(i)+" AT STACK "+itos(index));
-
+ input_args[i] = &variant_stack[index];
+ VSDEBUG("PORT " + itos(i) + " AT STACK " + itos(index));
}
}
}
@@ -1667,10 +1541,10 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
//setup output pointers
- VSDEBUG("OUTPUT PORTS: "+itos(node->output_port_count));
- for(int i=0 ; i<node->output_port_count ; i++) {
- output_args[i] = &variant_stack[ node->output_ports[i] ];
- VSDEBUG("PORT "+itos(i)+" AT STACK "+itos(node->output_ports[i]));
+ VSDEBUG("OUTPUT PORTS: " + itos(node->output_port_count));
+ for (int i = 0; i < node->output_port_count; i++) {
+ output_args[i] = &variant_stack[node->output_ports[i]];
+ VSDEBUG("PORT " + itos(i) + " AT STACK " + itos(node->output_ports[i]));
}
//do step
@@ -1678,57 +1552,55 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
VisualScriptNodeInstance::StartMode start_mode;
{
if (p_resuming_yield)
- start_mode=VisualScriptNodeInstance::START_MODE_RESUME_YIELD;
+ start_mode = VisualScriptNodeInstance::START_MODE_RESUME_YIELD;
else if (!flow_stack || !(flow_stack[flow_stack_pos] & VisualScriptNodeInstance::FLOW_STACK_PUSHED_BIT)) //if there is a push bit, it means we are continuing a sequence
- start_mode=VisualScriptNodeInstance::START_MODE_BEGIN_SEQUENCE;
+ start_mode = VisualScriptNodeInstance::START_MODE_BEGIN_SEQUENCE;
else
- start_mode=VisualScriptNodeInstance::START_MODE_CONTINUE_SEQUENCE;
+ start_mode = VisualScriptNodeInstance::START_MODE_CONTINUE_SEQUENCE;
}
- VSDEBUG("STEP - STARTSEQ: "+itos(start_mode));
+ VSDEBUG("STEP - STARTSEQ: " + itos(start_mode));
- int ret = node->step(input_args,output_args,start_mode,working_mem,r_error,error_str);
+ int ret = node->step(input_args, output_args, start_mode, working_mem, r_error, error_str);
- if (r_error.error!=Variant::CallError::CALL_OK) {
+ if (r_error.error != Variant::CallError::CALL_OK) {
//use error from step
- error=true;
+ error = true;
break;
}
- if (ret&VisualScriptNodeInstance::STEP_YIELD_BIT) {
+ if (ret & VisualScriptNodeInstance::STEP_YIELD_BIT) {
//yielded!
- if (node->get_working_memory_size()==0) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("A node yielded without working memory, please read the docs on how to yield properly!");
- error=true;
+ if (node->get_working_memory_size() == 0) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("A node yielded without working memory, please read the docs on how to yield properly!");
+ error = true;
break;
} else {
Ref<VisualScriptFunctionState> state = *working_mem;
if (!state.is_valid()) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("Node yielded, but did not return a function state in the first working memory.");
- error=true;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("Node yielded, but did not return a function state in the first working memory.");
+ error = true;
break;
-
}
//step 1, capture all state
- state->instance_id=get_owner_ptr()->get_instance_ID();
- state->script_id=get_script()->get_instance_ID();
- state->instance=this;
- state->function=p_method;
- state->working_mem_index=node->working_mem_idx;
- state->variant_stack_size=f->max_stack;
- state->node=node;
- state->flow_stack_pos=flow_stack_pos;
+ state->instance_id = get_owner_ptr()->get_instance_ID();
+ state->script_id = get_script()->get_instance_ID();
+ state->instance = this;
+ state->function = p_method;
+ state->working_mem_index = node->working_mem_idx;
+ state->variant_stack_size = f->max_stack;
+ state->node = node;
+ state->flow_stack_pos = flow_stack_pos;
state->stack.resize(p_stack_size);
- state->pass=p_pass;
- copymem(state->stack.ptr(),p_stack,p_stack_size);
+ state->pass = p_pass;
+ copymem(state->stack.ptr(), p_stack, p_stack_size);
//step 2, run away, return directly
- r_error.error=Variant::CallError::CALL_OK;
-
+ r_error.error = Variant::CallError::CALL_OK;
#ifdef DEBUG_ENABLED
//will re-enter later, so exiting
@@ -1738,67 +1610,65 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
#endif
return state;
-
}
}
#ifdef DEBUG_ENABLED
if (ScriptDebugger::get_singleton()) {
// line
- bool do_break=false;
+ bool do_break = false;
- if (ScriptDebugger::get_singleton()->get_lines_left()>0) {
+ if (ScriptDebugger::get_singleton()->get_lines_left() > 0) {
- if (ScriptDebugger::get_singleton()->get_depth()<=0)
- ScriptDebugger::get_singleton()->set_lines_left( ScriptDebugger::get_singleton()->get_lines_left() -1 );
- if (ScriptDebugger::get_singleton()->get_lines_left()<=0)
- do_break=true;
+ if (ScriptDebugger::get_singleton()->get_depth() <= 0)
+ ScriptDebugger::get_singleton()->set_lines_left(ScriptDebugger::get_singleton()->get_lines_left() - 1);
+ if (ScriptDebugger::get_singleton()->get_lines_left() <= 0)
+ do_break = true;
}
- if (ScriptDebugger::get_singleton()->is_breakpoint(current_node_id,source))
- do_break=true;
+ if (ScriptDebugger::get_singleton()->is_breakpoint(current_node_id, source))
+ do_break = true;
if (do_break) {
- VisualScriptLanguage::singleton->debug_break("Breakpoint",true);
+ VisualScriptLanguage::singleton->debug_break("Breakpoint", true);
}
ScriptDebugger::get_singleton()->line_poll();
-
}
#endif
int output = ret & VisualScriptNodeInstance::STEP_MASK;
- VSDEBUG("STEP RETURN: "+itos(ret));
+ VSDEBUG("STEP RETURN: " + itos(ret));
if (ret & VisualScriptNodeInstance::STEP_EXIT_FUNCTION_BIT) {
- if (node->get_working_memory_size()==0) {
+ if (node->get_working_memory_size() == 0) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("Return value must be assigned to first element of node working memory! Fix your node please.");
- error=true;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("Return value must be assigned to first element of node working memory! Fix your node please.");
+ error = true;
} else {
//assign from working memory, first element
- return_value=*working_mem;
+ return_value = *working_mem;
}
- VSDEBUG("EXITING FUNCTION - VALUE "+String(return_value));
+ VSDEBUG("EXITING FUNCTION - VALUE " + String(return_value));
break; //exit function requested, bye
}
- VisualScriptNodeInstance *next=NULL; //next node
+ VisualScriptNodeInstance *next = NULL; //next node
- if ( (ret==output || ret&VisualScriptNodeInstance::STEP_FLAG_PUSH_STACK_BIT) && node->sequence_output_count) {
+ if ((ret == output || ret & VisualScriptNodeInstance::STEP_FLAG_PUSH_STACK_BIT) && node->sequence_output_count) {
//if no exit bit was set, and has sequence outputs, guess next node
- if (output<0 || output>=node->sequence_output_count) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("Node returned an invalid sequence output: ")+itos(output);
- error=true;
+ if (output < 0 || output >= node->sequence_output_count) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("Node returned an invalid sequence output: ") + itos(output);
+ error = true;
break;
}
next = node->sequence_outputs[output];
if (next) {
- VSDEBUG("GOT NEXT NODE - "+itos(next->get_id()));
+ VSDEBUG("GOT NEXT NODE - " + itos(next->get_id()));
} else {
VSDEBUG("GOT NEXT NODE - NULL");
}
@@ -1813,20 +1683,19 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
if (ret & VisualScriptNodeInstance::STEP_FLAG_PUSH_STACK_BIT) {
flow_stack[flow_stack_pos] |= VisualScriptNodeInstance::FLOW_STACK_PUSHED_BIT;
- sequence_bits[ node ->sequence_index ]=true; //remember sequence bit
+ sequence_bits[node->sequence_index] = true; //remember sequence bit
VSDEBUG("NEXT SEQ - FLAG BIT");
} else {
- sequence_bits[ node ->sequence_index ]=false; //forget sequence bit
+ sequence_bits[node->sequence_index] = false; //forget sequence bit
VSDEBUG("NEXT SEQ - NORMAL");
}
-
if (ret & VisualScriptNodeInstance::STEP_FLAG_GO_BACK_BIT) {
//go back request
- if (flow_stack_pos>0) {
+ if (flow_stack_pos > 0) {
flow_stack_pos--;
- node = instances[ flow_stack[flow_stack_pos] & VisualScriptNodeInstance::FLOW_STACK_MASK ];
+ node = instances[flow_stack[flow_stack_pos] & VisualScriptNodeInstance::FLOW_STACK_MASK];
VSDEBUG("NEXT IS GO BACK");
} else {
VSDEBUG("NEXT IS GO BACK, BUT NO NEXT SO EXIT");
@@ -1834,7 +1703,6 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
}
} else if (next) {
-
if (sequence_bits[next->sequence_index]) {
// what happened here is that we are entering a node that is in the middle of doing a sequence (pushed stack) from the front
// because each node has a working memory, we can't really do a sub-sequence
@@ -1843,43 +1711,41 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
bool found = false;
- for(int i=flow_stack_pos;i>=0;i--) {
-
+ for (int i = flow_stack_pos; i >= 0; i--) {
- if ( (flow_stack[i] & VisualScriptNodeInstance::FLOW_STACK_MASK ) == next->get_id() ) {
- flow_stack_pos=i; //roll back and remove bit
- flow_stack[i]=next->get_id();
- sequence_bits[next->sequence_index]=false;
- found=true;
+ if ((flow_stack[i] & VisualScriptNodeInstance::FLOW_STACK_MASK) == next->get_id()) {
+ flow_stack_pos = i; //roll back and remove bit
+ flow_stack[i] = next->get_id();
+ sequence_bits[next->sequence_index] = false;
+ found = true;
}
}
if (!found) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("Found sequence bit but not the node in the stack, report bug!");
- error=true;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("Found sequence bit but not the node in the stack, report bug!");
+ error = true;
break;
}
- node=next;
- VSDEBUG("RE-ENTERED A LOOP, RETURNED STACK POS TO - "+itos(flow_stack_pos));
+ node = next;
+ VSDEBUG("RE-ENTERED A LOOP, RETURNED STACK POS TO - " + itos(flow_stack_pos));
} else {
// check for stack overflow
- if (flow_stack_pos+1 >= flow_max) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- error_str=RTR("Stack overflow with stack depth: ")+itos(output);
- error=true;
+ if (flow_stack_pos + 1 >= flow_max) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ error_str = RTR("Stack overflow with stack depth: ") + itos(output);
+ error = true;
break;
}
node = next;
flow_stack_pos++;
- flow_stack[flow_stack_pos]=node->get_id();
+ flow_stack[flow_stack_pos] = node->get_id();
VSDEBUG("INCREASE FLOW STACK");
-
}
} else {
@@ -1887,14 +1753,14 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
bool found = false;
- for(int i=flow_stack_pos;i>=0;i--) {
+ for (int i = flow_stack_pos; i >= 0; i--) {
- VSDEBUG("FS "+itos(i)+" - "+itos(flow_stack[i]));
+ VSDEBUG("FS " + itos(i) + " - " + itos(flow_stack[i]));
if (flow_stack[i] & VisualScriptNodeInstance::FLOW_STACK_PUSHED_BIT) {
- node = instances[ flow_stack[i] & VisualScriptNodeInstance::FLOW_STACK_MASK ];
- flow_stack_pos=i;
- found=true;
+ node = instances[flow_stack[i] & VisualScriptNodeInstance::FLOW_STACK_MASK];
+ flow_stack_pos = i;
+ found = true;
break;
}
}
@@ -1904,59 +1770,53 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
break; //done, couldn't find a push stack bit
}
- VSDEBUG("NO NEXT NODE, GO BACK TO: "+itos(flow_stack_pos));
-
+ VSDEBUG("NO NEXT NODE, GO BACK TO: " + itos(flow_stack_pos));
}
} else {
- node=next; //stackless mode, simply assign next node
+ node = next; //stackless mode, simply assign next node
}
-
}
-
-
if (error) {
//error
// function, file, line, error, explanation
String err_file = script->get_path();
String err_func = p_method;
- int err_line=current_node_id; //not a line but it works as one
+ int err_line = current_node_id; //not a line but it works as one
- if (node && (r_error.error!=Variant::CallError::CALL_ERROR_INVALID_METHOD || error_str==String())) {
+ if (node && (r_error.error != Variant::CallError::CALL_ERROR_INVALID_METHOD || error_str == String())) {
- if (error_str!=String()) {
- error_str+=" ";
+ if (error_str != String()) {
+ error_str += " ";
}
- if (r_error.error==Variant::CallError::CALL_ERROR_INVALID_ARGUMENT) {
- int errorarg=r_error.argument;
- error_str+="Cannot convert argument "+itos(errorarg+1)+" to "+Variant::get_type_name(r_error.expected)+".";
- } else if (r_error.error==Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS) {
- error_str+="Expected "+itos(r_error.argument)+" arguments.";
- } else if (r_error.error==Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS) {
- error_str+="Expected "+itos(r_error.argument)+" arguments.";
- } else if (r_error.error==Variant::CallError::CALL_ERROR_INVALID_METHOD) {
- error_str+="Invalid Call.";
- } else if (r_error.error==Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL) {
- error_str+="Base Instance is null";
+ if (r_error.error == Variant::CallError::CALL_ERROR_INVALID_ARGUMENT) {
+ int errorarg = r_error.argument;
+ error_str += "Cannot convert argument " + itos(errorarg + 1) + " to " + Variant::get_type_name(r_error.expected) + ".";
+ } else if (r_error.error == Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS) {
+ error_str += "Expected " + itos(r_error.argument) + " arguments.";
+ } else if (r_error.error == Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS) {
+ error_str += "Expected " + itos(r_error.argument) + " arguments.";
+ } else if (r_error.error == Variant::CallError::CALL_ERROR_INVALID_METHOD) {
+ error_str += "Invalid Call.";
+ } else if (r_error.error == Variant::CallError::CALL_ERROR_INSTANCE_IS_NULL) {
+ error_str += "Base Instance is null";
}
}
-
//if (!GDScriptLanguage::get_singleton()->debug_break(err_text,false)) {
- // debugger break did not happen
+ // debugger break did not happen
- if (!VisualScriptLanguage::singleton->debug_break(error_str,false)) {
+ if (!VisualScriptLanguage::singleton->debug_break(error_str, false)) {
- _err_print_error(err_func.utf8().get_data(),err_file.utf8().get_data(),err_line,error_str.utf8().get_data(),ERR_HANDLER_SCRIPT);
+ _err_print_error(err_func.utf8().get_data(), err_file.utf8().get_data(), err_line, error_str.utf8().get_data(), ERR_HANDLER_SCRIPT);
}
//}
} else {
-
//return_value=
}
@@ -1967,64 +1827,62 @@ Variant VisualScriptInstance::_call_internal(const StringName& p_method, void* p
#endif
//clean up variant stack
- for(int i=0;i<f->max_stack;i++) {
+ for (int i = 0; i < f->max_stack; i++) {
variant_stack[i].~Variant();
}
-
return return_value;
}
+Variant VisualScriptInstance::call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error) {
-Variant VisualScriptInstance::call(const StringName& p_method, const Variant** p_args, int p_argcount, Variant::CallError &r_error){
+ r_error.error = Variant::CallError::CALL_OK; //ok by default
- r_error.error=Variant::CallError::CALL_OK; //ok by default
-
- Map<StringName,Function>::Element *F = functions.find(p_method);
+ Map<StringName, Function>::Element *F = functions.find(p_method);
if (!F) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return Variant();
}
- VSDEBUG("CALLING: "+String(p_method));
+ VSDEBUG("CALLING: " + String(p_method));
- Function *f=&F->get();
+ Function *f = &F->get();
- int total_stack_size=0;
+ int total_stack_size = 0;
- total_stack_size+=f->max_stack*sizeof(Variant); //variants
- total_stack_size+=f->node_count*sizeof(bool);
- total_stack_size+=(max_input_args+max_output_args)*sizeof(Variant*); //arguments
- total_stack_size+=f->flow_stack_size*sizeof(int); //flow
- total_stack_size+=f->pass_stack_size*sizeof(int);
+ total_stack_size += f->max_stack * sizeof(Variant); //variants
+ total_stack_size += f->node_count * sizeof(bool);
+ total_stack_size += (max_input_args + max_output_args) * sizeof(Variant *); //arguments
+ total_stack_size += f->flow_stack_size * sizeof(int); //flow
+ total_stack_size += f->pass_stack_size * sizeof(int);
- VSDEBUG("STACK SIZE: "+itos(total_stack_size));
- VSDEBUG("STACK VARIANTS: : "+itos(f->max_stack));
- VSDEBUG("SEQBITS: : "+itos(f->node_count));
- VSDEBUG("MAX INPUT: "+itos(max_input_args));
- VSDEBUG("MAX OUTPUT: "+itos(max_output_args));
- VSDEBUG("FLOW STACK SIZE: "+itos(f->flow_stack_size));
- VSDEBUG("PASS STACK SIZE: "+itos(f->pass_stack_size));
+ VSDEBUG("STACK SIZE: " + itos(total_stack_size));
+ VSDEBUG("STACK VARIANTS: : " + itos(f->max_stack));
+ VSDEBUG("SEQBITS: : " + itos(f->node_count));
+ VSDEBUG("MAX INPUT: " + itos(max_input_args));
+ VSDEBUG("MAX OUTPUT: " + itos(max_output_args));
+ VSDEBUG("FLOW STACK SIZE: " + itos(f->flow_stack_size));
+ VSDEBUG("PASS STACK SIZE: " + itos(f->pass_stack_size));
void *stack = alloca(total_stack_size);
- Variant *variant_stack=(Variant*)stack;
- bool *sequence_bits = (bool*)(variant_stack + f->max_stack);
- const Variant **input_args=(const Variant**)(sequence_bits+f->node_count);
- Variant **output_args=(Variant**)(input_args + max_input_args);
+ Variant *variant_stack = (Variant *)stack;
+ bool *sequence_bits = (bool *)(variant_stack + f->max_stack);
+ const Variant **input_args = (const Variant **)(sequence_bits + f->node_count);
+ Variant **output_args = (Variant **)(input_args + max_input_args);
int flow_max = f->flow_stack_size;
- int* flow_stack = flow_max? (int*)(output_args + max_output_args) : (int*)NULL;
+ int *flow_stack = flow_max ? (int *)(output_args + max_output_args) : (int *)NULL;
int *pass_stack = flow_stack + flow_max;
- for(int i=0;i<f->node_count;i++) {
- sequence_bits[i]=false; //all starts as false
+ for (int i = 0; i < f->node_count; i++) {
+ sequence_bits[i] = false; //all starts as false
}
- zeromem(pass_stack,f->pass_stack_size*sizeof(int));
+ zeromem(pass_stack, f->pass_stack_size * sizeof(int));
- Map<int,VisualScriptNodeInstance*>::Element *E = instances.find(f->node);
+ Map<int, VisualScriptNodeInstance *>::Element *E = instances.find(f->node);
if (!E) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
ERR_EXPLAIN("No VisualScriptFunction node in function!");
ERR_FAIL_V(Variant());
@@ -2032,66 +1890,62 @@ Variant VisualScriptInstance::call(const StringName& p_method, const Variant** p
VisualScriptNodeInstance *node = E->get();
-
- if (flow_stack) {
- flow_stack[0]=node->get_id();
+ if (flow_stack) {
+ flow_stack[0] = node->get_id();
}
- VSDEBUG("ARGUMENTS: "+itos(f->argument_count)=" RECEIVED: "+itos(p_argcount));
+ VSDEBUG("ARGUMENTS: " + itos(f->argument_count) = " RECEIVED: " + itos(p_argcount));
- if (p_argcount<f->argument_count) {
- r_error.error=Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
- r_error.argument=node->get_input_port_count();
+ if (p_argcount < f->argument_count) {
+ r_error.error = Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
+ r_error.argument = node->get_input_port_count();
return Variant();
}
- if (p_argcount>f->argument_count) {
- r_error.error=Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS;
- r_error.argument=node->get_input_port_count();
+ if (p_argcount > f->argument_count) {
+ r_error.error = Variant::CallError::CALL_ERROR_TOO_MANY_ARGUMENTS;
+ r_error.argument = node->get_input_port_count();
return Variant();
}
//allocate variant stack
- for(int i=0;i<f->max_stack;i++) {
- memnew_placement(&variant_stack[i],Variant);
+ for (int i = 0; i < f->max_stack; i++) {
+ memnew_placement(&variant_stack[i], Variant);
}
//allocate function arguments (must be copied for yield to work properly)
- for(int i=0;i<p_argcount;i++) {
- variant_stack[i]=*p_args[i];
+ for (int i = 0; i < p_argcount; i++) {
+ variant_stack[i] = *p_args[i];
}
- return _call_internal(p_method,stack,total_stack_size,node,0,0,false,r_error);
-
-
+ return _call_internal(p_method, stack, total_stack_size, node, 0, 0, false, r_error);
}
-void VisualScriptInstance::notification(int p_notification){
+void VisualScriptInstance::notification(int p_notification) {
//do nothing as this is called using virtual
- Variant what=p_notification;
- const Variant*whatp=&what;
+ Variant what = p_notification;
+ const Variant *whatp = &what;
Variant::CallError ce;
- call(VisualScriptLanguage::singleton->notification,&whatp,1,ce); //do as call
-
+ call(VisualScriptLanguage::singleton->notification, &whatp, 1, ce); //do as call
}
-Ref<Script> VisualScriptInstance::get_script() const{
+Ref<Script> VisualScriptInstance::get_script() const {
return script;
}
-ScriptInstance::RPCMode VisualScriptInstance::get_rpc_mode(const StringName& p_method) const {
+ScriptInstance::RPCMode VisualScriptInstance::get_rpc_mode(const StringName &p_method) const {
- const Map<StringName,VisualScript::Function>::Element *E = script->functions.find(p_method);
+ const Map<StringName, VisualScript::Function>::Element *E = script->functions.find(p_method);
if (!E) {
return RPC_MODE_DISABLED;
}
- if (E->get().function_id>=0 && E->get().nodes.has(E->get().function_id)) {
+ if (E->get().function_id >= 0 && E->get().nodes.has(E->get().function_id)) {
Ref<VisualScriptFunction> vsf = E->get().nodes[E->get().function_id].node;
if (vsf.is_valid()) {
@@ -2103,24 +1957,23 @@ ScriptInstance::RPCMode VisualScriptInstance::get_rpc_mode(const StringName& p_m
return RPC_MODE_DISABLED;
}
-ScriptInstance::RPCMode VisualScriptInstance::get_rset_mode(const StringName& p_variable) const {
+ScriptInstance::RPCMode VisualScriptInstance::get_rset_mode(const StringName &p_variable) const {
return RPC_MODE_DISABLED;
}
+void VisualScriptInstance::create(const Ref<VisualScript> &p_script, Object *p_owner) {
-void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_owner) {
-
- script=p_script;
- owner=p_owner;
- source=p_script->get_path();
+ script = p_script;
+ owner = p_owner;
+ source = p_script->get_path();
max_input_args = 0;
max_output_args = 0;
if (p_owner->cast_to<Node>()) {
//turn on these if they exist and base is a node
- Node* node = p_owner->cast_to<Node>();
+ Node *node = p_owner->cast_to<Node>();
if (p_script->functions.has("_process"))
node->set_process(true);
if (p_script->functions.has("_fixed_process"))
@@ -2133,86 +1986,81 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
node->set_process_unhandled_key_input(true);
}
- for(const Map<StringName,VisualScript::Variable>::Element *E=script->variables.front();E;E=E->next()) {
- variables[E->key()]=E->get().default_value;
+ for (const Map<StringName, VisualScript::Variable>::Element *E = script->variables.front(); E; E = E->next()) {
+ variables[E->key()] = E->get().default_value;
//no hacer que todo exporte, solo las que queres!
}
-
- for(const Map<StringName,VisualScript::Function>::Element *E=script->functions.front();E;E=E->next()) {
+ for (const Map<StringName, VisualScript::Function>::Element *E = script->functions.front(); E; E = E->next()) {
Function function;
- function.node=E->get().function_id;
- function.max_stack=0;
- function.flow_stack_size=0;
- function.pass_stack_size=0;
- function.node_count=0;
- Map<StringName,int> local_var_indices;
+ function.node = E->get().function_id;
+ function.max_stack = 0;
+ function.flow_stack_size = 0;
+ function.pass_stack_size = 0;
+ function.node_count = 0;
+ Map<StringName, int> local_var_indices;
- if (function.node<0) {
- VisualScriptLanguage::singleton->debug_break_parse(get_script()->get_path(),0,"No start node in function: "+String(E->key()));
+ if (function.node < 0) {
+ VisualScriptLanguage::singleton->debug_break_parse(get_script()->get_path(), 0, "No start node in function: " + String(E->key()));
- ERR_CONTINUE( function.node < 0 );
+ ERR_CONTINUE(function.node < 0);
}
{
- Ref<VisualScriptFunction> func_node = script->get_node(E->key(),E->get().function_id);
+ Ref<VisualScriptFunction> func_node = script->get_node(E->key(), E->get().function_id);
if (func_node.is_null()) {
- VisualScriptLanguage::singleton->debug_break_parse(get_script()->get_path(),0,"No VisualScriptFunction typed start node in function: "+String(E->key()));
+ VisualScriptLanguage::singleton->debug_break_parse(get_script()->get_path(), 0, "No VisualScriptFunction typed start node in function: " + String(E->key()));
}
- ERR_CONTINUE( !func_node.is_valid() );
-
- function.argument_count=func_node->get_argument_count();
- function.max_stack+=function.argument_count;
- function.flow_stack_size= func_node->is_stack_less() ? 0 : func_node->get_stack_size();
+ ERR_CONTINUE(!func_node.is_valid());
+ function.argument_count = func_node->get_argument_count();
+ function.max_stack += function.argument_count;
+ function.flow_stack_size = func_node->is_stack_less() ? 0 : func_node->get_stack_size();
}
//multiple passes are required to set up this complex thing..
-
-
-
//first create the nodes
- for (const Map<int,VisualScript::Function::NodeData>::Element *F=E->get().nodes.front();F;F=F->next()) {
+ for (const Map<int, VisualScript::Function::NodeData>::Element *F = E->get().nodes.front(); F; F = F->next()) {
Ref<VisualScriptNode> node = F->get().node;
VisualScriptNodeInstance *instance = node->instance(this); //create instance
ERR_FAIL_COND(!instance);
- instance->base=node.ptr();
+ instance->base = node.ptr();
- instance->id=F->key();
+ instance->id = F->key();
instance->input_port_count = node->get_input_value_port_count();
- instance->input_ports=NULL;
+ instance->input_ports = NULL;
instance->output_port_count = node->get_output_value_port_count();
- instance->output_ports=NULL;
+ instance->output_ports = NULL;
instance->sequence_output_count = node->get_output_sequence_port_count();
- instance->sequence_index=function.node_count++;
- instance->sequence_outputs=NULL;
- instance->pass_idx=-1;
+ instance->sequence_index = function.node_count++;
+ instance->sequence_outputs = NULL;
+ instance->pass_idx = -1;
if (instance->input_port_count) {
- instance->input_ports = memnew_arr(int,instance->input_port_count);
- for(int i=0;i<instance->input_port_count;i++) {
+ instance->input_ports = memnew_arr(int, instance->input_port_count);
+ for (int i = 0; i < instance->input_port_count; i++) {
- instance->input_ports[i]=-1; //if not assigned, will become default value
- }
+ instance->input_ports[i] = -1; //if not assigned, will become default value
+ }
}
if (instance->output_port_count) {
- instance->output_ports = memnew_arr(int,instance->output_port_count);
- for(int i=0;i<instance->output_port_count;i++) {
- instance->output_ports[i]=-1; //if not assigned, will output to trash
+ instance->output_ports = memnew_arr(int, instance->output_port_count);
+ for (int i = 0; i < instance->output_port_count; i++) {
+ instance->output_ports[i] = -1; //if not assigned, will output to trash
}
}
if (instance->sequence_output_count) {
- instance->sequence_outputs = memnew_arr(VisualScriptNodeInstance*,instance->sequence_output_count);
- for(int i=0;i<instance->sequence_output_count;i++) {
- instance->sequence_outputs[i]=NULL; //if it remains null, flow ends here
+ instance->sequence_outputs = memnew_arr(VisualScriptNodeInstance *, instance->sequence_output_count);
+ for (int i = 0; i < instance->sequence_output_count; i++) {
+ instance->sequence_outputs[i] = NULL; //if it remains null, flow ends here
}
}
@@ -2228,32 +2076,30 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
var_name = String(node->cast_to<VisualScriptLocalVarSet>()->get_var_name()).strip_edges();
if (!local_var_indices.has(var_name)) {
- local_var_indices[var_name]=function.max_stack;
+ local_var_indices[var_name] = function.max_stack;
function.max_stack++;
}
- instance->working_mem_idx=local_var_indices[var_name];
+ instance->working_mem_idx = local_var_indices[var_name];
} else if (instance->get_working_memory_size()) {
instance->working_mem_idx = function.max_stack;
- function.max_stack+=instance->get_working_memory_size();
+ function.max_stack += instance->get_working_memory_size();
} else {
- instance->working_mem_idx=-1; //no working mem
+ instance->working_mem_idx = -1; //no working mem
}
- max_input_args = MAX( max_input_args, instance->input_port_count );
- max_output_args = MAX( max_output_args, instance->output_port_count );
-
- instances[F->key()]=instance;
-
+ max_input_args = MAX(max_input_args, instance->input_port_count);
+ max_output_args = MAX(max_output_args, instance->output_port_count);
+ instances[F->key()] = instance;
}
function.trash_pos = function.max_stack++; //create pos for trash
//second pass, do data connections
- for(const Set<VisualScript::DataConnection>::Element *F=E->get().data_connections.front();F;F=F->next()) {
+ for (const Set<VisualScript::DataConnection>::Element *F = E->get().data_connections.front(); F; F = F->next()) {
VisualScript::DataConnection dc = F->get();
ERR_CONTINUE(!instances.has(dc.from_node));
@@ -2263,29 +2109,27 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
ERR_CONTINUE(dc.from_port >= from->output_port_count);
ERR_CONTINUE(dc.to_port >= to->input_port_count);
- if (from->output_ports[dc.from_port]==-1) {
+ if (from->output_ports[dc.from_port] == -1) {
int stack_pos = function.max_stack++;
from->output_ports[dc.from_port] = stack_pos;
}
-
- if (from->get_sequence_output_count()==0 && to->dependencies.find(from)==-1) {
+ if (from->get_sequence_output_count() == 0 && to->dependencies.find(from) == -1) {
//if the node we are reading from has no output sequence, we must call step() before reading from it.
- if (from->pass_idx==-1) {
- from->pass_idx=function.pass_stack_size;
+ if (from->pass_idx == -1) {
+ from->pass_idx = function.pass_stack_size;
function.pass_stack_size++;
}
to->dependencies.push_back(from);
}
to->input_ports[dc.to_port] = from->output_ports[dc.from_port]; //read from wherever the stack is
-
}
//third pass, do sequence connections
- for(const Set<VisualScript::SequenceConnection>::Element *F=E->get().sequence_connections.front();F;F=F->next()) {
+ for (const Set<VisualScript::SequenceConnection>::Element *F = E->get().sequence_connections.front(); F; F = F->next()) {
VisualScript::SequenceConnection sc = F->get();
ERR_CONTINUE(!instances.has(sc.from_node));
@@ -2294,16 +2138,14 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
VisualScriptNodeInstance *to = instances[sc.to_node];
ERR_CONTINUE(sc.from_output >= from->sequence_output_count);
- from->sequence_outputs[sc.from_output]=to;
-
+ from->sequence_outputs[sc.from_output] = to;
}
//fourth pass:
// 1) unassigned input ports to default values
// 2) connect unassigned output ports to trash
-
- for (const Map<int,VisualScript::Function::NodeData>::Element *F=E->get().nodes.front();F;F=F->next()) {
+ for (const Map<int, VisualScript::Function::NodeData>::Element *F = E->get().nodes.front(); F; F = F->next()) {
ERR_CONTINUE(!instances.has(F->key()));
@@ -2311,37 +2153,33 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
VisualScriptNodeInstance *instance = instances[F->key()];
// conect to default values
- for(int i=0;i<instance->input_port_count;i++) {
- if (instance->input_ports[i]==-1) {
+ for (int i = 0; i < instance->input_port_count; i++) {
+ if (instance->input_ports[i] == -1) {
//unassigned, connect to default val
instance->input_ports[i] = default_values.size() | VisualScriptNodeInstance::INPUT_DEFAULT_VALUE_BIT;
- default_values.push_back( node->get_default_input_value(i) );
+ default_values.push_back(node->get_default_input_value(i));
}
}
// conect to trash
- for(int i=0;i<instance->output_port_count;i++) {
- if (instance->output_ports[i]==-1) {
+ for (int i = 0; i < instance->output_port_count; i++) {
+ if (instance->output_ports[i] == -1) {
instance->output_ports[i] = function.trash_pos; //trash is same for all
}
}
}
-
- functions[E->key()]=function;
+ functions[E->key()] = function;
}
}
-ScriptLanguage *VisualScriptInstance::get_language(){
+ScriptLanguage *VisualScriptInstance::get_language() {
return VisualScriptLanguage::singleton;
}
-
VisualScriptInstance::VisualScriptInstance() {
-
-
}
VisualScriptInstance::~VisualScriptInstance() {
@@ -2354,22 +2192,18 @@ VisualScriptInstance::~VisualScriptInstance() {
if (VisualScriptLanguage::singleton->lock)
VisualScriptLanguage::singleton->lock->unlock();
- for (Map<int,VisualScriptNodeInstance*>::Element *E=instances.front();E;E=E->next()) {
+ for (Map<int, VisualScriptNodeInstance *>::Element *E = instances.front(); E; E = E->next()) {
memdelete(E->get());
}
}
-
-
/////////////////////////////////////////////
-
/////////////////////
+Variant VisualScriptFunctionState::_signal_callback(const Variant **p_args, int p_argcount, Variant::CallError &r_error) {
-Variant VisualScriptFunctionState::_signal_callback(const Variant** p_args, int p_argcount, Variant::CallError& r_error) {
-
- ERR_FAIL_COND_V(function==StringName(),Variant());
+ ERR_FAIL_COND_V(function == StringName(), Variant());
#ifdef DEBUG_ENABLED
if (instance_id && !ObjectDB::get_instance(instance_id)) {
@@ -2383,61 +2217,61 @@ Variant VisualScriptFunctionState::_signal_callback(const Variant** p_args, int
}
#endif
- r_error.error=Variant::CallError::CALL_OK;
+ r_error.error = Variant::CallError::CALL_OK;
Array args;
- if (p_argcount==0) {
- r_error.error=Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
- r_error.argument=1;
+ if (p_argcount == 0) {
+ r_error.error = Variant::CallError::CALL_ERROR_TOO_FEW_ARGUMENTS;
+ r_error.argument = 1;
return Variant();
- } else if (p_argcount==1) {
+ } else if (p_argcount == 1) {
//noooneee, reserved for me, me and only me.
} else {
- for(int i=0;i<p_argcount-1;i++) {
+ for (int i = 0; i < p_argcount - 1; i++) {
args.push_back(*p_args[i]);
}
}
- Ref<VisualScriptFunctionState> self = *p_args[p_argcount-1]; //hi, I'm myself, needed this to remain alive.
+ Ref<VisualScriptFunctionState> self = *p_args[p_argcount - 1]; //hi, I'm myself, needed this to remain alive.
if (self.is_null()) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=p_argcount-1;
- r_error.expected=Variant::OBJECT;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = p_argcount - 1;
+ r_error.expected = Variant::OBJECT;
return Variant();
}
- r_error.error=Variant::CallError::CALL_OK;
+ r_error.error = Variant::CallError::CALL_OK;
- Variant *working_mem = ((Variant*)stack.ptr()) + working_mem_index;
+ Variant *working_mem = ((Variant *)stack.ptr()) + working_mem_index;
- *working_mem=args; //arguments go to working mem.
+ *working_mem = args; //arguments go to working mem.
- Variant ret = instance->_call_internal(function,stack.ptr(),stack.size(),node,flow_stack_pos,pass,true,r_error);
- function=StringName(); //invalidate
+ Variant ret = instance->_call_internal(function, stack.ptr(), stack.size(), node, flow_stack_pos, pass, true, r_error);
+ function = StringName(); //invalidate
return ret;
}
-void VisualScriptFunctionState::connect_to_signal(Object* p_obj, const String& p_signal, Array p_binds) {
+void VisualScriptFunctionState::connect_to_signal(Object *p_obj, const String &p_signal, Array p_binds) {
Vector<Variant> binds;
- for(int i=0;i<p_binds.size();i++) {
+ for (int i = 0; i < p_binds.size(); i++) {
binds.push_back(p_binds[i]);
}
binds.push_back(Ref<VisualScriptFunctionState>(this)); //add myself on the back to avoid dying from unreferencing
- p_obj->connect(p_signal,this,"_signal_callback",binds);
+ p_obj->connect(p_signal, this, "_signal_callback", binds);
}
bool VisualScriptFunctionState::is_valid() const {
- return function!=StringName();
+ return function != StringName();
}
Variant VisualScriptFunctionState::resume(Array p_args) {
- ERR_FAIL_COND_V(function==StringName(),Variant());
+ ERR_FAIL_COND_V(function == StringName(), Variant());
#ifdef DEBUG_ENABLED
if (instance_id && !ObjectDB::get_instance(instance_id)) {
ERR_EXPLAIN("Resumed after yield, but class instance is gone");
@@ -2451,44 +2285,38 @@ Variant VisualScriptFunctionState::resume(Array p_args) {
#endif
Variant::CallError r_error;
- r_error.error=Variant::CallError::CALL_OK;
+ r_error.error = Variant::CallError::CALL_OK;
- Variant *working_mem = ((Variant*)stack.ptr()) + working_mem_index;
+ Variant *working_mem = ((Variant *)stack.ptr()) + working_mem_index;
- *working_mem=p_args; //arguments go to working mem.
+ *working_mem = p_args; //arguments go to working mem.
- Variant ret= instance->_call_internal(function,stack.ptr(),stack.size(),node,flow_stack_pos,pass,true,r_error);
- function=StringName(); //invalidate
+ Variant ret = instance->_call_internal(function, stack.ptr(), stack.size(), node, flow_stack_pos, pass, true, r_error);
+ function = StringName(); //invalidate
return ret;
}
-
void VisualScriptFunctionState::_bind_methods() {
- ClassDB::bind_method(D_METHOD("connect_to_signal","obj","signals","args"),&VisualScriptFunctionState::connect_to_signal);
- ClassDB::bind_method(D_METHOD("resume:Array","args"),&VisualScriptFunctionState::resume,DEFVAL(Variant()));
- ClassDB::bind_method(D_METHOD("is_valid"),&VisualScriptFunctionState::is_valid);
- ClassDB::bind_vararg_method(METHOD_FLAGS_DEFAULT,"_signal_callback",&VisualScriptFunctionState::_signal_callback,MethodInfo("_signal_callback"));
+ ClassDB::bind_method(D_METHOD("connect_to_signal", "obj", "signals", "args"), &VisualScriptFunctionState::connect_to_signal);
+ ClassDB::bind_method(D_METHOD("resume:Array", "args"), &VisualScriptFunctionState::resume, DEFVAL(Variant()));
+ ClassDB::bind_method(D_METHOD("is_valid"), &VisualScriptFunctionState::is_valid);
+ ClassDB::bind_vararg_method(METHOD_FLAGS_DEFAULT, "_signal_callback", &VisualScriptFunctionState::_signal_callback, MethodInfo("_signal_callback"));
}
VisualScriptFunctionState::VisualScriptFunctionState() {
-
}
VisualScriptFunctionState::~VisualScriptFunctionState() {
- if (function!=StringName()) {
- Variant *s = ((Variant*)stack.ptr());
- for(int i=0;i<variant_stack_size;i++) {
+ if (function != StringName()) {
+ Variant *s = ((Variant *)stack.ptr());
+ for (int i = 0; i < variant_stack_size; i++) {
s[i].~Variant();
}
}
}
-
-
-
-
///////////////////////////////////////////////
String VisualScriptLanguage::get_name() const {
@@ -2498,8 +2326,6 @@ String VisualScriptLanguage::get_name() const {
/* LANGUAGE FUNCTIONS */
void VisualScriptLanguage::init() {
-
-
}
String VisualScriptLanguage::get_type() const {
@@ -2509,207 +2335,185 @@ String VisualScriptLanguage::get_extension() const {
return "vs";
}
-Error VisualScriptLanguage::execute_file(const String& p_path) {
+Error VisualScriptLanguage::execute_file(const String &p_path) {
return OK;
}
void VisualScriptLanguage::finish() {
-
-
}
/* EDITOR FUNCTIONS */
void VisualScriptLanguage::get_reserved_words(List<String> *p_words) const {
-
-
}
void VisualScriptLanguage::get_comment_delimiters(List<String> *p_delimiters) const {
-
-
}
void VisualScriptLanguage::get_string_delimiters(List<String> *p_delimiters) const {
-
-
}
-Ref<Script> VisualScriptLanguage::get_template(const String& p_class_name, const String& p_base_class_name) const {
+Ref<Script> VisualScriptLanguage::get_template(const String &p_class_name, const String &p_base_class_name) const {
Ref<VisualScript> script;
script.instance();
script->set_instance_base_type(p_base_class_name);
return script;
}
-bool VisualScriptLanguage::validate(const String& p_script, int &r_line_error,int &r_col_error,String& r_test_error, const String& p_path,List<String> *r_functions) const {
+bool VisualScriptLanguage::validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path, List<String> *r_functions) const {
return false;
}
Script *VisualScriptLanguage::create_script() const {
- return memnew( VisualScript );
+ return memnew(VisualScript);
}
bool VisualScriptLanguage::has_named_classes() const {
return false;
}
-int VisualScriptLanguage::find_function(const String& p_function,const String& p_code) const {
+int VisualScriptLanguage::find_function(const String &p_function, const String &p_code) const {
return -1;
}
-String VisualScriptLanguage::make_function(const String& p_class,const String& p_name,const PoolStringArray& p_args) const {
+String VisualScriptLanguage::make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const {
return String();
}
-void VisualScriptLanguage::auto_indent_code(String& p_code,int p_from_line,int p_to_line) const {
-
-
+void VisualScriptLanguage::auto_indent_code(String &p_code, int p_from_line, int p_to_line) const {
}
-void VisualScriptLanguage::add_global_constant(const StringName& p_variable,const Variant& p_value) {
-
-
+void VisualScriptLanguage::add_global_constant(const StringName &p_variable, const Variant &p_value) {
}
-
/* DEBUGGER FUNCTIONS */
-
-
-bool VisualScriptLanguage::debug_break_parse(const String& p_file, int p_node,const String& p_error) {
+bool VisualScriptLanguage::debug_break_parse(const String &p_file, int p_node, const String &p_error) {
//break because of parse error
- if (ScriptDebugger::get_singleton() && Thread::get_caller_ID()==Thread::get_main_ID()) {
-
- _debug_parse_err_node=p_node;
- _debug_parse_err_file=p_file;
- _debug_error=p_error;
- ScriptDebugger::get_singleton()->debug(this,false);
- return true;
- } else {
- return false;
- }
+ if (ScriptDebugger::get_singleton() && Thread::get_caller_ID() == Thread::get_main_ID()) {
+ _debug_parse_err_node = p_node;
+ _debug_parse_err_file = p_file;
+ _debug_error = p_error;
+ ScriptDebugger::get_singleton()->debug(this, false);
+ return true;
+ } else {
+ return false;
+ }
}
-bool VisualScriptLanguage::debug_break(const String& p_error,bool p_allow_continue) {
-
- if (ScriptDebugger::get_singleton() && Thread::get_caller_ID()==Thread::get_main_ID()) {
+bool VisualScriptLanguage::debug_break(const String &p_error, bool p_allow_continue) {
- _debug_parse_err_node=-1;
- _debug_parse_err_file="";
- _debug_error=p_error;
- ScriptDebugger::get_singleton()->debug(this,p_allow_continue);
- return true;
- } else {
- return false;
- }
+ if (ScriptDebugger::get_singleton() && Thread::get_caller_ID() == Thread::get_main_ID()) {
+ _debug_parse_err_node = -1;
+ _debug_parse_err_file = "";
+ _debug_error = p_error;
+ ScriptDebugger::get_singleton()->debug(this, p_allow_continue);
+ return true;
+ } else {
+ return false;
+ }
}
-
String VisualScriptLanguage::debug_get_error() const {
- return _debug_error;
+ return _debug_error;
}
int VisualScriptLanguage::debug_get_stack_level_count() const {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return 1;
-
return _debug_call_stack_pos;
}
int VisualScriptLanguage::debug_get_stack_level_line(int p_level) const {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return _debug_parse_err_node;
- ERR_FAIL_INDEX_V(p_level,_debug_call_stack_pos,-1);
-
- int l = _debug_call_stack_pos - p_level -1;
+ ERR_FAIL_INDEX_V(p_level, _debug_call_stack_pos, -1);
- return *(_call_stack[l].current_id);
+ int l = _debug_call_stack_pos - p_level - 1;
+ return *(_call_stack[l].current_id);
}
String VisualScriptLanguage::debug_get_stack_level_function(int p_level) const {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return "";
- ERR_FAIL_INDEX_V(p_level,_debug_call_stack_pos,"");
- int l = _debug_call_stack_pos - p_level -1;
- return *_call_stack[l].function;
+ ERR_FAIL_INDEX_V(p_level, _debug_call_stack_pos, "");
+ int l = _debug_call_stack_pos - p_level - 1;
+ return *_call_stack[l].function;
}
String VisualScriptLanguage::debug_get_stack_level_source(int p_level) const {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return _debug_parse_err_file;
- ERR_FAIL_INDEX_V(p_level,_debug_call_stack_pos,"");
- int l = _debug_call_stack_pos - p_level -1;
- return _call_stack[l].instance->get_script_ptr()->get_path();
-
+ ERR_FAIL_INDEX_V(p_level, _debug_call_stack_pos, "");
+ int l = _debug_call_stack_pos - p_level - 1;
+ return _call_stack[l].instance->get_script_ptr()->get_path();
}
-void VisualScriptLanguage::debug_get_stack_level_locals(int p_level,List<String> *p_locals, List<Variant> *p_values, int p_max_subitems,int p_max_depth) {
+void VisualScriptLanguage::debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return;
- ERR_FAIL_INDEX(p_level,_debug_call_stack_pos);
+ ERR_FAIL_INDEX(p_level, _debug_call_stack_pos);
- int l = _debug_call_stack_pos - p_level -1;
+ int l = _debug_call_stack_pos - p_level - 1;
const StringName *f = _call_stack[l].function;
ERR_FAIL_COND(!_call_stack[l].instance->functions.has(*f));
//VisualScriptInstance::Function *func = &_call_stack[l].instance->functions[*f];
- VisualScriptNodeInstance *node =_call_stack[l].instance->instances[*_call_stack[l].current_id];
+ VisualScriptNodeInstance *node = _call_stack[l].instance->instances[*_call_stack[l].current_id];
ERR_FAIL_COND(!node);
p_locals->push_back("node_name");
p_values->push_back(node->get_base_node()->get_text());
- for(int i=0;i<node->input_port_count;i++) {
+ for (int i = 0; i < node->input_port_count; i++) {
String name = node->get_base_node()->get_input_value_port_info(i).name;
- if (name==String()) {
- name="in_"+itos(i);
+ if (name == String()) {
+ name = "in_" + itos(i);
}
- p_locals->push_back("input/"+name);
+ p_locals->push_back("input/" + name);
//value is trickier
int in_from = node->input_ports[i];
- int in_value = in_from&VisualScriptNodeInstance::INPUT_MASK;
+ int in_value = in_from & VisualScriptNodeInstance::INPUT_MASK;
- if (in_from&VisualScriptNodeInstance::INPUT_DEFAULT_VALUE_BIT) {
+ if (in_from & VisualScriptNodeInstance::INPUT_DEFAULT_VALUE_BIT) {
p_values->push_back(_call_stack[l].instance->default_values[in_value]);
} else {
- p_values->push_back( _call_stack[l].stack[ in_value] );
+ p_values->push_back(_call_stack[l].stack[in_value]);
}
}
- for(int i=0;i<node->output_port_count;i++) {
+ for (int i = 0; i < node->output_port_count; i++) {
String name = node->get_base_node()->get_output_value_port_info(i).name;
- if (name==String()) {
- name="out_"+itos(i);
+ if (name == String()) {
+ name = "out_" + itos(i);
}
- p_locals->push_back("output/"+name);
+ p_locals->push_back("output/" + name);
//value is trickier
int in_from = node->output_ports[i];
- p_values->push_back( _call_stack[l].stack[ in_from] );
-
+ p_values->push_back(_call_stack[l].stack[in_from]);
}
- for(int i=0;i<node->get_working_memory_size();i++) {
- p_locals->push_back("working_mem/mem_"+itos(i));
- p_values->push_back( (*_call_stack[l].work_mem)[i]);
+ for (int i = 0; i < node->get_working_memory_size(); i++) {
+ p_locals->push_back("working_mem/mem_" + itos(i));
+ p_values->push_back((*_call_stack[l].work_mem)[i]);
}
-/*
+ /*
ERR_FAIL_INDEX(p_level,_debug_call_stack_pos);
@@ -2725,14 +2529,13 @@ void VisualScriptLanguage::debug_get_stack_level_locals(int p_level,List<String>
}
*/
}
-void VisualScriptLanguage::debug_get_stack_level_members(int p_level,List<String> *p_members, List<Variant> *p_values, int p_max_subitems,int p_max_depth) {
+void VisualScriptLanguage::debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return;
- ERR_FAIL_INDEX(p_level,_debug_call_stack_pos);
- int l = _debug_call_stack_pos - p_level -1;
-
+ ERR_FAIL_INDEX(p_level, _debug_call_stack_pos);
+ int l = _debug_call_stack_pos - p_level - 1;
Ref<VisualScript> vs = _call_stack[l].instance->get_script();
if (vs.is_null())
@@ -2740,123 +2543,103 @@ void VisualScriptLanguage::debug_get_stack_level_members(int p_level,List<String
List<StringName> vars;
vs->get_variable_list(&vars);
- for (List<StringName>::Element *E=vars.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = vars.front(); E; E = E->next()) {
Variant v;
- if (_call_stack[l].instance->get_variable(E->get(),&v)) {
- p_members->push_back("variables/"+E->get());
+ if (_call_stack[l].instance->get_variable(E->get(), &v)) {
+ p_members->push_back("variables/" + E->get());
p_values->push_back(v);
}
}
}
-void VisualScriptLanguage::debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems,int p_max_depth) {
+void VisualScriptLanguage::debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems, int p_max_depth) {
- //no globals are really reachable in gdscript
+ //no globals are really reachable in gdscript
}
-String VisualScriptLanguage::debug_parse_stack_level_expression(int p_level,const String& p_expression,int p_max_subitems,int p_max_depth) {
+String VisualScriptLanguage::debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems, int p_max_depth) {
- if (_debug_parse_err_node>=0)
+ if (_debug_parse_err_node >= 0)
return "";
return "";
}
-
-
void VisualScriptLanguage::reload_all_scripts() {
-
-
}
-void VisualScriptLanguage::reload_tool_script(const Ref<Script>& p_script,bool p_soft_reload) {
-
-
+void VisualScriptLanguage::reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload) {
}
/* LOADER FUNCTIONS */
void VisualScriptLanguage::get_recognized_extensions(List<String> *p_extensions) const {
p_extensions->push_back("vs");
-
}
void VisualScriptLanguage::get_public_functions(List<MethodInfo> *p_functions) const {
-
-
}
-void VisualScriptLanguage::get_public_constants(List<Pair<String,Variant> > *p_constants) const {
-
-
+void VisualScriptLanguage::get_public_constants(List<Pair<String, Variant> > *p_constants) const {
}
void VisualScriptLanguage::profiling_start() {
-
-
}
void VisualScriptLanguage::profiling_stop() {
-
-
}
-int VisualScriptLanguage::profiling_get_accumulated_data(ProfilingInfo *p_info_arr,int p_info_max) {
+int VisualScriptLanguage::profiling_get_accumulated_data(ProfilingInfo *p_info_arr, int p_info_max) {
return 0;
}
-int VisualScriptLanguage::profiling_get_frame_data(ProfilingInfo *p_info_arr,int p_info_max) {
+int VisualScriptLanguage::profiling_get_frame_data(ProfilingInfo *p_info_arr, int p_info_max) {
return 0;
}
+VisualScriptLanguage *VisualScriptLanguage::singleton = NULL;
-VisualScriptLanguage* VisualScriptLanguage::singleton=NULL;
-
-
-void VisualScriptLanguage::add_register_func(const String& p_name,VisualScriptNodeRegisterFunc p_func) {
+void VisualScriptLanguage::add_register_func(const String &p_name, VisualScriptNodeRegisterFunc p_func) {
ERR_FAIL_COND(register_funcs.has(p_name));
- register_funcs[p_name]=p_func;
+ register_funcs[p_name] = p_func;
}
-Ref<VisualScriptNode> VisualScriptLanguage::create_node_from_name(const String& p_name) {
+Ref<VisualScriptNode> VisualScriptLanguage::create_node_from_name(const String &p_name) {
- ERR_FAIL_COND_V(!register_funcs.has(p_name),Ref<VisualScriptNode>());
+ ERR_FAIL_COND_V(!register_funcs.has(p_name), Ref<VisualScriptNode>());
return register_funcs[p_name](p_name);
}
void VisualScriptLanguage::get_registered_node_names(List<String> *r_names) {
- for (Map<String,VisualScriptNodeRegisterFunc>::Element *E=register_funcs.front();E;E=E->next()) {
+ for (Map<String, VisualScriptNodeRegisterFunc>::Element *E = register_funcs.front(); E; E = E->next()) {
r_names->push_back(E->key());
}
}
-
VisualScriptLanguage::VisualScriptLanguage() {
- notification="_notification";
- _step="_step";
- _subcall="_subcall";
- singleton=this;
+ notification = "_notification";
+ _step = "_step";
+ _subcall = "_subcall";
+ singleton = this;
#ifndef NO_THREADS
lock = Mutex::create();
#endif
-
- _debug_parse_err_node=-1;
- _debug_parse_err_file="";
- _debug_call_stack_pos=0;
- int dmcs=GLOBAL_DEF("debug/script/max_call_stack",1024);
+ _debug_parse_err_node = -1;
+ _debug_parse_err_file = "";
+ _debug_call_stack_pos = 0;
+ int dmcs = GLOBAL_DEF("debug/script/max_call_stack", 1024);
if (ScriptDebugger::get_singleton()) {
//debugging enabled!
_debug_max_call_stack = dmcs;
- if (_debug_max_call_stack<1024)
- _debug_max_call_stack=1024;
- _call_stack = memnew_arr( CallLevel, _debug_max_call_stack+1 );
+ if (_debug_max_call_stack < 1024)
+ _debug_max_call_stack = 1024;
+ _call_stack = memnew_arr(CallLevel, _debug_max_call_stack + 1);
} else {
- _debug_max_call_stack=0;
- _call_stack=NULL;
+ _debug_max_call_stack = 0;
+ _call_stack = NULL;
}
-
}
VisualScriptLanguage::~VisualScriptLanguage() {
@@ -2864,8 +2647,8 @@ VisualScriptLanguage::~VisualScriptLanguage() {
if (lock)
memdelete(lock);
- if (_call_stack) {
+ if (_call_stack) {
memdelete_arr(_call_stack);
}
- singleton=NULL;
+ singleton = NULL;
}
diff --git a/modules/visual_script/visual_script.h b/modules/visual_script/visual_script.h
index ef73a89048..e3af3f4a1b 100644
--- a/modules/visual_script/visual_script.h
+++ b/modules/visual_script/visual_script.h
@@ -29,19 +29,19 @@
#ifndef VSCRIPT_H
#define VSCRIPT_H
-#include "script_language.h"
#include "os/thread.h"
+#include "script_language.h"
class VisualScriptInstance;
class VisualScriptNodeInstance;
class VisualScript;
class VisualScriptNode : public Resource {
- GDCLASS(VisualScriptNode,Resource)
+ GDCLASS(VisualScriptNode, Resource)
-friend class VisualScript;
+ friend class VisualScript;
- Set<VisualScript*> scripts_used;
+ Set<VisualScript *> scripts_used;
Array default_input_values;
bool breakpoint;
@@ -50,41 +50,40 @@ friend class VisualScript;
Array _get_default_input_values() const;
void validate_input_default_values();
-protected:
+protected:
void _notification(int p_what);
void ports_changed_notify();
static void _bind_methods();
-public:
+public:
Ref<VisualScript> get_visual_script() const;
- virtual int get_output_sequence_port_count() const=0;
- virtual bool has_input_sequence_port() const=0;
+ virtual int get_output_sequence_port_count() const = 0;
+ virtual bool has_input_sequence_port() const = 0;
- virtual String get_output_sequence_port_text(int p_port) const=0;
+ virtual String get_output_sequence_port_text(int p_port) const = 0;
virtual bool has_mixed_input_and_sequence_ports() const { return false; }
- virtual int get_input_value_port_count() const=0;
- virtual int get_output_value_port_count() const=0;
+ virtual int get_input_value_port_count() const = 0;
+ virtual int get_output_value_port_count() const = 0;
+ virtual PropertyInfo get_input_value_port_info(int p_idx) const = 0;
+ virtual PropertyInfo get_output_value_port_info(int p_idx) const = 0;
- virtual PropertyInfo get_input_value_port_info(int p_idx) const=0;
- virtual PropertyInfo get_output_value_port_info(int p_idx) const=0;
-
- void set_default_input_value(int p_port,const Variant& p_value);
+ void set_default_input_value(int p_port, const Variant &p_value);
Variant get_default_input_value(int p_port) const;
- virtual String get_caption() const=0;
- virtual String get_text() const=0;
- virtual String get_category() const=0;
+ virtual String get_caption() const = 0;
+ virtual String get_text() const = 0;
+ virtual String get_category() const = 0;
//used by editor, this is not really saved
void set_breakpoint(bool p_breakpoint);
bool is_breakpoint() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance)=0;
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance) = 0;
struct TypeGuess {
@@ -93,32 +92,32 @@ public:
StringName GDCLASS;
Ref<Script> script;
- TypeGuess() { type=Variant::NIL; ev_type=InputEvent::NONE; }
+ TypeGuess() {
+ type = Variant::NIL;
+ ev_type = InputEvent::NONE;
+ }
};
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptNode();
};
-
class VisualScriptNodeInstance {
-friend class VisualScriptInstance;
-friend class VisualScriptLanguage; //for debugger
-
+ friend class VisualScriptInstance;
+ friend class VisualScriptLanguage; //for debugger
enum { //input argument addressing
- INPUT_SHIFT=1<<24,
- INPUT_MASK=INPUT_SHIFT-1,
- INPUT_DEFAULT_VALUE_BIT=INPUT_SHIFT, // from unassigned input port, using default value (edited by user)
+ INPUT_SHIFT = 1 << 24,
+ INPUT_MASK = INPUT_SHIFT - 1,
+ INPUT_DEFAULT_VALUE_BIT = INPUT_SHIFT, // from unassigned input port, using default value (edited by user)
};
-
int id;
int sequence_index;
VisualScriptNodeInstance **sequence_outputs;
int sequence_output_count;
- Vector<VisualScriptNodeInstance*> dependencies;
+ Vector<VisualScriptNodeInstance *> dependencies;
int *input_ports;
int input_port_count;
int *output_ports;
@@ -129,7 +128,6 @@ friend class VisualScriptLanguage; //for debugger
VisualScriptNode *base;
public:
-
enum StartMode {
START_MODE_BEGIN_SEQUENCE,
START_MODE_CONTINUE_SEQUENCE,
@@ -137,44 +135,42 @@ public:
};
enum {
- STEP_SHIFT=1<<24,
- STEP_MASK=STEP_SHIFT-1,
- STEP_FLAG_PUSH_STACK_BIT=STEP_SHIFT, //push bit to stack
- STEP_FLAG_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)
+ STEP_SHIFT = 1 << 24,
+ STEP_MASK = STEP_SHIFT - 1,
+ STEP_FLAG_PUSH_STACK_BIT = STEP_SHIFT, //push bit to stack
+ STEP_FLAG_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)
- FLOW_STACK_PUSHED_BIT=1<<30, //in flow stack, means bit was pushed (must go back here if end of sequence)
- FLOW_STACK_MASK=FLOW_STACK_PUSHED_BIT-1
+ FLOW_STACK_PUSHED_BIT = 1 << 30, //in flow stack, means bit was pushed (must go back here if end of sequence)
+ FLOW_STACK_MASK = FLOW_STACK_PUSHED_BIT - 1
};
- _FORCE_INLINE_ int get_input_port_count() const { return input_port_count; }
- _FORCE_INLINE_ int get_output_port_count() const { return output_port_count; }
- _FORCE_INLINE_ int get_sequence_output_count() const { return sequence_output_count; }
+ _FORCE_INLINE_ int get_input_port_count() const { return input_port_count; }
+ _FORCE_INLINE_ int get_output_port_count() const { return output_port_count; }
+ _FORCE_INLINE_ int get_sequence_output_count() const { return sequence_output_count; }
- _FORCE_INLINE_ int get_id() const { return id; }
+ _FORCE_INLINE_ int get_id() const { return id; }
virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str)=0; //do a step, return which sequence port to go out
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) = 0; //do a step, return which sequence port to go out
- Ref<VisualScriptNode> get_base_node() { return Ref<VisualScriptNode>( base ); }
+ Ref<VisualScriptNode> get_base_node() { return Ref<VisualScriptNode>(base); }
VisualScriptNodeInstance();
virtual ~VisualScriptNodeInstance();
};
-
class VisualScript : public Script {
- GDCLASS( VisualScript, Script )
+ GDCLASS(VisualScript, Script)
RES_BASE_EXTENSION("vs");
public:
-
struct SequenceConnection {
union {
@@ -187,9 +183,9 @@ public:
uint64_t id;
};
- bool operator<(const SequenceConnection& p_connection) const {
+ bool operator<(const SequenceConnection &p_connection) const {
- return id<p_connection.id;
+ return id < p_connection.id;
}
};
@@ -206,15 +202,14 @@ public:
uint64_t id;
};
- bool operator<(const DataConnection& p_connection) const {
+ bool operator<(const DataConnection &p_connection) const {
- return id<p_connection.id;
+ return id < p_connection.id;
}
};
-
private:
-friend class VisualScriptInstance;
+ friend class VisualScriptInstance;
StringName base_type;
struct Argument {
@@ -228,7 +223,7 @@ friend class VisualScriptInstance;
Ref<VisualScriptNode> node;
};
- Map<int,NodeData> nodes;
+ Map<int, NodeData> nodes;
Set<SequenceConnection> sequence_connections;
@@ -238,9 +233,7 @@ friend class VisualScriptInstance;
Vector2 scroll;
-
- Function() { function_id=-1; }
-
+ Function() { function_id = -1; }
};
struct Variable {
@@ -249,109 +242,101 @@ friend class VisualScriptInstance;
bool _export;
};
+ Map<StringName, Function> functions;
+ Map<StringName, Variable> variables;
+ Map<StringName, Vector<Argument> > custom_signals;
-
- Map<StringName,Function> functions;
- Map<StringName,Variable> variables;
- Map<StringName,Vector<Argument> > custom_signals;
-
- Map<Object*,VisualScriptInstance*> instances;
+ Map<Object *, VisualScriptInstance *> instances;
#ifdef TOOLS_ENABLED
- Set<PlaceHolderScriptInstance*> placeholders;
+ Set<PlaceHolderScriptInstance *> placeholders;
//void _update_placeholder(PlaceHolderScriptInstance *p_placeholder);
virtual void _placeholder_erased(PlaceHolderScriptInstance *p_placeholder);
void _update_placeholders();
#endif
- void _set_variable_info(const StringName& p_name,const Dictionary& p_info);
- Dictionary _get_variable_info(const StringName& p_name) const;
-
+ void _set_variable_info(const StringName &p_name, const Dictionary &p_info);
+ Dictionary _get_variable_info(const StringName &p_name) const;
- void _set_data(const Dictionary& p_data);
+ void _set_data(const Dictionary &p_data);
Dictionary _get_data() const;
protected:
-
void _node_ports_changed(int p_id);
static void _bind_methods();
-public:
-
- void add_function(const StringName& p_name);
- bool has_function(const StringName& p_name) const;
- void remove_function(const StringName& p_name);
- void rename_function(const StringName& p_name,const StringName& p_new_name);
- void set_function_scroll(const StringName& p_name, const Vector2& p_scroll);
- Vector2 get_function_scroll(const StringName& p_name) const;
+public:
+ void add_function(const StringName &p_name);
+ bool has_function(const StringName &p_name) const;
+ void remove_function(const StringName &p_name);
+ void rename_function(const StringName &p_name, const StringName &p_new_name);
+ void set_function_scroll(const StringName &p_name, const Vector2 &p_scroll);
+ Vector2 get_function_scroll(const StringName &p_name) const;
void get_function_list(List<StringName> *r_functions) const;
- int get_function_node_id(const StringName& p_name) const;
-
-
- void add_node(const StringName& p_func,int p_id,const Ref<VisualScriptNode>& p_node,const Point2& p_pos=Point2());
- void remove_node(const StringName& p_func,int p_id);
- bool has_node(const StringName& p_func,int p_id) const;
- Ref<VisualScriptNode> get_node(const StringName& p_func,int p_id) const;
- void set_node_pos(const StringName& p_func,int p_id,const Point2& p_pos);
- Point2 get_node_pos(const StringName& p_func,int p_id) const;
- void get_node_list(const StringName& p_func,List<int> *r_nodes) const;
-
- void sequence_connect(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node);
- void sequence_disconnect(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node);
- bool has_sequence_connection(const StringName& p_func,int p_from_node,int p_from_output,int p_to_node) const;
- void get_sequence_connection_list(const StringName& p_func,List<SequenceConnection> *r_connection) const;
-
- void data_connect(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port);
- void data_disconnect(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port);
- bool has_data_connection(const StringName& p_func,int p_from_node,int p_from_port,int p_to_node,int p_to_port) const;
- void get_data_connection_list(const StringName& p_func,List<DataConnection> *r_connection) const;
- bool is_input_value_port_connected(const StringName& p_name,int p_node,int p_port) const;
- bool get_input_value_port_connection_source(const StringName& p_name,int p_node,int p_port,int *r_node,int *r_port) const;
-
- void add_variable(const StringName& p_name,const Variant& p_default_value=Variant(),bool p_export=false);
- bool has_variable(const StringName& p_name) const;
- void remove_variable(const StringName& p_name);
- void set_variable_default_value(const StringName& p_name,const Variant& p_value);
- Variant get_variable_default_value(const StringName& p_name) const;
- void set_variable_info(const StringName& p_name,const PropertyInfo& p_info);
- PropertyInfo get_variable_info(const StringName& p_name) const;
- void set_variable_export(const StringName& p_name,bool p_export);
- bool get_variable_export(const StringName& p_name) const;
+ int get_function_node_id(const StringName &p_name) const;
+
+ void add_node(const StringName &p_func, int p_id, const Ref<VisualScriptNode> &p_node, const Point2 &p_pos = Point2());
+ void remove_node(const StringName &p_func, int p_id);
+ bool has_node(const StringName &p_func, int p_id) const;
+ Ref<VisualScriptNode> get_node(const StringName &p_func, int p_id) const;
+ void set_node_pos(const StringName &p_func, int p_id, const Point2 &p_pos);
+ Point2 get_node_pos(const StringName &p_func, int p_id) const;
+ void get_node_list(const StringName &p_func, List<int> *r_nodes) const;
+
+ void sequence_connect(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node);
+ void sequence_disconnect(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node);
+ bool has_sequence_connection(const StringName &p_func, int p_from_node, int p_from_output, int p_to_node) const;
+ void get_sequence_connection_list(const StringName &p_func, List<SequenceConnection> *r_connection) const;
+
+ void data_connect(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
+ void data_disconnect(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port);
+ bool has_data_connection(const StringName &p_func, int p_from_node, int p_from_port, int p_to_node, int p_to_port) const;
+ void get_data_connection_list(const StringName &p_func, List<DataConnection> *r_connection) const;
+ bool is_input_value_port_connected(const StringName &p_name, int p_node, int p_port) const;
+ bool get_input_value_port_connection_source(const StringName &p_name, int p_node, int p_port, int *r_node, int *r_port) const;
+
+ void add_variable(const StringName &p_name, const Variant &p_default_value = Variant(), bool p_export = false);
+ bool has_variable(const StringName &p_name) const;
+ void remove_variable(const StringName &p_name);
+ void set_variable_default_value(const StringName &p_name, const Variant &p_value);
+ Variant get_variable_default_value(const StringName &p_name) const;
+ void set_variable_info(const StringName &p_name, const PropertyInfo &p_info);
+ PropertyInfo get_variable_info(const StringName &p_name) const;
+ void set_variable_export(const StringName &p_name, bool p_export);
+ bool get_variable_export(const StringName &p_name) const;
void get_variable_list(List<StringName> *r_variables) const;
- void rename_variable(const StringName& p_name,const StringName& p_new_name);
-
-
- void add_custom_signal(const StringName& p_name);
- bool has_custom_signal(const StringName& p_name) const;
- void custom_signal_add_argument(const StringName& p_func,Variant::Type p_type,const String& p_name,int p_index=-1);
- void custom_signal_set_argument_type(const StringName& p_func,int p_argidx,Variant::Type p_type);
- Variant::Type custom_signal_get_argument_type(const StringName& p_func,int p_argidx) const;
- void custom_signal_set_argument_name(const StringName& p_func,int p_argidx,const String& p_name);
- String custom_signal_get_argument_name(const StringName& p_func,int p_argidx) const;
- void custom_signal_remove_argument(const StringName& p_func,int p_argidx);
- int custom_signal_get_argument_count(const StringName& p_func) const;
- void custom_signal_swap_argument(const StringName& p_func,int p_argidx,int p_with_argidx);
- void remove_custom_signal(const StringName& p_name);
- void rename_custom_signal(const StringName& p_name,const StringName& p_new_name);
+ void rename_variable(const StringName &p_name, const StringName &p_new_name);
+
+ void add_custom_signal(const StringName &p_name);
+ bool has_custom_signal(const StringName &p_name) const;
+ void custom_signal_add_argument(const StringName &p_func, Variant::Type p_type, const String &p_name, int p_index = -1);
+ void custom_signal_set_argument_type(const StringName &p_func, int p_argidx, Variant::Type p_type);
+ Variant::Type custom_signal_get_argument_type(const StringName &p_func, int p_argidx) const;
+ void custom_signal_set_argument_name(const StringName &p_func, int p_argidx, const String &p_name);
+ String custom_signal_get_argument_name(const StringName &p_func, int p_argidx) const;
+ void custom_signal_remove_argument(const StringName &p_func, int p_argidx);
+ int custom_signal_get_argument_count(const StringName &p_func) const;
+ void custom_signal_swap_argument(const StringName &p_func, int p_argidx, int p_with_argidx);
+ void remove_custom_signal(const StringName &p_name);
+ void rename_custom_signal(const StringName &p_name, const StringName &p_new_name);
void get_custom_signal_list(List<StringName> *r_custom_signals) const;
int get_available_id() const;
- void set_instance_base_type(const StringName& p_type);
+ void set_instance_base_type(const StringName &p_type);
virtual bool can_instance() const;
virtual Ref<Script> get_base_script() const;
virtual StringName get_instance_base_type() const;
- virtual ScriptInstance* instance_create(Object *p_this);
+ virtual ScriptInstance *instance_create(Object *p_this);
virtual bool instance_has(const Object *p_this) const;
-
virtual bool has_source_code() const;
virtual String get_source_code() const;
- virtual void set_source_code(const String& p_code);
- virtual Error reload(bool p_keep_state=false);
+ virtual void set_source_code(const String &p_code);
+ virtual Error reload(bool p_keep_state = false);
virtual bool is_tool() const;
@@ -359,14 +344,14 @@ public:
virtual ScriptLanguage *get_language() const;
- virtual bool has_script_signal(const StringName& p_signal) const;
+ virtual bool has_script_signal(const StringName &p_signal) const;
virtual void get_script_signal_list(List<MethodInfo> *r_signals) const;
- virtual bool get_property_default_value(const StringName& p_property,Variant& r_value) const;
+ virtual bool get_property_default_value(const StringName &p_property, Variant &r_value) const;
virtual void get_script_method_list(List<MethodInfo> *p_list) const;
- virtual bool has_method(const StringName& p_method) const;
- virtual MethodInfo get_method_info(const StringName& p_method) const;
+ virtual bool has_method(const StringName &p_method) const;
+ virtual MethodInfo get_method_info(const StringName &p_method) const;
virtual void get_script_property_list(List<PropertyInfo> *p_list) const;
@@ -378,13 +363,12 @@ public:
~VisualScript();
};
-
class VisualScriptInstance : public ScriptInstance {
Object *owner;
Ref<VisualScript> script;
- Map<StringName,Variant> variables; //using variable path, not script
- Map<int,VisualScriptNodeInstance*> instances;
+ Map<StringName, Variant> variables; //using variable path, not script
+ Map<int, VisualScriptNodeInstance *> instances;
struct Function {
int node;
@@ -398,50 +382,48 @@ class VisualScriptInstance : public ScriptInstance {
bool valid;
};
- Map<StringName,Function> functions;
+ Map<StringName, Function> functions;
Vector<Variant> default_values;
- int max_input_args,max_output_args;
+ int max_input_args, max_output_args;
StringName source;
- void _dependency_step(VisualScriptNodeInstance* node, int p_pass, int *pass_stack, const Variant **input_args, Variant **output_args, Variant *variant_stack, Variant::CallError& r_error, String& error_str, VisualScriptNodeInstance **r_error_node);
- Variant _call_internal(const StringName& p_method, void* p_stack,int p_stack_size, VisualScriptNodeInstance* p_node, int p_flow_stack_pos, int p_pass, bool p_resuming_yield,Variant::CallError &r_error);
-
+ void _dependency_step(VisualScriptNodeInstance *node, int p_pass, int *pass_stack, const Variant **input_args, Variant **output_args, Variant *variant_stack, Variant::CallError &r_error, String &error_str, VisualScriptNodeInstance **r_error_node);
+ Variant _call_internal(const StringName &p_method, void *p_stack, int p_stack_size, VisualScriptNodeInstance *p_node, int p_flow_stack_pos, int p_pass, bool p_resuming_yield, Variant::CallError &r_error);
//Map<StringName,Function> functions;
-friend class VisualScriptFunctionState; //for yield
-friend class VisualScriptLanguage; //for debugger
+ friend class VisualScriptFunctionState; //for yield
+ friend class VisualScriptLanguage; //for debugger
public:
- virtual bool set(const StringName& p_name, const Variant& p_value);
- virtual bool get(const StringName& p_name, Variant &r_ret) const;
+ virtual bool set(const StringName &p_name, const Variant &p_value);
+ virtual bool get(const StringName &p_name, Variant &r_ret) const;
virtual void get_property_list(List<PropertyInfo> *p_properties) const;
- virtual Variant::Type get_property_type(const StringName& p_name,bool *r_is_valid=NULL) const;
+ virtual Variant::Type get_property_type(const StringName &p_name, bool *r_is_valid = NULL) const;
virtual void get_method_list(List<MethodInfo> *p_list) const;
- virtual bool has_method(const StringName& p_method) const;
- virtual Variant call(const StringName& p_method,const Variant** p_args,int p_argcount,Variant::CallError &r_error);
+ virtual bool has_method(const StringName &p_method) const;
+ virtual Variant call(const StringName &p_method, const Variant **p_args, int p_argcount, Variant::CallError &r_error);
virtual void notification(int p_notification);
- bool set_variable(const StringName& p_variable,const Variant& p_value) {
+ bool set_variable(const StringName &p_variable, const Variant &p_value) {
- Map<StringName,Variant>::Element *E=variables.find(p_variable);
+ Map<StringName, Variant>::Element *E = variables.find(p_variable);
if (!E)
return false;
- E->get()=p_value;
+ E->get() = p_value;
return true;
}
- bool get_variable(const StringName& p_variable,Variant* r_variable) const {
+ bool get_variable(const StringName &p_variable, Variant *r_variable) const {
- const Map<StringName,Variant>::Element *E=variables.find(p_variable);
+ const Map<StringName, Variant>::Element *E = variables.find(p_variable);
if (!E)
return false;
- *r_variable=E->get();
+ *r_variable = E->get();
return true;
-
}
virtual Ref<Script> get_script() const;
@@ -449,22 +431,21 @@ public:
_FORCE_INLINE_ VisualScript *get_script_ptr() { return script.ptr(); }
_FORCE_INLINE_ Object *get_owner_ptr() { return owner; }
- void create(const Ref<VisualScript>& p_script,Object *p_owner);
+ void create(const Ref<VisualScript> &p_script, Object *p_owner);
virtual ScriptLanguage *get_language();
- virtual RPCMode get_rpc_mode(const StringName& p_method) const;
- virtual RPCMode get_rset_mode(const StringName& p_variable) const;
+ virtual RPCMode get_rpc_mode(const StringName &p_method) const;
+ virtual RPCMode get_rset_mode(const StringName &p_variable) const;
VisualScriptInstance();
~VisualScriptInstance();
};
-
class VisualScriptFunctionState : public Reference {
- GDCLASS(VisualScriptFunctionState,Reference);
-friend class VisualScriptInstance;
+ GDCLASS(VisualScriptFunctionState, Reference);
+ friend class VisualScriptInstance;
ObjectID instance_id;
ObjectID script_id;
@@ -477,36 +458,34 @@ friend class VisualScriptInstance;
int flow_stack_pos;
int pass;
- Variant _signal_callback(const Variant** p_args, int p_argcount, Variant::CallError& r_error);
+ Variant _signal_callback(const Variant **p_args, int p_argcount, Variant::CallError &r_error);
+
protected:
static void _bind_methods();
-public:
- void connect_to_signal(Object* p_obj,const String& p_signal,Array p_binds);
+public:
+ void connect_to_signal(Object *p_obj, const String &p_signal, Array p_binds);
bool is_valid() const;
Variant resume(Array p_args);
VisualScriptFunctionState();
~VisualScriptFunctionState();
};
-
-typedef Ref<VisualScriptNode> (*VisualScriptNodeRegisterFunc)(const String& p_type);
+typedef Ref<VisualScriptNode> (*VisualScriptNodeRegisterFunc)(const String &p_type);
class VisualScriptLanguage : public ScriptLanguage {
- Map<String,VisualScriptNodeRegisterFunc> register_funcs;
+ Map<String, VisualScriptNodeRegisterFunc> register_funcs;
struct CallLevel {
- Variant *stack;
- Variant **work_mem;
- const StringName *function;
- VisualScriptInstance *instance;
- int *current_id;
-
+ Variant *stack;
+ Variant **work_mem;
+ const StringName *function;
+ VisualScriptInstance *instance;
+ int *current_id;
};
-
int _debug_parse_err_node;
String _debug_parse_err_file;
String _debug_error;
@@ -520,52 +499,52 @@ public:
StringName _step;
StringName _subcall;
- static VisualScriptLanguage* singleton;
+ static VisualScriptLanguage *singleton;
Mutex *lock;
- bool debug_break(const String& p_error,bool p_allow_continue=true);
- bool debug_break_parse(const String& p_file, int p_node,const String& p_error);
+ bool debug_break(const String &p_error, bool p_allow_continue = true);
+ bool debug_break_parse(const String &p_file, int p_node, const String &p_error);
- _FORCE_INLINE_ void enter_function(VisualScriptInstance *p_instance,const StringName* p_function, Variant *p_stack, Variant **p_work_mem,int *current_id) {
+ _FORCE_INLINE_ void enter_function(VisualScriptInstance *p_instance, const StringName *p_function, Variant *p_stack, Variant **p_work_mem, int *current_id) {
- if (Thread::get_main_ID()!=Thread::get_caller_ID())
- return; //no support for other threads than main for now
+ if (Thread::get_main_ID() != Thread::get_caller_ID())
+ return; //no support for other threads than main for now
- if (ScriptDebugger::get_singleton()->get_lines_left()>0 && ScriptDebugger::get_singleton()->get_depth()>=0)
- ScriptDebugger::get_singleton()->set_depth( ScriptDebugger::get_singleton()->get_depth() +1 );
+ if (ScriptDebugger::get_singleton()->get_lines_left() > 0 && ScriptDebugger::get_singleton()->get_depth() >= 0)
+ ScriptDebugger::get_singleton()->set_depth(ScriptDebugger::get_singleton()->get_depth() + 1);
- if (_debug_call_stack_pos >= _debug_max_call_stack) {
- //stack overflow
- _debug_error="Stack Overflow (Stack Size: "+itos(_debug_max_call_stack)+")";
- ScriptDebugger::get_singleton()->debug(this);
- return;
- }
+ if (_debug_call_stack_pos >= _debug_max_call_stack) {
+ //stack overflow
+ _debug_error = "Stack Overflow (Stack Size: " + itos(_debug_max_call_stack) + ")";
+ ScriptDebugger::get_singleton()->debug(this);
+ return;
+ }
- _call_stack[_debug_call_stack_pos].stack=p_stack;
- _call_stack[_debug_call_stack_pos].instance=p_instance;
- _call_stack[_debug_call_stack_pos].function=p_function;
- _call_stack[_debug_call_stack_pos].work_mem=p_work_mem;
- _call_stack[_debug_call_stack_pos].current_id=current_id;
- _debug_call_stack_pos++;
+ _call_stack[_debug_call_stack_pos].stack = p_stack;
+ _call_stack[_debug_call_stack_pos].instance = p_instance;
+ _call_stack[_debug_call_stack_pos].function = p_function;
+ _call_stack[_debug_call_stack_pos].work_mem = p_work_mem;
+ _call_stack[_debug_call_stack_pos].current_id = current_id;
+ _debug_call_stack_pos++;
}
_FORCE_INLINE_ void exit_function() {
- if (Thread::get_main_ID()!=Thread::get_caller_ID())
- return; //no support for other threads than main for now
+ if (Thread::get_main_ID() != Thread::get_caller_ID())
+ return; //no support for other threads than main for now
- if (ScriptDebugger::get_singleton()->get_lines_left()>0 && ScriptDebugger::get_singleton()->get_depth()>=0)
- ScriptDebugger::get_singleton()->set_depth( ScriptDebugger::get_singleton()->get_depth() -1 );
+ if (ScriptDebugger::get_singleton()->get_lines_left() > 0 && ScriptDebugger::get_singleton()->get_depth() >= 0)
+ ScriptDebugger::get_singleton()->set_depth(ScriptDebugger::get_singleton()->get_depth() - 1);
- if (_debug_call_stack_pos==0) {
+ if (_debug_call_stack_pos == 0) {
- _debug_error="Stack Underflow (Engine Bug)";
- ScriptDebugger::get_singleton()->debug(this);
- return;
- }
+ _debug_error = "Stack Underflow (Engine Bug)";
+ ScriptDebugger::get_singleton()->debug(this);
+ return;
+ }
- _debug_call_stack_pos--;
+ _debug_call_stack_pos--;
}
//////////////////////////////////////
@@ -576,22 +555,21 @@ public:
virtual void init();
virtual String get_type() const;
virtual String get_extension() const;
- virtual Error execute_file(const String& p_path) ;
+ virtual Error execute_file(const String &p_path);
virtual void finish();
/* EDITOR FUNCTIONS */
virtual void get_reserved_words(List<String> *p_words) const;
virtual void get_comment_delimiters(List<String> *p_delimiters) const;
virtual void get_string_delimiters(List<String> *p_delimiters) const;
- virtual Ref<Script> get_template(const String& p_class_name, const String& p_base_class_name) const;
- virtual bool validate(const String& p_script, int &r_line_error,int &r_col_error,String& r_test_error, const String& p_path="",List<String> *r_functions=NULL) const;
+ virtual Ref<Script> get_template(const String &p_class_name, const String &p_base_class_name) const;
+ virtual bool validate(const String &p_script, int &r_line_error, int &r_col_error, String &r_test_error, const String &p_path = "", List<String> *r_functions = NULL) const;
virtual Script *create_script() const;
virtual bool has_named_classes() const;
- virtual int find_function(const String& p_function,const String& p_code) const;
- virtual String make_function(const String& p_class,const String& p_name,const PoolStringArray& p_args) const;
- virtual void auto_indent_code(String& p_code,int p_from_line,int p_to_line) const;
- virtual void add_global_constant(const StringName& p_variable,const Variant& p_value);
-
+ virtual int find_function(const String &p_function, const String &p_code) const;
+ virtual String make_function(const String &p_class, const String &p_name, const PoolStringArray &p_args) const;
+ virtual void auto_indent_code(String &p_code, int p_from_line, int p_to_line) const;
+ virtual void add_global_constant(const StringName &p_variable, const Variant &p_value);
/* DEBUGGER FUNCTIONS */
@@ -600,45 +578,40 @@ public:
virtual int debug_get_stack_level_line(int p_level) const;
virtual String debug_get_stack_level_function(int p_level) const;
virtual String debug_get_stack_level_source(int p_level) const;
- virtual void debug_get_stack_level_locals(int p_level,List<String> *p_locals, List<Variant> *p_values, int p_max_subitems=-1,int p_max_depth=-1);
- virtual void debug_get_stack_level_members(int p_level,List<String> *p_members, List<Variant> *p_values, int p_max_subitems=-1,int p_max_depth=-1);
- virtual void debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems=-1,int p_max_depth=-1);
- virtual String debug_parse_stack_level_expression(int p_level,const String& p_expression,int p_max_subitems=-1,int p_max_depth=-1);
-
+ virtual void debug_get_stack_level_locals(int p_level, List<String> *p_locals, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1);
+ virtual void debug_get_stack_level_members(int p_level, List<String> *p_members, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1);
+ virtual void debug_get_globals(List<String> *p_locals, List<Variant> *p_values, int p_max_subitems = -1, int p_max_depth = -1);
+ virtual String debug_parse_stack_level_expression(int p_level, const String &p_expression, int p_max_subitems = -1, int p_max_depth = -1);
virtual void reload_all_scripts();
- virtual void reload_tool_script(const Ref<Script>& p_script,bool p_soft_reload);
+ virtual void reload_tool_script(const Ref<Script> &p_script, bool p_soft_reload);
/* LOADER FUNCTIONS */
virtual void get_recognized_extensions(List<String> *p_extensions) const;
virtual void get_public_functions(List<MethodInfo> *p_functions) const;
- virtual void get_public_constants(List<Pair<String,Variant> > *p_constants) const;
+ virtual void get_public_constants(List<Pair<String, Variant> > *p_constants) const;
virtual void profiling_start();
virtual void profiling_stop();
- virtual int profiling_get_accumulated_data(ProfilingInfo *p_info_arr,int p_info_max);
- virtual int profiling_get_frame_data(ProfilingInfo *p_info_arr,int p_info_max);
+ virtual int profiling_get_accumulated_data(ProfilingInfo *p_info_arr, int p_info_max);
+ virtual int profiling_get_frame_data(ProfilingInfo *p_info_arr, int p_info_max);
- void add_register_func(const String& p_name,VisualScriptNodeRegisterFunc p_func);
- Ref<VisualScriptNode> create_node_from_name(const String& p_name);
+ void add_register_func(const String &p_name, VisualScriptNodeRegisterFunc p_func);
+ Ref<VisualScriptNode> create_node_from_name(const String &p_name);
void get_registered_node_names(List<String> *r_names);
-
VisualScriptLanguage();
~VisualScriptLanguage();
-
};
//aid for registering
-template<class T>
-static Ref<VisualScriptNode> create_node_generic(const String& p_name) {
+template <class T>
+static Ref<VisualScriptNode> create_node_generic(const String &p_name) {
Ref<T> node;
node.instance();
return node;
}
-
-
#endif // VSCRIPT_H
diff --git a/modules/visual_script/visual_script_builtin_funcs.cpp b/modules/visual_script/visual_script_builtin_funcs.cpp
index e83cd3e614..378ca06f90 100644
--- a/modules/visual_script/visual_script_builtin_funcs.cpp
+++ b/modules/visual_script/visual_script_builtin_funcs.cpp
@@ -28,15 +28,15 @@
/*************************************************************************/
#include "visual_script_builtin_funcs.h"
-#include "math_funcs.h"
#include "class_db.h"
-#include "reference.h"
#include "func_ref.h"
+#include "io/marshalls.h"
+#include "math_funcs.h"
#include "os/os.h"
+#include "reference.h"
#include "variant_parser.h"
-#include "io/marshalls.h"
-const char* VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX]={
+const char *VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX] = {
"sin",
"cos",
"tan",
@@ -96,10 +96,10 @@ const char* VisualScriptBuiltinFunc::func_name[VisualScriptBuiltinFunc::FUNC_MAX
"color_named",
};
-VisualScriptBuiltinFunc::BuiltinFunc VisualScriptBuiltinFunc::find_function(const String& p_string) {
+VisualScriptBuiltinFunc::BuiltinFunc VisualScriptBuiltinFunc::find_function(const String &p_string) {
- for(int i=0;i<FUNC_MAX;i++) {
- if (p_string==func_name[i])
+ for (int i = 0; i < FUNC_MAX; i++) {
+ if (p_string == func_name[i])
return BuiltinFunc(i);
}
@@ -108,19 +108,18 @@ VisualScriptBuiltinFunc::BuiltinFunc VisualScriptBuiltinFunc::find_function(cons
String VisualScriptBuiltinFunc::get_func_name(BuiltinFunc p_func) {
- ERR_FAIL_INDEX_V(p_func,FUNC_MAX,String());
+ ERR_FAIL_INDEX_V(p_func, FUNC_MAX, String());
return func_name[p_func];
}
-
int VisualScriptBuiltinFunc::get_output_sequence_port_count() const {
return has_input_sequence_port() ? 1 : 0;
}
-bool VisualScriptBuiltinFunc::has_input_sequence_port() const{
+bool VisualScriptBuiltinFunc::has_input_sequence_port() const {
- switch(func) {
+ switch (func) {
case MATH_RANDOMIZE:
case TEXT_PRINT:
@@ -129,15 +128,12 @@ bool VisualScriptBuiltinFunc::has_input_sequence_port() const{
return true;
default:
return false;
-
}
-
}
int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
-
- switch(p_func) {
+ switch (p_func) {
case MATH_RANDOMIZE:
case MATH_RAND:
@@ -200,19 +196,19 @@ int VisualScriptBuiltinFunc::get_func_argument_count(BuiltinFunc p_func) {
case MATH_DECTIME:
case LOGIC_CLAMP:
return 3;
- case FUNC_MAX:{}
-
+ case FUNC_MAX: {
+ }
}
return 0;
}
-int VisualScriptBuiltinFunc::get_input_value_port_count() const{
+int VisualScriptBuiltinFunc::get_input_value_port_count() const {
return get_func_argument_count(func);
}
-int VisualScriptBuiltinFunc::get_output_value_port_count() const{
+int VisualScriptBuiltinFunc::get_output_value_port_count() const {
- switch(func) {
+ switch (func) {
case MATH_RANDOMIZE:
case TEXT_PRINT:
case TEXT_PRINTERR:
@@ -233,9 +229,9 @@ String VisualScriptBuiltinFunc::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const {
- switch(func) {
+ switch (func) {
case MATH_SIN:
case MATH_COS:
@@ -248,67 +244,67 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
case MATH_ATAN:
case MATH_ATAN2:
case MATH_SQRT: {
- return PropertyInfo(Variant::REAL,"num");
+ return PropertyInfo(Variant::REAL, "num");
} break;
case MATH_FMOD:
case MATH_FPOSMOD: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"x");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "x");
else
- return PropertyInfo(Variant::REAL,"y");
+ return PropertyInfo(Variant::REAL, "y");
} break;
case MATH_FLOOR:
case MATH_CEIL:
case MATH_ROUND:
case MATH_ABS:
case MATH_SIGN: {
- return PropertyInfo(Variant::REAL,"num");
+ return PropertyInfo(Variant::REAL, "num");
} break;
case MATH_POW: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"x");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "x");
else
- return PropertyInfo(Variant::REAL,"y");
+ return PropertyInfo(Variant::REAL, "y");
} break;
case MATH_LOG:
case MATH_EXP:
case MATH_ISNAN:
case MATH_ISINF: {
- return PropertyInfo(Variant::REAL,"num");
+ return PropertyInfo(Variant::REAL, "num");
} break;
case MATH_EASE: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"s");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "s");
else
- return PropertyInfo(Variant::REAL,"curve");
+ return PropertyInfo(Variant::REAL, "curve");
} break;
case MATH_DECIMALS: {
- return PropertyInfo(Variant::REAL,"step");
+ return PropertyInfo(Variant::REAL, "step");
} break;
case MATH_STEPIFY: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"s");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "s");
else
- return PropertyInfo(Variant::REAL,"steps");
+ return PropertyInfo(Variant::REAL, "steps");
} break;
case MATH_LERP: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"from");
- else if (p_idx==1)
- return PropertyInfo(Variant::REAL,"to");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "from");
+ else if (p_idx == 1)
+ return PropertyInfo(Variant::REAL, "to");
else
- return PropertyInfo(Variant::REAL,"weight");
+ return PropertyInfo(Variant::REAL, "weight");
} break;
case MATH_DECTIME: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"value");
- else if (p_idx==1)
- return PropertyInfo(Variant::REAL,"amount");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "value");
+ else if (p_idx == 1)
+ return PropertyInfo(Variant::REAL, "amount");
else
- return PropertyInfo(Variant::REAL,"step");
+ return PropertyInfo(Variant::REAL, "step");
} break;
case MATH_RANDOMIZE: {
@@ -320,139 +316,140 @@ PropertyInfo VisualScriptBuiltinFunc::get_input_value_port_info(int p_idx) const
} break;
case MATH_RANDOM: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"from");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "from");
else
- return PropertyInfo(Variant::REAL,"to");
+ return PropertyInfo(Variant::REAL, "to");
} break;
case MATH_SEED: {
- return PropertyInfo(Variant::INT,"seed");
+ return PropertyInfo(Variant::INT, "seed");
} break;
case MATH_RANDSEED: {
- return PropertyInfo(Variant::INT,"seed");
+ return PropertyInfo(Variant::INT, "seed");
} break;
case MATH_DEG2RAD: {
- return PropertyInfo(Variant::REAL,"deg");
+ return PropertyInfo(Variant::REAL, "deg");
} break;
case MATH_RAD2DEG: {
- return PropertyInfo(Variant::REAL,"rad");
+ return PropertyInfo(Variant::REAL, "rad");
} break;
case MATH_LINEAR2DB: {
- return PropertyInfo(Variant::REAL,"nrg");
+ return PropertyInfo(Variant::REAL, "nrg");
} break;
case MATH_DB2LINEAR: {
- return PropertyInfo(Variant::REAL,"db");
+ return PropertyInfo(Variant::REAL, "db");
} break;
case LOGIC_MAX: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"a");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "a");
else
- return PropertyInfo(Variant::REAL,"b");
+ return PropertyInfo(Variant::REAL, "b");
} break;
case LOGIC_MIN: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"a");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "a");
else
- return PropertyInfo(Variant::REAL,"b");
+ return PropertyInfo(Variant::REAL, "b");
} break;
case LOGIC_CLAMP: {
- if (p_idx==0)
- return PropertyInfo(Variant::REAL,"a");
- else if (p_idx==0) // FIXME: is it ok to test p_idx == 0 twice?
- return PropertyInfo(Variant::REAL,"min");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::REAL, "a");
+ else if (p_idx == 0) // FIXME: is it ok to test p_idx == 0 twice?
+ return PropertyInfo(Variant::REAL, "min");
else
- return PropertyInfo(Variant::REAL,"max");
+ return PropertyInfo(Variant::REAL, "max");
} break;
case LOGIC_NEAREST_PO2: {
- return PropertyInfo(Variant::INT,"num");
+ return PropertyInfo(Variant::INT, "num");
} break;
case OBJ_WEAKREF: {
- return PropertyInfo(Variant::OBJECT,"source");
+ return PropertyInfo(Variant::OBJECT, "source");
} break;
case FUNC_FUNCREF: {
- if (p_idx==0)
- return PropertyInfo(Variant::OBJECT,"instance");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::OBJECT, "instance");
else
- return PropertyInfo(Variant::STRING,"funcname");
+ return PropertyInfo(Variant::STRING, "funcname");
} break;
case TYPE_CONVERT: {
- if (p_idx==0)
- return PropertyInfo(Variant::NIL,"what");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::NIL, "what");
else
- return PropertyInfo(Variant::STRING,"type");
+ return PropertyInfo(Variant::STRING, "type");
} break;
case TYPE_OF: {
- return PropertyInfo(Variant::NIL,"what");
+ return PropertyInfo(Variant::NIL, "what");
} break;
case TYPE_EXISTS: {
- return PropertyInfo(Variant::STRING,"type");
+ return PropertyInfo(Variant::STRING, "type");
} break;
case TEXT_CHAR: {
- return PropertyInfo(Variant::INT,"ascii");
+ return PropertyInfo(Variant::INT, "ascii");
} break;
case TEXT_STR: {
- return PropertyInfo(Variant::NIL,"value");
+ return PropertyInfo(Variant::NIL, "value");
} break;
case TEXT_PRINT: {
- return PropertyInfo(Variant::NIL,"value");
+ return PropertyInfo(Variant::NIL, "value");
} break;
case TEXT_PRINTERR: {
- return PropertyInfo(Variant::NIL,"value");
+ return PropertyInfo(Variant::NIL, "value");
} break;
case TEXT_PRINTRAW: {
- return PropertyInfo(Variant::NIL,"value");
+ return PropertyInfo(Variant::NIL, "value");
} break;
case VAR_TO_STR: {
- return PropertyInfo(Variant::NIL,"var");
+ return PropertyInfo(Variant::NIL, "var");
} break;
case STR_TO_VAR: {
- return PropertyInfo(Variant::STRING,"string");
+ return PropertyInfo(Variant::STRING, "string");
} break;
case VAR_TO_BYTES: {
- return PropertyInfo(Variant::NIL,"var");
+ return PropertyInfo(Variant::NIL, "var");
} break;
case BYTES_TO_VAR: {
- return PropertyInfo(Variant::POOL_BYTE_ARRAY,"bytes");
+ return PropertyInfo(Variant::POOL_BYTE_ARRAY, "bytes");
} break;
case COLORN: {
- if (p_idx==0)
- return PropertyInfo(Variant::STRING,"name");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::STRING, "name");
else
- return PropertyInfo(Variant::REAL,"alpha");
+ return PropertyInfo(Variant::REAL, "alpha");
} break;
- case FUNC_MAX:{}
+ case FUNC_MAX: {
+ }
}
return PropertyInfo();
}
-PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) const {
- Variant::Type t=Variant::NIL;
- switch(func) {
+ Variant::Type t = Variant::NIL;
+ switch (func) {
case MATH_SIN:
case MATH_COS:
@@ -469,36 +466,36 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
case MATH_FPOSMOD:
case MATH_FLOOR:
case MATH_CEIL: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case MATH_ROUND: {
- t=Variant::INT;
+ t = Variant::INT;
} break;
case MATH_ABS: {
- t=Variant::NIL;
+ t = Variant::NIL;
} break;
case MATH_SIGN: {
- t=Variant::NIL;
+ t = Variant::NIL;
} break;
case MATH_POW:
case MATH_LOG:
case MATH_EXP: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case MATH_ISNAN:
case MATH_ISINF: {
- t=Variant::BOOL;
+ t = Variant::BOOL;
} break;
case MATH_EASE: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case MATH_DECIMALS: {
- t=Variant::INT;
+ t = Variant::INT;
} break;
case MATH_STEPIFY:
case MATH_LERP:
case MATH_DECTIME: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case MATH_RANDOMIZE: {
@@ -506,71 +503,67 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
} break;
case MATH_RAND: {
- t=Variant::INT;
+ t = Variant::INT;
} break;
case MATH_RANDF:
case MATH_RANDOM: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case MATH_SEED: {
} break;
case MATH_RANDSEED: {
- if (p_idx==0)
- return PropertyInfo(Variant::INT,"rnd");
+ if (p_idx == 0)
+ return PropertyInfo(Variant::INT, "rnd");
else
- return PropertyInfo(Variant::INT,"seed");
+ return PropertyInfo(Variant::INT, "seed");
} break;
case MATH_DEG2RAD:
case MATH_RAD2DEG:
case MATH_LINEAR2DB:
case MATH_DB2LINEAR: {
- t=Variant::REAL;
+ t = Variant::REAL;
} break;
case LOGIC_MAX:
case LOGIC_MIN:
case LOGIC_CLAMP: {
-
} break;
case LOGIC_NEAREST_PO2: {
- t=Variant::NIL;
+ t = Variant::NIL;
} break;
case OBJ_WEAKREF: {
- t=Variant::OBJECT;
+ t = Variant::OBJECT;
} break;
case FUNC_FUNCREF: {
- t=Variant::OBJECT;
+ t = Variant::OBJECT;
} break;
case TYPE_CONVERT: {
-
-
} break;
case TYPE_OF: {
- t=Variant::INT;
+ t = Variant::INT;
} break;
case TYPE_EXISTS: {
- t=Variant::BOOL;
+ t = Variant::BOOL;
} break;
case TEXT_CHAR:
case TEXT_STR: {
- t=Variant::STRING;
+ t = Variant::STRING;
} break;
case TEXT_PRINT: {
-
} break;
case TEXT_PRINTERR: {
@@ -579,26 +572,26 @@ PropertyInfo VisualScriptBuiltinFunc::get_output_value_port_info(int p_idx) cons
} break;
case VAR_TO_STR: {
- t=Variant::STRING;
+ t = Variant::STRING;
} break;
case STR_TO_VAR: {
} break;
case VAR_TO_BYTES: {
- t=Variant::POOL_BYTE_ARRAY;
+ t = Variant::POOL_BYTE_ARRAY;
} break;
case BYTES_TO_VAR: {
-
} break;
case COLORN: {
- t=Variant::COLOR;
+ t = Variant::COLOR;
} break;
- case FUNC_MAX:{}
+ case FUNC_MAX: {
+ }
}
- return PropertyInfo(t,"");
+ return PropertyInfo(t, "");
}
String VisualScriptBuiltinFunc::get_caption() const {
@@ -613,8 +606,8 @@ String VisualScriptBuiltinFunc::get_text() const {
void VisualScriptBuiltinFunc::set_func(BuiltinFunc p_which) {
- ERR_FAIL_INDEX(p_which,FUNC_MAX);
- func=p_which;
+ ERR_FAIL_INDEX(p_which, FUNC_MAX);
+ func = p_which;
_change_notify();
ports_changed_notify();
}
@@ -623,256 +616,252 @@ VisualScriptBuiltinFunc::BuiltinFunc VisualScriptBuiltinFunc::get_func() {
return func;
}
-
-#define VALIDATE_ARG_NUM(m_arg) \
- if (!p_inputs[m_arg]->is_num()) {\
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;\
- r_error.argument=m_arg;\
- r_error.expected=Variant::REAL;\
- return;\
+#define VALIDATE_ARG_NUM(m_arg) \
+ if (!p_inputs[m_arg]->is_num()) { \
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT; \
+ r_error.argument = m_arg; \
+ r_error.expected = Variant::REAL; \
+ return; \
}
+void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant *r_return, Variant::CallError &r_error, String &r_error_str) {
-void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inputs,Variant* r_return,Variant::CallError& r_error,String& r_error_str) {
-
- switch(p_func) {
+ switch (p_func) {
case VisualScriptBuiltinFunc::MATH_SIN: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::sin((double)*p_inputs[0]);
+ *r_return = Math::sin((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_COS: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::cos((double)*p_inputs[0]);
+ *r_return = Math::cos((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_TAN: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::tan((double)*p_inputs[0]);
+ *r_return = Math::tan((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_SINH: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::sinh((double)*p_inputs[0]);
+ *r_return = Math::sinh((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_COSH: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::cosh((double)*p_inputs[0]);
+ *r_return = Math::cosh((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_TANH: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::tanh((double)*p_inputs[0]);
+ *r_return = Math::tanh((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ASIN: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::asin((double)*p_inputs[0]);
+ *r_return = Math::asin((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ACOS: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::acos((double)*p_inputs[0]);
+ *r_return = Math::acos((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ATAN: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::atan((double)*p_inputs[0]);
+ *r_return = Math::atan((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ATAN2: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::atan2((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::atan2((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_SQRT: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::sqrt((double)*p_inputs[0]);
+ *r_return = Math::sqrt((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_FMOD: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::fmod((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::fmod((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_FPOSMOD: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::fposmod((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::fposmod((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_FLOOR: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::floor((double)*p_inputs[0]);
- } break;
+ *r_return = Math::floor((double)*p_inputs[0]);
+ } break;
case VisualScriptBuiltinFunc::MATH_CEIL: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::ceil((double)*p_inputs[0]);
+ *r_return = Math::ceil((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ROUND: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::round((double)*p_inputs[0]);
+ *r_return = Math::round((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ABS: {
- if (p_inputs[0]->get_type()==Variant::INT) {
+ if (p_inputs[0]->get_type() == Variant::INT) {
int64_t i = *p_inputs[0];
- *r_return=ABS(i);
- } else if (p_inputs[0]->get_type()==Variant::REAL) {
+ *r_return = ABS(i);
+ } else if (p_inputs[0]->get_type() == Variant::REAL) {
real_t r = *p_inputs[0];
- *r_return=Math::abs(r);
+ *r_return = Math::abs(r);
} else {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::REAL;
-
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::REAL;
}
} break;
case VisualScriptBuiltinFunc::MATH_SIGN: {
- if (p_inputs[0]->get_type()==Variant::INT) {
+ if (p_inputs[0]->get_type() == Variant::INT) {
- int64_t i = *p_inputs[0];
- *r_return= i < 0 ? -1 : ( i > 0 ? +1 : 0);
- } else if (p_inputs[0]->get_type()==Variant::REAL) {
-
- real_t r = *p_inputs[0];
- *r_return= r < 0.0 ? -1.0 : ( r > 0.0 ? +1.0 : 0.0);
- } else {
+ int64_t i = *p_inputs[0];
+ *r_return = i < 0 ? -1 : (i > 0 ? +1 : 0);
+ } else if (p_inputs[0]->get_type() == Variant::REAL) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::REAL;
+ real_t r = *p_inputs[0];
+ *r_return = r < 0.0 ? -1.0 : (r > 0.0 ? +1.0 : 0.0);
+ } else {
- }
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::REAL;
+ }
} break;
case VisualScriptBuiltinFunc::MATH_POW: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::pow((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::pow((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_LOG: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::log((double)*p_inputs[0]);
+ *r_return = Math::log((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_EXP: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::exp((double)*p_inputs[0]);
+ *r_return = Math::exp((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ISNAN: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::is_nan((double)*p_inputs[0]);
+ *r_return = Math::is_nan((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_ISINF: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::is_inf((double)*p_inputs[0]);
+ *r_return = Math::is_inf((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_EASE: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::ease((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::ease((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_DECIMALS: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::step_decimals((double)*p_inputs[0]);
+ *r_return = Math::step_decimals((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_STEPIFY: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::stepify((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::stepify((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_LERP: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
VALIDATE_ARG_NUM(2);
- *r_return=Math::lerp((double)*p_inputs[0],(double)*p_inputs[1],(double)*p_inputs[2]);
+ *r_return = Math::lerp((double)*p_inputs[0], (double)*p_inputs[1], (double)*p_inputs[2]);
} break;
case VisualScriptBuiltinFunc::MATH_DECTIME: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
VALIDATE_ARG_NUM(2);
- *r_return=Math::dectime((double)*p_inputs[0],(double)*p_inputs[1],(double)*p_inputs[2]);
+ *r_return = Math::dectime((double)*p_inputs[0], (double)*p_inputs[1], (double)*p_inputs[2]);
} break;
case VisualScriptBuiltinFunc::MATH_RANDOMIZE: {
Math::randomize();
} break;
case VisualScriptBuiltinFunc::MATH_RAND: {
- *r_return=Math::rand();
+ *r_return = Math::rand();
} break;
case VisualScriptBuiltinFunc::MATH_RANDF: {
- *r_return=Math::randf();
+ *r_return = Math::randf();
} break;
case VisualScriptBuiltinFunc::MATH_RANDOM: {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
- *r_return=Math::random((double)*p_inputs[0],(double)*p_inputs[1]);
+ *r_return = Math::random((double)*p_inputs[0], (double)*p_inputs[1]);
} break;
case VisualScriptBuiltinFunc::MATH_SEED: {
VALIDATE_ARG_NUM(0);
- uint64_t seed=*p_inputs[0];
+ uint64_t seed = *p_inputs[0];
Math::seed(seed);
} break;
case VisualScriptBuiltinFunc::MATH_RANDSEED: {
VALIDATE_ARG_NUM(0);
- uint64_t seed=*p_inputs[0];
+ uint64_t seed = *p_inputs[0];
int ret = Math::rand_from_seed(&seed);
Array reta;
reta.push_back(ret);
reta.push_back(seed);
- *r_return=reta;
+ *r_return = reta;
} break;
case VisualScriptBuiltinFunc::MATH_DEG2RAD: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::deg2rad((double)*p_inputs[0]);
+ *r_return = Math::deg2rad((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_RAD2DEG: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::rad2deg((double)*p_inputs[0]);
+ *r_return = Math::rad2deg((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_LINEAR2DB: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::linear2db((double)*p_inputs[0]);
+ *r_return = Math::linear2db((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::MATH_DB2LINEAR: {
VALIDATE_ARG_NUM(0);
- *r_return=Math::db2linear((double)*p_inputs[0]);
+ *r_return = Math::db2linear((double)*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::LOGIC_MAX: {
- if (p_inputs[0]->get_type()==Variant::INT && p_inputs[1]->get_type()==Variant::INT) {
+ if (p_inputs[0]->get_type() == Variant::INT && p_inputs[1]->get_type() == Variant::INT) {
int64_t a = *p_inputs[0];
int64_t b = *p_inputs[1];
- *r_return=MAX(a,b);
+ *r_return = MAX(a, b);
} else {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
@@ -880,17 +869,17 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
real_t a = *p_inputs[0];
real_t b = *p_inputs[1];
- *r_return=MAX(a,b);
+ *r_return = MAX(a, b);
}
} break;
case VisualScriptBuiltinFunc::LOGIC_MIN: {
- if (p_inputs[0]->get_type()==Variant::INT && p_inputs[1]->get_type()==Variant::INT) {
+ if (p_inputs[0]->get_type() == Variant::INT && p_inputs[1]->get_type() == Variant::INT) {
int64_t a = *p_inputs[0];
int64_t b = *p_inputs[1];
- *r_return=MIN(a,b);
+ *r_return = MIN(a, b);
} else {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
@@ -898,17 +887,17 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
real_t a = *p_inputs[0];
real_t b = *p_inputs[1];
- *r_return=MIN(a,b);
+ *r_return = MIN(a, b);
}
} break;
case VisualScriptBuiltinFunc::LOGIC_CLAMP: {
- if (p_inputs[0]->get_type()==Variant::INT && p_inputs[1]->get_type()==Variant::INT && p_inputs[2]->get_type()==Variant::INT) {
+ if (p_inputs[0]->get_type() == Variant::INT && p_inputs[1]->get_type() == Variant::INT && p_inputs[2]->get_type() == Variant::INT) {
int64_t a = *p_inputs[0];
int64_t b = *p_inputs[1];
int64_t c = *p_inputs[2];
- *r_return=CLAMP(a,b,c);
+ *r_return = CLAMP(a, b, c);
} else {
VALIDATE_ARG_NUM(0);
VALIDATE_ARG_NUM(1);
@@ -918,7 +907,7 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
real_t b = *p_inputs[1];
real_t c = *p_inputs[2];
- *r_return=CLAMP(a,b,c);
+ *r_return = CLAMP(a, b, c);
}
} break;
case VisualScriptBuiltinFunc::LOGIC_NEAREST_PO2: {
@@ -929,14 +918,13 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
} break;
case VisualScriptBuiltinFunc::OBJ_WEAKREF: {
- if (p_inputs[0]->get_type()!=Variant::OBJECT) {
+ if (p_inputs[0]->get_type() != Variant::OBJECT) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::OBJECT;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::OBJECT;
return;
-
}
if (p_inputs[0]->is_ref()) {
@@ -947,95 +935,87 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
return;
}
- Ref<WeakRef> wref = memnew( WeakRef );
+ Ref<WeakRef> wref = memnew(WeakRef);
wref->set_ref(r);
- *r_return=wref;
+ *r_return = wref;
} else {
Object *obj = *p_inputs[0];
if (!obj) {
return;
}
- Ref<WeakRef> wref = memnew( WeakRef );
+ Ref<WeakRef> wref = memnew(WeakRef);
wref->set_obj(obj);
- *r_return=wref;
+ *r_return = wref;
}
-
-
-
} break;
case VisualScriptBuiltinFunc::FUNC_FUNCREF: {
- if (p_inputs[0]->get_type()!=Variant::OBJECT) {
+ if (p_inputs[0]->get_type() != Variant::OBJECT) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::OBJECT;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::OBJECT;
return;
-
}
- if (p_inputs[1]->get_type()!=Variant::STRING && p_inputs[1]->get_type()!=Variant::NODE_PATH) {
+ if (p_inputs[1]->get_type() != Variant::STRING && p_inputs[1]->get_type() != Variant::NODE_PATH) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=1;
- r_error.expected=Variant::STRING;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 1;
+ r_error.expected = Variant::STRING;
return;
-
}
- Ref<FuncRef> fr = memnew( FuncRef);
+ Ref<FuncRef> fr = memnew(FuncRef);
fr->set_instance(*p_inputs[0]);
fr->set_function(*p_inputs[1]);
- *r_return=fr;
+ *r_return = fr;
} break;
case VisualScriptBuiltinFunc::TYPE_CONVERT: {
VALIDATE_ARG_NUM(1);
- int type=*p_inputs[1];
- if (type<0 || type>=Variant::VARIANT_MAX) {
+ int type = *p_inputs[1];
+ if (type < 0 || type >= Variant::VARIANT_MAX) {
- r_error_str=RTR("Invalid type argument to convert(), use TYPE_* constants.");
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::INT;
+ r_error_str = RTR("Invalid type argument to convert(), use TYPE_* constants.");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::INT;
return;
} else {
-
- *r_return=Variant::construct(Variant::Type(type),p_inputs,1,r_error);
+ *r_return = Variant::construct(Variant::Type(type), p_inputs, 1, r_error);
}
} break;
case VisualScriptBuiltinFunc::TYPE_OF: {
-
*r_return = p_inputs[0]->get_type();
} break;
case VisualScriptBuiltinFunc::TYPE_EXISTS: {
-
*r_return = ClassDB::class_exists(*p_inputs[0]);
} break;
case VisualScriptBuiltinFunc::TEXT_CHAR: {
- CharType result[2] = {*p_inputs[0], 0};
-
- *r_return=String(result);
+ CharType result[2] = { *p_inputs[0], 0 };
+
+ *r_return = String(result);
} break;
case VisualScriptBuiltinFunc::TEXT_STR: {
String str = *p_inputs[0];
- *r_return=str;
+ *r_return = str;
} break;
case VisualScriptBuiltinFunc::TEXT_PRINT: {
@@ -1043,7 +1023,6 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
String str = *p_inputs[0];
print_line(str);
-
} break;
case VisualScriptBuiltinFunc::TEXT_PRINTERR: {
@@ -1051,98 +1030,93 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
String str = *p_inputs[0];
//str+="\n";
- OS::get_singleton()->printerr("%s\n",str.utf8().get_data());
-
+ OS::get_singleton()->printerr("%s\n", str.utf8().get_data());
} break;
case VisualScriptBuiltinFunc::TEXT_PRINTRAW: {
String str = *p_inputs[0];
//str+="\n";
- OS::get_singleton()->print("%s",str.utf8().get_data());
-
+ OS::get_singleton()->print("%s", str.utf8().get_data());
} break;
case VisualScriptBuiltinFunc::VAR_TO_STR: {
String vars;
- VariantWriter::write_to_string(*p_inputs[0],vars);
- *r_return=vars;
+ VariantWriter::write_to_string(*p_inputs[0], vars);
+ *r_return = vars;
} break;
case VisualScriptBuiltinFunc::STR_TO_VAR: {
- if (p_inputs[0]->get_type()!=Variant::STRING) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::STRING;
+ if (p_inputs[0]->get_type() != Variant::STRING) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::STRING;
return;
}
VariantParser::StreamString ss;
- ss.s=*p_inputs[0];
+ ss.s = *p_inputs[0];
String errs;
int line;
- Error err = VariantParser::parse(&ss,*r_return,errs,line);
+ Error err = VariantParser::parse(&ss, *r_return, errs, line);
- if (err!=OK) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::STRING;
- *r_return="Parse error at line "+itos(line)+": "+errs;
+ if (err != OK) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::STRING;
+ *r_return = "Parse error at line " + itos(line) + ": " + errs;
return;
}
} break;
case VisualScriptBuiltinFunc::VAR_TO_BYTES: {
-
PoolByteArray barr;
int len;
- Error err = encode_variant(*p_inputs[0],NULL,len);
+ Error err = encode_variant(*p_inputs[0], NULL, len);
if (err) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::NIL;
- r_error_str="Unexpected error encoding variable to bytes, likely unserializable type found (Object or RID).";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::NIL;
+ r_error_str = "Unexpected error encoding variable to bytes, likely unserializable type found (Object or RID).";
return;
}
barr.resize(len);
{
PoolByteArray::Write w = barr.write();
- encode_variant(*p_inputs[0],w.ptr(),len);
-
+ encode_variant(*p_inputs[0], w.ptr(), len);
}
- *r_return=barr;
+ *r_return = barr;
} break;
case VisualScriptBuiltinFunc::BYTES_TO_VAR: {
- if (p_inputs[0]->get_type()!=Variant::POOL_BYTE_ARRAY) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::POOL_BYTE_ARRAY;
+ if (p_inputs[0]->get_type() != Variant::POOL_BYTE_ARRAY) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::POOL_BYTE_ARRAY;
return;
}
- PoolByteArray varr=*p_inputs[0];
+ PoolByteArray varr = *p_inputs[0];
Variant ret;
{
- PoolByteArray::Read r=varr.read();
- Error err = decode_variant(ret,r.ptr(),varr.size(),NULL);
- if (err!=OK) {
- r_error_str=RTR("Not enough bytes for decoding bytes, or invalid format.");
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.argument=0;
- r_error.expected=Variant::POOL_BYTE_ARRAY;
+ PoolByteArray::Read r = varr.read();
+ Error err = decode_variant(ret, r.ptr(), varr.size(), NULL);
+ if (err != OK) {
+ r_error_str = RTR("Not enough bytes for decoding bytes, or invalid format.");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.argument = 0;
+ r_error.expected = Variant::POOL_BYTE_ARRAY;
return;
}
-
}
- *r_return=ret;
+ *r_return = ret;
} break;
case VisualScriptBuiltinFunc::COLORN: {
@@ -1150,72 +1124,65 @@ void VisualScriptBuiltinFunc::exec_func(BuiltinFunc p_func,const Variant** p_inp
VALIDATE_ARG_NUM(1);
Color color = Color::named(*p_inputs[0]);
- color.a=*p_inputs[1];
-
- *r_return=String(color);
+ color.a = *p_inputs[1];
+
+ *r_return = String(color);
} break;
default: {}
}
-
}
-
class VisualScriptNodeInstanceBuiltinFunc : public VisualScriptNodeInstance {
public:
-
VisualScriptBuiltinFunc *node;
VisualScriptInstance *instance;
VisualScriptBuiltinFunc::BuiltinFunc func;
-
//virtual int get_working_memory_size() const { return 0; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- VisualScriptBuiltinFunc::exec_func(func,p_inputs,p_outputs[0],r_error,r_error_str);
+ VisualScriptBuiltinFunc::exec_func(func, p_inputs, p_outputs[0], r_error, r_error_str);
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptBuiltinFunc::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptBuiltinFunc::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceBuiltinFunc * instance = memnew(VisualScriptNodeInstanceBuiltinFunc );
- instance->node=this;
- instance->instance=p_instance;
- instance->func=func;
+ VisualScriptNodeInstanceBuiltinFunc *instance = memnew(VisualScriptNodeInstanceBuiltinFunc);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->func = func;
return instance;
}
-
void VisualScriptBuiltinFunc::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_func","which"),&VisualScriptBuiltinFunc::set_func);
- ClassDB::bind_method(D_METHOD("get_func"),&VisualScriptBuiltinFunc::get_func);
+ ClassDB::bind_method(D_METHOD("set_func", "which"), &VisualScriptBuiltinFunc::set_func);
+ ClassDB::bind_method(D_METHOD("get_func"), &VisualScriptBuiltinFunc::get_func);
String cc;
- for(int i=0;i<FUNC_MAX;i++) {
+ for (int i = 0; i < FUNC_MAX; i++) {
- if (i>0)
- cc+=",";
- cc+=func_name[i];
+ if (i > 0)
+ cc += ",";
+ cc += func_name[i];
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"function",PROPERTY_HINT_ENUM,cc),"set_func","get_func");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "function", PROPERTY_HINT_ENUM, cc), "set_func", "get_func");
}
VisualScriptBuiltinFunc::VisualScriptBuiltinFunc() {
- func=MATH_SIN;
+ func = MATH_SIN;
}
-template<VisualScriptBuiltinFunc::BuiltinFunc func>
-static Ref<VisualScriptNode> create_builtin_func_node(const String& p_name) {
+template <VisualScriptBuiltinFunc::BuiltinFunc func>
+static Ref<VisualScriptNode> create_builtin_func_node(const String &p_name) {
Ref<VisualScriptBuiltinFunc> node;
node.instance();
@@ -1225,69 +1192,67 @@ static Ref<VisualScriptNode> create_builtin_func_node(const String& p_name) {
void register_visual_script_builtin_func_node() {
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/sin",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SIN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/cos",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_COS>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/tan",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_TAN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/sinh",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SINH>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/cosh",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_COSH>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/tanh",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_TANH>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/asin",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ASIN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/acos",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ACOS>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/atan",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ATAN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/atan2",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ATAN2>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/sqrt",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SQRT>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/fmod",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FMOD>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/fposmod",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FPOSMOD>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/floor",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FLOOR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/ceil",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_CEIL>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/round",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ROUND>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/abs",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ABS>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/sign",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SIGN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/pow",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_POW>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/log",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LOG>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/exp",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_EXP>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/isnan",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ISNAN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/isinf",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ISINF>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/ease",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_EASE>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/decimals",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DECIMALS>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/stepify",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_STEPIFY>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/lerp",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LERP>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/dectime",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DECTIME>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/randomize",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOMIZE>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/rand",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RAND>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/randf",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/random",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOM>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/seed",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SEED>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/randseed",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDSEED>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/deg2rad",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DEG2RAD>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/rad2deg",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RAD2DEG>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/linear2db",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LINEAR2DB>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/db2linear",create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DB2LINEAR>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/max",create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_MAX>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/min",create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_MIN>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/clamp",create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_CLAMP>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/nearest_po2",create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_NEAREST_PO2>);
-
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/weakref",create_builtin_func_node<VisualScriptBuiltinFunc::OBJ_WEAKREF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/funcref",create_builtin_func_node<VisualScriptBuiltinFunc::FUNC_FUNCREF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/convert",create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_CONVERT>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/typeof",create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_OF>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/type_exists",create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_EXISTS>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/char",create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_CHAR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/str",create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_STR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/print",create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINT>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/printerr",create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINTERR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/printraw",create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINTRAW>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/var2str",create_builtin_func_node<VisualScriptBuiltinFunc::VAR_TO_STR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/str2var",create_builtin_func_node<VisualScriptBuiltinFunc::STR_TO_VAR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/var2bytes",create_builtin_func_node<VisualScriptBuiltinFunc::VAR_TO_BYTES>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/bytes2var",create_builtin_func_node<VisualScriptBuiltinFunc::BYTES_TO_VAR>);
- VisualScriptLanguage::singleton->add_register_func("functions/built_in/color_named",create_builtin_func_node<VisualScriptBuiltinFunc::COLORN>);
-
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/sin", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SIN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/cos", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_COS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/tan", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_TAN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/sinh", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SINH>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/cosh", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_COSH>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/tanh", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_TANH>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/asin", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ASIN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/acos", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ACOS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/atan", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ATAN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/atan2", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ATAN2>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/sqrt", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SQRT>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/fmod", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FMOD>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/fposmod", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FPOSMOD>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/floor", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_FLOOR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/ceil", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_CEIL>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/round", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ROUND>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/abs", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ABS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/sign", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SIGN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/pow", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_POW>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/log", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LOG>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/exp", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_EXP>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/isnan", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ISNAN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/isinf", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_ISINF>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/ease", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_EASE>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/decimals", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DECIMALS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/stepify", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_STEPIFY>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/lerp", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LERP>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/dectime", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DECTIME>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randomize", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOMIZE>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/rand", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RAND>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randf", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDF>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/random", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDOM>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/seed", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_SEED>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/randseed", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RANDSEED>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/deg2rad", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DEG2RAD>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/rad2deg", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_RAD2DEG>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/linear2db", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_LINEAR2DB>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/db2linear", create_builtin_func_node<VisualScriptBuiltinFunc::MATH_DB2LINEAR>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/max", create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_MAX>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/min", create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_MIN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/clamp", create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_CLAMP>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/nearest_po2", create_builtin_func_node<VisualScriptBuiltinFunc::LOGIC_NEAREST_PO2>);
+
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/weakref", create_builtin_func_node<VisualScriptBuiltinFunc::OBJ_WEAKREF>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/funcref", create_builtin_func_node<VisualScriptBuiltinFunc::FUNC_FUNCREF>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/convert", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_CONVERT>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/typeof", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_OF>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/type_exists", create_builtin_func_node<VisualScriptBuiltinFunc::TYPE_EXISTS>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/char", create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_CHAR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/str", create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_STR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/print", create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINT>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/printerr", create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINTERR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/printraw", create_builtin_func_node<VisualScriptBuiltinFunc::TEXT_PRINTRAW>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/var2str", create_builtin_func_node<VisualScriptBuiltinFunc::VAR_TO_STR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/str2var", create_builtin_func_node<VisualScriptBuiltinFunc::STR_TO_VAR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/var2bytes", create_builtin_func_node<VisualScriptBuiltinFunc::VAR_TO_BYTES>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/bytes2var", create_builtin_func_node<VisualScriptBuiltinFunc::BYTES_TO_VAR>);
+ VisualScriptLanguage::singleton->add_register_func("functions/built_in/color_named", create_builtin_func_node<VisualScriptBuiltinFunc::COLORN>);
}
diff --git a/modules/visual_script/visual_script_builtin_funcs.h b/modules/visual_script/visual_script_builtin_funcs.h
index 75bea4b1b5..7246239513 100644
--- a/modules/visual_script/visual_script_builtin_funcs.h
+++ b/modules/visual_script/visual_script_builtin_funcs.h
@@ -31,12 +31,10 @@
#include "visual_script.h"
-
class VisualScriptBuiltinFunc : public VisualScriptNode {
- GDCLASS(VisualScriptBuiltinFunc,VisualScriptNode)
+ GDCLASS(VisualScriptBuiltinFunc, VisualScriptNode)
public:
-
enum BuiltinFunc {
MATH_SIN,
MATH_COS,
@@ -100,27 +98,25 @@ public:
static int get_func_argument_count(BuiltinFunc p_func);
static String get_func_name(BuiltinFunc p_func);
- static void exec_func(BuiltinFunc p_func, const Variant** p_inputs, Variant* r_return, Variant::CallError& r_error, String& r_error_str);
- static BuiltinFunc find_function(const String& p_string);
+ static void exec_func(BuiltinFunc p_func, const Variant **p_inputs, Variant *r_return, Variant::CallError &r_error, String &r_error_str);
+ static BuiltinFunc find_function(const String &p_string);
private:
- static const char* func_name[FUNC_MAX];
+ static const char *func_name[FUNC_MAX];
BuiltinFunc func;
+
protected:
static void _bind_methods();
-public:
+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;
@@ -131,15 +127,13 @@ public:
void set_func(BuiltinFunc p_which);
BuiltinFunc get_func();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptBuiltinFunc();
};
VARIANT_ENUM_CAST(VisualScriptBuiltinFunc::BuiltinFunc)
-
void register_visual_script_builtin_func_node();
-
#endif // VISUAL_SCRIPT_BUILTIN_FUNCS_H
diff --git a/modules/visual_script/visual_script_editor.cpp b/modules/visual_script/visual_script_editor.cpp
index 7dd7059c31..5b1b496f72 100644
--- a/modules/visual_script/visual_script_editor.cpp
+++ b/modules/visual_script/visual_script_editor.cpp
@@ -29,29 +29,28 @@
#include "visual_script_editor.h"
#include "editor/editor_node.h"
-#include "visual_script_nodes.h"
-#include "visual_script_flow_control.h"
-#include "visual_script_func_nodes.h"
-#include "visual_script_expression.h"
-#include "os/input.h"
#include "editor/editor_resource_preview.h"
+#include "os/input.h"
#include "os/keyboard.h"
+#include "visual_script_expression.h"
+#include "visual_script_flow_control.h"
+#include "visual_script_func_nodes.h"
+#include "visual_script_nodes.h"
#ifdef TOOLS_ENABLED
class VisualScriptEditorSignalEdit : public Object {
- GDCLASS(VisualScriptEditorSignalEdit,Object)
+ GDCLASS(VisualScriptEditorSignalEdit, Object)
StringName sig;
+
public:
UndoRedo *undo_redo;
Ref<VisualScript> script;
-
protected:
-
static void _bind_methods() {
- ClassDB::bind_method("_sig_changed",&VisualScriptEditorSignalEdit::_sig_changed);
+ ClassDB::bind_method("_sig_changed", &VisualScriptEditorSignalEdit::_sig_changed);
}
void _sig_changed() {
@@ -59,149 +58,138 @@ protected:
_change_notify();
}
- bool _set(const StringName& p_name, const Variant& p_value) {
+ bool _set(const StringName &p_name, const Variant &p_value) {
- if (sig==StringName())
+ if (sig == StringName())
return false;
- if (p_name=="argument_count") {
+ if (p_name == "argument_count") {
- int new_argc=p_value;
+ int new_argc = p_value;
int argc = script->custom_signal_get_argument_count(sig);
- if (argc==new_argc)
+ if (argc == new_argc)
return true;
undo_redo->create_action("Change Signal Arguments");
-
-
if (new_argc < argc) {
- for(int i=new_argc;i<argc;i++) {
- undo_redo->add_do_method(script.ptr(),"custom_signal_remove_argument",sig,new_argc);
- undo_redo->add_undo_method(script.ptr(),"custom_signal_add_argument",sig,script->custom_signal_get_argument_name(sig,i),script->custom_signal_get_argument_type(sig,i),-1);
+ for (int i = new_argc; i < argc; i++) {
+ undo_redo->add_do_method(script.ptr(), "custom_signal_remove_argument", sig, new_argc);
+ undo_redo->add_undo_method(script.ptr(), "custom_signal_add_argument", sig, script->custom_signal_get_argument_name(sig, i), script->custom_signal_get_argument_type(sig, i), -1);
}
- } else if (new_argc>argc) {
+ } else if (new_argc > argc) {
- for(int i=argc;i<new_argc;i++) {
+ for (int i = argc; i < new_argc; i++) {
- undo_redo->add_do_method(script.ptr(),"custom_signal_add_argument",sig,Variant::NIL,"arg"+itos(i+1),-1);
- undo_redo->add_undo_method(script.ptr(),"custom_signal_remove_argument",sig,argc);
+ undo_redo->add_do_method(script.ptr(), "custom_signal_add_argument", sig, Variant::NIL, "arg" + itos(i + 1), -1);
+ undo_redo->add_undo_method(script.ptr(), "custom_signal_remove_argument", sig, argc);
}
}
- undo_redo->add_do_method(this,"_sig_changed");
- undo_redo->add_undo_method(this,"_sig_changed");
+ undo_redo->add_do_method(this, "_sig_changed");
+ undo_redo->add_undo_method(this, "_sig_changed");
undo_redo->commit_action();
return true;
}
if (String(p_name).begins_with("argument/")) {
- int idx = String(p_name).get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V(idx,script->custom_signal_get_argument_count(sig),false);
- String what = String(p_name).get_slice("/",2);
- if (what=="type") {
+ int idx = String(p_name).get_slice("/", 1).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, script->custom_signal_get_argument_count(sig), false);
+ String what = String(p_name).get_slice("/", 2);
+ if (what == "type") {
- int old_type = script->custom_signal_get_argument_type(sig,idx);
- int new_type=p_value;
+ int old_type = script->custom_signal_get_argument_type(sig, idx);
+ int new_type = p_value;
undo_redo->create_action("Change Argument Type");
- undo_redo->add_do_method(script.ptr(),"custom_signal_set_argument_type",sig,idx,new_type);
- undo_redo->add_undo_method(script.ptr(),"custom_signal_set_argument_type",sig,idx,old_type);
+ undo_redo->add_do_method(script.ptr(), "custom_signal_set_argument_type", sig, idx, new_type);
+ undo_redo->add_undo_method(script.ptr(), "custom_signal_set_argument_type", sig, idx, old_type);
undo_redo->commit_action();
return true;
}
- if (what=="name") {
+ if (what == "name") {
- String old_name = script->custom_signal_get_argument_name(sig,idx);
- String new_name=p_value;
+ String old_name = script->custom_signal_get_argument_name(sig, idx);
+ String new_name = p_value;
undo_redo->create_action("Change Argument name");
- undo_redo->add_do_method(script.ptr(),"custom_signal_set_argument_name",sig,idx,new_name);
- undo_redo->add_undo_method(script.ptr(),"custom_signal_set_argument_name",sig,idx,old_name);
+ undo_redo->add_do_method(script.ptr(), "custom_signal_set_argument_name", sig, idx, new_name);
+ undo_redo->add_undo_method(script.ptr(), "custom_signal_set_argument_name", sig, idx, old_name);
undo_redo->commit_action();
return true;
}
-
-
}
-
return false;
}
- bool _get(const StringName& p_name,Variant &r_ret) const {
+ bool _get(const StringName &p_name, Variant &r_ret) const {
- if (sig==StringName())
+ if (sig == StringName())
return false;
- if (p_name=="argument_count") {
+ if (p_name == "argument_count") {
r_ret = script->custom_signal_get_argument_count(sig);
return true;
}
if (String(p_name).begins_with("argument/")) {
- int idx = String(p_name).get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V(idx,script->custom_signal_get_argument_count(sig),false);
- String what = String(p_name).get_slice("/",2);
- if (what=="type") {
- r_ret = script->custom_signal_get_argument_type(sig,idx);
+ int idx = String(p_name).get_slice("/", 1).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, script->custom_signal_get_argument_count(sig), false);
+ String what = String(p_name).get_slice("/", 2);
+ if (what == "type") {
+ r_ret = script->custom_signal_get_argument_type(sig, idx);
return true;
}
- if (what=="name") {
- r_ret = script->custom_signal_get_argument_name(sig,idx);
+ if (what == "name") {
+ r_ret = script->custom_signal_get_argument_name(sig, idx);
return true;
}
-
-
-
}
return false;
}
- void _get_property_list( List<PropertyInfo> *p_list) const {
+ void _get_property_list(List<PropertyInfo> *p_list) const {
- if (sig==StringName())
+ if (sig == StringName())
return;
- p_list->push_back(PropertyInfo(Variant::INT,"argument_count",PROPERTY_HINT_RANGE,"0,256"));
- String argt="Variant";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ p_list->push_back(PropertyInfo(Variant::INT, "argument_count", PROPERTY_HINT_RANGE, "0,256"));
+ String argt = "Variant";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- for(int i=0;i<script->custom_signal_get_argument_count(sig);i++) {
- p_list->push_back(PropertyInfo(Variant::INT,"argument/"+itos(i+1)+"/type",PROPERTY_HINT_ENUM,argt));
- p_list->push_back(PropertyInfo(Variant::STRING,"argument/"+itos(i+1)+"/name"));
+ for (int i = 0; i < script->custom_signal_get_argument_count(sig); i++) {
+ p_list->push_back(PropertyInfo(Variant::INT, "argument/" + itos(i + 1) + "/type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::STRING, "argument/" + itos(i + 1) + "/name"));
}
}
public:
+ void edit(const StringName &p_sig) {
-
- void edit(const StringName& p_sig) {
-
- sig=p_sig;
+ sig = p_sig;
_change_notify();
}
- VisualScriptEditorSignalEdit() { undo_redo=NULL; }
+ VisualScriptEditorSignalEdit() { undo_redo = NULL; }
};
class VisualScriptEditorVariableEdit : public Object {
- GDCLASS(VisualScriptEditorVariableEdit,Object)
+ GDCLASS(VisualScriptEditorVariableEdit, Object)
StringName var;
+
public:
UndoRedo *undo_redo;
Ref<VisualScript> script;
-
protected:
-
static void _bind_methods() {
- ClassDB::bind_method("_var_changed",&VisualScriptEditorVariableEdit::_var_changed);
- ClassDB::bind_method("_var_value_changed",&VisualScriptEditorVariableEdit::_var_value_changed);
+ ClassDB::bind_method("_var_changed", &VisualScriptEditorVariableEdit::_var_changed);
+ ClassDB::bind_method("_var_value_changed", &VisualScriptEditorVariableEdit::_var_value_changed);
}
void _var_changed() {
@@ -213,138 +201,132 @@ protected:
_change_notify("value"); //so the whole tree is not redrawn, makes editing smoother in general
}
- bool _set(const StringName& p_name, const Variant& p_value) {
+ bool _set(const StringName &p_name, const Variant &p_value) {
- if (var==StringName())
+ if (var == StringName())
return false;
-
-
- if (String(p_name)=="value") {
+ if (String(p_name) == "value") {
undo_redo->create_action("Set Variable Default Value");
- Variant current=script->get_variable_default_value(var);
- undo_redo->add_do_method(script.ptr(),"set_variable_default_value",var,p_value);
- undo_redo->add_undo_method(script.ptr(),"set_variable_default_value",var,current);
- undo_redo->add_do_method(this,"_var_value_changed");
- undo_redo->add_undo_method(this,"_var_value_changed");
+ Variant current = script->get_variable_default_value(var);
+ undo_redo->add_do_method(script.ptr(), "set_variable_default_value", var, p_value);
+ undo_redo->add_undo_method(script.ptr(), "set_variable_default_value", var, current);
+ undo_redo->add_do_method(this, "_var_value_changed");
+ undo_redo->add_undo_method(this, "_var_value_changed");
undo_redo->commit_action();
return true;
}
- Dictionary d = script->call("get_variable_info",var);
+ Dictionary d = script->call("get_variable_info", var);
- if (String(p_name)=="type") {
+ if (String(p_name) == "type") {
- Dictionary dc=d.copy();
- dc["type"]=p_value;
+ Dictionary dc = d.copy();
+ dc["type"] = p_value;
undo_redo->create_action("Set Variable Type");
- undo_redo->add_do_method(script.ptr(),"set_variable_info",var,dc);
- undo_redo->add_undo_method(script.ptr(),"set_variable_info",var,d);
- undo_redo->add_do_method(this,"_var_changed");
- undo_redo->add_undo_method(this,"_var_changed");
+ undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc);
+ undo_redo->add_undo_method(script.ptr(), "set_variable_info", var, d);
+ undo_redo->add_do_method(this, "_var_changed");
+ undo_redo->add_undo_method(this, "_var_changed");
undo_redo->commit_action();
return true;
}
- if (String(p_name)=="hint") {
+ if (String(p_name) == "hint") {
- Dictionary dc=d.copy();
- dc["hint"]=p_value;
+ Dictionary dc = d.copy();
+ dc["hint"] = p_value;
undo_redo->create_action("Set Variable Type");
- undo_redo->add_do_method(script.ptr(),"set_variable_info",var,dc);
- undo_redo->add_undo_method(script.ptr(),"set_variable_info",var,d);
- undo_redo->add_do_method(this,"_var_changed");
- undo_redo->add_undo_method(this,"_var_changed");
+ undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc);
+ undo_redo->add_undo_method(script.ptr(), "set_variable_info", var, d);
+ undo_redo->add_do_method(this, "_var_changed");
+ undo_redo->add_undo_method(this, "_var_changed");
undo_redo->commit_action();
return true;
}
- if (String(p_name)=="hint_string") {
+ if (String(p_name) == "hint_string") {
- Dictionary dc=d.copy();
- dc["hint_string"]=p_value;
+ Dictionary dc = d.copy();
+ dc["hint_string"] = p_value;
undo_redo->create_action("Set Variable Type");
- undo_redo->add_do_method(script.ptr(),"set_variable_info",var,dc);
- undo_redo->add_undo_method(script.ptr(),"set_variable_info",var,d);
- undo_redo->add_do_method(this,"_var_changed");
- undo_redo->add_undo_method(this,"_var_changed");
+ undo_redo->add_do_method(script.ptr(), "set_variable_info", var, dc);
+ undo_redo->add_undo_method(script.ptr(), "set_variable_info", var, d);
+ undo_redo->add_do_method(this, "_var_changed");
+ undo_redo->add_undo_method(this, "_var_changed");
undo_redo->commit_action();
return true;
}
- if (String(p_name)=="export") {
- script->set_variable_export(var,p_value);
+ if (String(p_name) == "export") {
+ script->set_variable_export(var, p_value);
return true;
}
-
return false;
}
- bool _get(const StringName& p_name,Variant &r_ret) const {
+ bool _get(const StringName &p_name, Variant &r_ret) const {
- if (var==StringName())
+ if (var == StringName())
return false;
- if (String(p_name)=="value") {
- r_ret=script->get_variable_default_value(var);
+ if (String(p_name) == "value") {
+ r_ret = script->get_variable_default_value(var);
return true;
}
PropertyInfo pinfo = script->get_variable_info(var);
- if (String(p_name)=="type") {
- r_ret=pinfo.type;
+ if (String(p_name) == "type") {
+ r_ret = pinfo.type;
return true;
}
- if (String(p_name)=="hint") {
- r_ret=pinfo.hint;
+ if (String(p_name) == "hint") {
+ r_ret = pinfo.hint;
return true;
}
- if (String(p_name)=="hint_string") {
- r_ret=pinfo.hint_string;
+ if (String(p_name) == "hint_string") {
+ r_ret = pinfo.hint_string;
return true;
}
- if (String(p_name)=="export") {
- r_ret=script->get_variable_export(var);
+ if (String(p_name) == "export") {
+ r_ret = script->get_variable_export(var);
return true;
}
return false;
}
- void _get_property_list( List<PropertyInfo> *p_list) const {
+ void _get_property_list(List<PropertyInfo> *p_list) const {
- if (var==StringName())
+ if (var == StringName())
return;
- String argt="Variant";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Variant";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- p_list->push_back(PropertyInfo(Variant::INT,"type",PROPERTY_HINT_ENUM,argt));
- p_list->push_back(PropertyInfo(script->get_variable_info(var).type,"value",script->get_variable_info(var).hint,script->get_variable_info(var).hint_string,PROPERTY_USAGE_DEFAULT));
- p_list->push_back(PropertyInfo(Variant::INT,"hint",PROPERTY_HINT_ENUM,"None,Range,ExpRange,Enum,ExpEasing,Length,SpriteFrame,KeyAccel,BitFlags,AllFlags,File,Dir,GlobalFile,GlobalDir,ResourceType,MultilineText"));
- p_list->push_back(PropertyInfo(Variant::STRING,"hint_string"));
- p_list->push_back(PropertyInfo(Variant::BOOL,"export"));
-
+ p_list->push_back(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(script->get_variable_info(var).type, "value", script->get_variable_info(var).hint, script->get_variable_info(var).hint_string, PROPERTY_USAGE_DEFAULT));
+ p_list->push_back(PropertyInfo(Variant::INT, "hint", PROPERTY_HINT_ENUM, "None,Range,ExpRange,Enum,ExpEasing,Length,SpriteFrame,KeyAccel,BitFlags,AllFlags,File,Dir,GlobalFile,GlobalDir,ResourceType,MultilineText"));
+ p_list->push_back(PropertyInfo(Variant::STRING, "hint_string"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, "export"));
}
public:
+ void edit(const StringName &p_var) {
-
- void edit(const StringName& p_var) {
-
- var=p_var;
+ var = p_var;
_change_notify();
}
- VisualScriptEditorVariableEdit() { undo_redo=NULL; }
+ VisualScriptEditorVariableEdit() { undo_redo = NULL; }
};
static Color _color_from_type(Variant::Type p_type) {
Color color;
- switch(p_type) {
+ switch (p_type) {
case Variant::NIL: color = Color::html("69ecbd"); break;
case Variant::BOOL: color = Color::html("8da6f0"); break;
@@ -380,66 +362,60 @@ static Color _color_from_type(Variant::Type p_type) {
case Variant::POOL_COLOR_ARRAY: color = Color::html("e9ff97"); break;
default:
- color.set_hsv(p_type/float(Variant::VARIANT_MAX),0.7,0.7);
+ color.set_hsv(p_type / float(Variant::VARIANT_MAX), 0.7, 0.7);
}
return color;
}
-
-
void VisualScriptEditor::_update_graph_connections() {
graph->clear_connections();
List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func,&sequence_conns);
+ script->get_sequence_connection_list(edited_func, &sequence_conns);
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
- for (List<VisualScript::SequenceConnection>::Element *E=sequence_conns.front();E;E=E->next()) {
-
- graph->connect_node(itos(E->get().from_node),E->get().from_output,itos(E->get().to_node),0);
+ graph->connect_node(itos(E->get().from_node), E->get().from_output, itos(E->get().to_node), 0);
}
List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func,&data_conns);
-
- for (List<VisualScript::DataConnection>::Element *E=data_conns.front();E;E=E->next()) {
+ script->get_data_connection_list(edited_func, &data_conns);
- VisualScript::DataConnection dc=E->get();
+ for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
+ VisualScript::DataConnection dc = E->get();
- Ref<VisualScriptNode> from_node = script->get_node(edited_func,E->get().from_node);
- Ref<VisualScriptNode> to_node = script->get_node(edited_func,E->get().to_node);
+ Ref<VisualScriptNode> from_node = script->get_node(edited_func, E->get().from_node);
+ Ref<VisualScriptNode> to_node = script->get_node(edited_func, E->get().to_node);
if (to_node->has_input_sequence_port()) {
dc.to_port++;
}
- dc.from_port+=from_node->get_output_sequence_port_count();
+ dc.from_port += from_node->get_output_sequence_port_count();
- graph->connect_node(itos(E->get().from_node),dc.from_port,itos(E->get().to_node),dc.to_port);
+ graph->connect_node(itos(E->get().from_node), dc.from_port, itos(E->get().to_node), dc.to_port);
}
-
}
-
void VisualScriptEditor::_update_graph(int p_only_id) {
if (updating_graph)
return;
- updating_graph=true;
+ updating_graph = true;
//byebye all nodes
- if (p_only_id>=0) {
+ if (p_only_id >= 0) {
if (graph->has_node(itos(p_only_id))) {
- Node* gid = graph->get_node(itos(p_only_id));
+ Node *gid = graph->get_node(itos(p_only_id));
if (gid)
memdelete(gid);
}
} else {
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
if (graph->get_child(i)->cast_to<GraphNode>()) {
memdelete(graph->get_child(i));
@@ -451,172 +427,160 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
if (!script->has_function(edited_func)) {
graph->hide();
select_func_text->show();
- updating_graph=false;
+ updating_graph = false;
return;
}
graph->show();
select_func_text->hide();
- Ref<Texture> type_icons[Variant::VARIANT_MAX]={
- Control::get_icon("MiniVariant","EditorIcons"),
- Control::get_icon("MiniBoolean","EditorIcons"),
- Control::get_icon("MiniInteger","EditorIcons"),
- Control::get_icon("MiniFloat","EditorIcons"),
- Control::get_icon("MiniString","EditorIcons"),
- Control::get_icon("MiniVector2","EditorIcons"),
- Control::get_icon("MiniRect2","EditorIcons"),
- Control::get_icon("MiniVector3","EditorIcons"),
- Control::get_icon("MiniTransform2D","EditorIcons"),
- Control::get_icon("MiniPlane","EditorIcons"),
- Control::get_icon("MiniQuat","EditorIcons"),
- Control::get_icon("MiniAabb","EditorIcons"),
- Control::get_icon("MiniBasis","EditorIcons"),
- Control::get_icon("MiniTransform","EditorIcons"),
- Control::get_icon("MiniColor","EditorIcons"),
- Control::get_icon("MiniImage","EditorIcons"),
- Control::get_icon("MiniPath","EditorIcons"),
- Control::get_icon("MiniRid","EditorIcons"),
- Control::get_icon("MiniObject","EditorIcons"),
- Control::get_icon("MiniInput","EditorIcons"),
- Control::get_icon("MiniDictionary","EditorIcons"),
- Control::get_icon("MiniArray","EditorIcons"),
- Control::get_icon("MiniRawArray","EditorIcons"),
- Control::get_icon("MiniIntArray","EditorIcons"),
- Control::get_icon("MiniFloatArray","EditorIcons"),
- Control::get_icon("MiniStringArray","EditorIcons"),
- Control::get_icon("MiniVector2Array","EditorIcons"),
- Control::get_icon("MiniVector3Array","EditorIcons"),
- Control::get_icon("MiniColorArray","EditorIcons")
+ Ref<Texture> type_icons[Variant::VARIANT_MAX] = {
+ Control::get_icon("MiniVariant", "EditorIcons"),
+ Control::get_icon("MiniBoolean", "EditorIcons"),
+ Control::get_icon("MiniInteger", "EditorIcons"),
+ Control::get_icon("MiniFloat", "EditorIcons"),
+ Control::get_icon("MiniString", "EditorIcons"),
+ Control::get_icon("MiniVector2", "EditorIcons"),
+ Control::get_icon("MiniRect2", "EditorIcons"),
+ Control::get_icon("MiniVector3", "EditorIcons"),
+ Control::get_icon("MiniTransform2D", "EditorIcons"),
+ Control::get_icon("MiniPlane", "EditorIcons"),
+ Control::get_icon("MiniQuat", "EditorIcons"),
+ Control::get_icon("MiniAabb", "EditorIcons"),
+ Control::get_icon("MiniBasis", "EditorIcons"),
+ Control::get_icon("MiniTransform", "EditorIcons"),
+ Control::get_icon("MiniColor", "EditorIcons"),
+ Control::get_icon("MiniImage", "EditorIcons"),
+ Control::get_icon("MiniPath", "EditorIcons"),
+ Control::get_icon("MiniRid", "EditorIcons"),
+ Control::get_icon("MiniObject", "EditorIcons"),
+ Control::get_icon("MiniInput", "EditorIcons"),
+ Control::get_icon("MiniDictionary", "EditorIcons"),
+ Control::get_icon("MiniArray", "EditorIcons"),
+ Control::get_icon("MiniRawArray", "EditorIcons"),
+ Control::get_icon("MiniIntArray", "EditorIcons"),
+ Control::get_icon("MiniFloatArray", "EditorIcons"),
+ Control::get_icon("MiniStringArray", "EditorIcons"),
+ Control::get_icon("MiniVector2Array", "EditorIcons"),
+ Control::get_icon("MiniVector3Array", "EditorIcons"),
+ Control::get_icon("MiniColorArray", "EditorIcons")
};
-
-
- Ref<Texture> seq_port = Control::get_icon("VisualShaderPort","EditorIcons");
+ Ref<Texture> seq_port = Control::get_icon("VisualShaderPort", "EditorIcons");
List<int> ids;
- script->get_node_list(edited_func,&ids);
- StringName editor_icons="EditorIcons";
+ script->get_node_list(edited_func, &ids);
+ StringName editor_icons = "EditorIcons";
- for(List<int>::Element *E=ids.front();E;E=E->next()) {
+ for (List<int>::Element *E = ids.front(); E; E = E->next()) {
- if (p_only_id>=0 && p_only_id!=E->get())
+ if (p_only_id >= 0 && p_only_id != E->get())
continue;
- Ref<VisualScriptNode> node = script->get_node(edited_func,E->get());
- Vector2 pos = script->get_node_pos(edited_func,E->get());
+ Ref<VisualScriptNode> node = script->get_node(edited_func, E->get());
+ Vector2 pos = script->get_node_pos(edited_func, E->get());
- GraphNode *gnode = memnew( GraphNode );
+ GraphNode *gnode = memnew(GraphNode);
gnode->set_title(node->get_caption());
- if (error_line==E->get()) {
+ if (error_line == E->get()) {
gnode->set_overlay(GraphNode::OVERLAY_POSITION);
} else if (node->is_breakpoint()) {
gnode->set_overlay(GraphNode::OVERLAY_BREAKPOINT);
}
- if (EditorSettings::get_singleton()->has("editors/visual_script/color_"+node->get_category())) {
- gnode->set_modulate(EditorSettings::get_singleton()->get("editors/visual_script/color_"+node->get_category()));
+ if (EditorSettings::get_singleton()->has("editors/visual_script/color_" + node->get_category())) {
+ gnode->set_modulate(EditorSettings::get_singleton()->get("editors/visual_script/color_" + node->get_category()));
}
-
-
- gnode->set_meta("__vnode",node);
+ gnode->set_meta("__vnode", node);
gnode->set_name(itos(E->get()));
- gnode->connect("dragged",this,"_node_moved",varray(E->get()));
- gnode->connect("close_request",this,"_remove_node",varray(E->get()),CONNECT_DEFERRED);
+ gnode->connect("dragged", this, "_node_moved", varray(E->get()));
+ gnode->connect("close_request", this, "_remove_node", varray(E->get()), CONNECT_DEFERRED);
-
- if (E->get()!=script->get_function_node_id(edited_func)) {
+ if (E->get() != script->get_function_node_id(edited_func)) {
//function can't be erased
gnode->set_show_close_button(true);
}
-
if (node->cast_to<VisualScriptExpression>()) {
- LineEdit *line_edit = memnew( LineEdit );
+ LineEdit *line_edit = memnew(LineEdit);
line_edit->set_text(node->get_text());
line_edit->set_expand_to_text_length(true);
- line_edit->add_font_override("font",get_font("source","EditorFonts"));
+ line_edit->add_font_override("font", get_font("source", "EditorFonts"));
gnode->add_child(line_edit);
- line_edit->connect("text_changed",this,"_expression_text_changed",varray(E->get()));
+ line_edit->connect("text_changed", this, "_expression_text_changed", varray(E->get()));
} else {
- Label *text = memnew( Label );
+ Label *text = memnew(Label);
text->set_text(node->get_text());
gnode->add_child(text);
}
-
if (node->cast_to<VisualScriptComment>()) {
- Ref<VisualScriptComment> vsc=node;
+ Ref<VisualScriptComment> vsc = node;
gnode->set_comment(true);
gnode->set_resizeable(true);
- gnode->set_custom_minimum_size(vsc->get_size()*EDSCALE);
- gnode->connect("resize_request",this,"_comment_node_resized",varray(E->get()));
-
+ gnode->set_custom_minimum_size(vsc->get_size() * EDSCALE);
+ gnode->connect("resize_request", this, "_comment_node_resized", varray(E->get()));
}
+ int slot_idx = 0;
- int slot_idx=0;
-
- bool single_seq_output = node->get_output_sequence_port_count()==1 && node->get_output_sequence_port_text(0)==String();
- gnode->set_slot(0,node->has_input_sequence_port(),TYPE_SEQUENCE,Color(1,1,1,1),single_seq_output,TYPE_SEQUENCE,Color(1,1,1,1),seq_port,seq_port);
- gnode->set_offset(pos*EDSCALE);
+ bool single_seq_output = node->get_output_sequence_port_count() == 1 && node->get_output_sequence_port_text(0) == String();
+ gnode->set_slot(0, node->has_input_sequence_port(), TYPE_SEQUENCE, Color(1, 1, 1, 1), single_seq_output, TYPE_SEQUENCE, Color(1, 1, 1, 1), seq_port, seq_port);
+ gnode->set_offset(pos * EDSCALE);
slot_idx++;
-
- int mixed_seq_ports=0;
+ int mixed_seq_ports = 0;
if (!single_seq_output) {
if (node->has_mixed_input_and_sequence_ports()) {
- mixed_seq_ports=node->get_output_sequence_port_count();
+ mixed_seq_ports = node->get_output_sequence_port_count();
} else {
- for(int i=0;i<node->get_output_sequence_port_count();i++) {
+ for (int i = 0; i < node->get_output_sequence_port_count(); i++) {
- Label *text2 = memnew( Label );
+ Label *text2 = memnew(Label);
text2->set_text(node->get_output_sequence_port_text(i));
text2->set_align(Label::ALIGN_RIGHT);
gnode->add_child(text2);
- gnode->set_slot(slot_idx,false,0,Color(),true,TYPE_SEQUENCE,Color(1,1,1,1),seq_port,seq_port);
+ gnode->set_slot(slot_idx, false, 0, Color(), true, TYPE_SEQUENCE, Color(1, 1, 1, 1), seq_port, seq_port);
slot_idx++;
}
}
}
- for(int i=0;i<MAX(node->get_output_value_port_count(),MAX(mixed_seq_ports,node->get_input_value_port_count()));i++) {
+ for (int i = 0; i < MAX(node->get_output_value_port_count(), MAX(mixed_seq_ports, node->get_input_value_port_count())); i++) {
- bool left_ok=false;
- Variant::Type left_type=Variant::NIL;
+ bool left_ok = false;
+ Variant::Type left_type = Variant::NIL;
String left_name;
-
-
- if (i<node->get_input_value_port_count()) {
+ if (i < node->get_input_value_port_count()) {
PropertyInfo pi = node->get_input_value_port_info(i);
- left_ok=true;
- left_type=pi.type;
- left_name=pi.name;
+ left_ok = true;
+ left_type = pi.type;
+ left_name = pi.name;
}
- bool right_ok=false;
- Variant::Type right_type=Variant::NIL;
+ bool right_ok = false;
+ Variant::Type right_type = Variant::NIL;
String right_name;
- if (i>=mixed_seq_ports && i<node->get_output_value_port_count()+mixed_seq_ports) {
- PropertyInfo pi = node->get_output_value_port_info(i-mixed_seq_ports);
- right_ok=true;
- right_type=pi.type;
- right_name=pi.name;
+ if (i >= mixed_seq_ports && i < node->get_output_value_port_count() + mixed_seq_ports) {
+ PropertyInfo pi = node->get_output_value_port_info(i - mixed_seq_ports);
+ right_ok = true;
+ right_type = pi.type;
+ right_name = pi.name;
}
- HBoxContainer *hbc = memnew( HBoxContainer);
+ HBoxContainer *hbc = memnew(HBoxContainer);
if (left_ok) {
Ref<Texture> t;
- if (left_type>=0 && left_type<Variant::VARIANT_MAX) {
- t=type_icons[left_type];
+ if (left_type >= 0 && left_type < Variant::VARIANT_MAX) {
+ t = type_icons[left_type];
}
if (t.is_valid()) {
TextureRect *tf = memnew(TextureRect);
@@ -627,51 +591,51 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
hbc->add_child(memnew(Label(left_name)));
- if (left_type!=Variant::NIL && !script->is_input_value_port_connected(edited_func,E->get(),i)) {
+ if (left_type != Variant::NIL && !script->is_input_value_port_connected(edited_func, E->get(), i)) {
PropertyInfo pi = node->get_input_value_port_info(i);
- Button *button = memnew( Button );
+ Button *button = memnew(Button);
Variant value = node->get_default_input_value(i);
- if (value.get_type()!=left_type) {
+ if (value.get_type() != left_type) {
//different type? for now convert
//not the same, reconvert
Variant::CallError ce;
- const Variant *existingp=&value;
- value = Variant::construct(left_type,&existingp,1,ce,false);
+ const Variant *existingp = &value;
+ value = Variant::construct(left_type, &existingp, 1, ce, false);
}
- if (left_type==Variant::COLOR) {
- button->set_custom_minimum_size(Size2(30,0)*EDSCALE);
- button->connect("draw",this,"_draw_color_over_button",varray(button,value));
- } else if (left_type==Variant::OBJECT && Ref<Resource>(value).is_valid()) {
+ if (left_type == Variant::COLOR) {
+ button->set_custom_minimum_size(Size2(30, 0) * EDSCALE);
+ button->connect("draw", this, "_draw_color_over_button", varray(button, value));
+ } else if (left_type == Variant::OBJECT && Ref<Resource>(value).is_valid()) {
Ref<Resource> res = value;
Array arr;
arr.push_back(button->get_instance_ID());
arr.push_back(String(value));
- EditorResourcePreview::get_singleton()->queue_edited_resource_preview(res,this,"_button_resource_previewed",arr);
+ EditorResourcePreview::get_singleton()->queue_edited_resource_preview(res, this, "_button_resource_previewed", arr);
- } else if (pi.type==Variant::INT && pi.hint==PROPERTY_HINT_ENUM){
+ } else if (pi.type == Variant::INT && pi.hint == PROPERTY_HINT_ENUM) {
- button->set_text(pi.hint_string.get_slice(",",value));
+ button->set_text(pi.hint_string.get_slice(",", value));
} else {
button->set_text(value);
}
- button->connect("pressed",this,"_default_value_edited",varray(button,E->get(),i));
+ button->connect("pressed", this, "_default_value_edited", varray(button, E->get(), i));
hbc->add_child(button);
}
} else {
Control *c = memnew(Control);
- c->set_custom_minimum_size(Size2(10,0)*EDSCALE);
+ c->set_custom_minimum_size(Size2(10, 0) * EDSCALE);
hbc->add_child(c);
}
hbc->add_spacer();
- if (i<mixed_seq_ports) {
+ if (i < mixed_seq_ports) {
- Label *text2 = memnew( Label );
+ Label *text2 = memnew(Label);
text2->set_text(node->get_output_sequence_port_text(i));
text2->set_align(Label::ALIGN_RIGHT);
hbc->add_child(text2);
@@ -682,8 +646,8 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
hbc->add_child(memnew(Label(right_name)));
Ref<Texture> t;
- if (right_type>=0 && right_type<Variant::VARIANT_MAX) {
- t=type_icons[right_type];
+ if (right_type >= 0 && right_type < Variant::VARIANT_MAX) {
+ t = type_icons[right_type];
}
if (t.is_valid()) {
TextureRect *tf = memnew(TextureRect);
@@ -691,15 +655,14 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
tf->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
hbc->add_child(tf);
}
-
}
gnode->add_child(hbc);
- if (i<mixed_seq_ports) {
- gnode->set_slot(slot_idx,left_ok,left_type,_color_from_type(left_type),true,TYPE_SEQUENCE,Color(1,1,1,1),Ref<Texture>(),seq_port);
+ if (i < mixed_seq_ports) {
+ gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type), true, TYPE_SEQUENCE, Color(1, 1, 1, 1), Ref<Texture>(), seq_port);
} else {
- gnode->set_slot(slot_idx,left_ok,left_type,_color_from_type(left_type),right_ok,right_type,_color_from_type(right_type));
+ gnode->set_slot(slot_idx, left_ok, left_type, _color_from_type(left_type), right_ok, right_type, _color_from_type(right_type));
}
slot_idx++;
@@ -708,137 +671,134 @@ void VisualScriptEditor::_update_graph(int p_only_id) {
graph->add_child(gnode);
if (gnode->is_comment()) {
- graph->move_child(gnode,0);
+ graph->move_child(gnode, 0);
}
}
_update_graph_connections();
- graph->call_deferred("set_scroll_ofs",script->get_function_scroll(edited_func)*EDSCALE); //may need to adapt a bit, let it do so
- updating_graph=false;
-
+ graph->call_deferred("set_scroll_ofs", script->get_function_scroll(edited_func) * EDSCALE); //may need to adapt a bit, let it do so
+ updating_graph = false;
}
void VisualScriptEditor::_update_members() {
-
- updating_members=true;
+ updating_members = true;
members->clear();
TreeItem *root = members->create_item();
TreeItem *functions = members->create_item(root);
- functions->set_selectable(0,false);
- functions->set_text(0,TTR("Functions:"));
- functions->add_button(0,Control::get_icon("Override","EditorIcons"),1);
- functions->add_button(0,Control::get_icon("Add","EditorIcons"),0);
- functions->set_custom_bg_color(0,Control::get_color("prop_section","Editor"));
+ functions->set_selectable(0, false);
+ functions->set_text(0, TTR("Functions:"));
+ functions->add_button(0, Control::get_icon("Override", "EditorIcons"), 1);
+ functions->add_button(0, Control::get_icon("Add", "EditorIcons"), 0);
+ functions->set_custom_bg_color(0, Control::get_color("prop_section", "Editor"));
List<StringName> func_names;
script->get_function_list(&func_names);
- for (List<StringName>::Element *E=func_names.front();E;E=E->next()) {
- TreeItem *ti = members->create_item(functions) ;
- ti->set_text(0,E->get());
- ti->set_selectable(0,true);
- ti->set_editable(0,true);
+ for (List<StringName>::Element *E = func_names.front(); E; E = E->next()) {
+ TreeItem *ti = members->create_item(functions);
+ ti->set_text(0, E->get());
+ ti->set_selectable(0, true);
+ ti->set_editable(0, true);
//ti->add_button(0,Control::get_icon("Edit","EditorIcons"),0); function arguments are in the node now
- ti->add_button(0,Control::get_icon("Del","EditorIcons"),1);
- ti->set_metadata(0,E->get());
- if (E->get()==edited_func) {
- ti->set_custom_bg_color(0,get_color("prop_category","Editor"));
- ti->set_custom_color(0,Color(1,1,1,1));
+ ti->add_button(0, Control::get_icon("Del", "EditorIcons"), 1);
+ ti->set_metadata(0, E->get());
+ if (E->get() == edited_func) {
+ ti->set_custom_bg_color(0, get_color("prop_category", "Editor"));
+ ti->set_custom_color(0, Color(1, 1, 1, 1));
}
- if (selected==E->get())
+ if (selected == E->get())
ti->select(0);
}
TreeItem *variables = members->create_item(root);
- variables->set_selectable(0,false);
- variables->set_text(0,TTR("Variables:"));
- variables->add_button(0,Control::get_icon("Add","EditorIcons"));
- variables->set_custom_bg_color(0,Control::get_color("prop_section","Editor"));
-
- Ref<Texture> type_icons[Variant::VARIANT_MAX]={
- Control::get_icon("MiniVariant","EditorIcons"),
- Control::get_icon("MiniBoolean","EditorIcons"),
- Control::get_icon("MiniInteger","EditorIcons"),
- Control::get_icon("MiniFloat","EditorIcons"),
- Control::get_icon("MiniString","EditorIcons"),
- Control::get_icon("MiniVector2","EditorIcons"),
- Control::get_icon("MiniRect2","EditorIcons"),
- Control::get_icon("MiniVector3","EditorIcons"),
- Control::get_icon("MiniMatrix32","EditorIcons"),
- Control::get_icon("MiniPlane","EditorIcons"),
- Control::get_icon("MiniQuat","EditorIcons"),
- Control::get_icon("MiniAabb","EditorIcons"),
- Control::get_icon("MiniMatrix3","EditorIcons"),
- Control::get_icon("MiniTransform","EditorIcons"),
- Control::get_icon("MiniColor","EditorIcons"),
- Control::get_icon("MiniImage","EditorIcons"),
- Control::get_icon("MiniPath","EditorIcons"),
- Control::get_icon("MiniRid","EditorIcons"),
- Control::get_icon("MiniObject","EditorIcons"),
- Control::get_icon("MiniInput","EditorIcons"),
- Control::get_icon("MiniDictionary","EditorIcons"),
- Control::get_icon("MiniArray","EditorIcons"),
- Control::get_icon("MiniRawArray","EditorIcons"),
- Control::get_icon("MiniIntArray","EditorIcons"),
- Control::get_icon("MiniFloatArray","EditorIcons"),
- Control::get_icon("MiniStringArray","EditorIcons"),
- Control::get_icon("MiniVector2Array","EditorIcons"),
- Control::get_icon("MiniVector3Array","EditorIcons"),
- Control::get_icon("MiniColorArray","EditorIcons")
+ variables->set_selectable(0, false);
+ variables->set_text(0, TTR("Variables:"));
+ variables->add_button(0, Control::get_icon("Add", "EditorIcons"));
+ variables->set_custom_bg_color(0, Control::get_color("prop_section", "Editor"));
+
+ Ref<Texture> type_icons[Variant::VARIANT_MAX] = {
+ Control::get_icon("MiniVariant", "EditorIcons"),
+ Control::get_icon("MiniBoolean", "EditorIcons"),
+ Control::get_icon("MiniInteger", "EditorIcons"),
+ Control::get_icon("MiniFloat", "EditorIcons"),
+ Control::get_icon("MiniString", "EditorIcons"),
+ Control::get_icon("MiniVector2", "EditorIcons"),
+ Control::get_icon("MiniRect2", "EditorIcons"),
+ Control::get_icon("MiniVector3", "EditorIcons"),
+ Control::get_icon("MiniMatrix32", "EditorIcons"),
+ Control::get_icon("MiniPlane", "EditorIcons"),
+ Control::get_icon("MiniQuat", "EditorIcons"),
+ Control::get_icon("MiniAabb", "EditorIcons"),
+ Control::get_icon("MiniMatrix3", "EditorIcons"),
+ Control::get_icon("MiniTransform", "EditorIcons"),
+ Control::get_icon("MiniColor", "EditorIcons"),
+ Control::get_icon("MiniImage", "EditorIcons"),
+ Control::get_icon("MiniPath", "EditorIcons"),
+ Control::get_icon("MiniRid", "EditorIcons"),
+ Control::get_icon("MiniObject", "EditorIcons"),
+ Control::get_icon("MiniInput", "EditorIcons"),
+ Control::get_icon("MiniDictionary", "EditorIcons"),
+ Control::get_icon("MiniArray", "EditorIcons"),
+ Control::get_icon("MiniRawArray", "EditorIcons"),
+ Control::get_icon("MiniIntArray", "EditorIcons"),
+ Control::get_icon("MiniFloatArray", "EditorIcons"),
+ Control::get_icon("MiniStringArray", "EditorIcons"),
+ Control::get_icon("MiniVector2Array", "EditorIcons"),
+ Control::get_icon("MiniVector3Array", "EditorIcons"),
+ Control::get_icon("MiniColorArray", "EditorIcons")
};
List<StringName> var_names;
script->get_variable_list(&var_names);
- for (List<StringName>::Element *E=var_names.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = var_names.front(); E; E = E->next()) {
TreeItem *ti = members->create_item(variables);
- ti->set_text(0,E->get());
+ ti->set_text(0, E->get());
Variant var = script->get_variable_default_value(E->get());
- ti->set_suffix(0,"="+String(var));
- ti->set_icon(0,type_icons[script->get_variable_info(E->get()).type]);
-
- ti->set_selectable(0,true);
- ti->set_editable(0,true);
- ti->add_button(0,Control::get_icon("Edit","EditorIcons"),0);
- ti->add_button(0,Control::get_icon("Del","EditorIcons"),1);
- ti->set_metadata(0,E->get());
- if (selected==E->get())
+ ti->set_suffix(0, "=" + String(var));
+ ti->set_icon(0, type_icons[script->get_variable_info(E->get()).type]);
+
+ ti->set_selectable(0, true);
+ ti->set_editable(0, true);
+ ti->add_button(0, Control::get_icon("Edit", "EditorIcons"), 0);
+ ti->add_button(0, Control::get_icon("Del", "EditorIcons"), 1);
+ ti->set_metadata(0, E->get());
+ if (selected == E->get())
ti->select(0);
}
TreeItem *_signals = members->create_item(root);
- _signals->set_selectable(0,false);
- _signals->set_text(0,TTR("Signals:"));
- _signals->add_button(0,Control::get_icon("Add","EditorIcons"));
- _signals->set_custom_bg_color(0,Control::get_color("prop_section","Editor"));
+ _signals->set_selectable(0, false);
+ _signals->set_text(0, TTR("Signals:"));
+ _signals->add_button(0, Control::get_icon("Add", "EditorIcons"));
+ _signals->set_custom_bg_color(0, Control::get_color("prop_section", "Editor"));
List<StringName> signal_names;
script->get_custom_signal_list(&signal_names);
- for (List<StringName>::Element *E=signal_names.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = signal_names.front(); E; E = E->next()) {
TreeItem *ti = members->create_item(_signals);
- ti->set_text(0,E->get());
- ti->set_selectable(0,true);
- ti->set_editable(0,true);
- ti->add_button(0,Control::get_icon("Edit","EditorIcons"),0);
- ti->add_button(0,Control::get_icon("Del","EditorIcons"),1);
- ti->set_metadata(0,E->get());
- if (selected==E->get())
+ ti->set_text(0, E->get());
+ ti->set_selectable(0, true);
+ ti->set_editable(0, true);
+ ti->add_button(0, Control::get_icon("Edit", "EditorIcons"), 0);
+ ti->add_button(0, Control::get_icon("Del", "EditorIcons"), 1);
+ ti->set_metadata(0, E->get());
+ if (selected == E->get())
ti->select(0);
}
- String base_type=script->get_instance_base_type();
- String icon_type=base_type;
- if (!Control::has_icon(base_type,"EditorIcons")) {
- icon_type="Object";
+ String base_type = script->get_instance_base_type();
+ String icon_type = base_type;
+ if (!Control::has_icon(base_type, "EditorIcons")) {
+ icon_type = "Object";
}
base_type_select->set_text(base_type);
- base_type_select->set_icon(Control::get_icon(icon_type,"EditorIcons"));
-
- updating_members=false;
+ base_type_select->set_icon(Control::get_icon(icon_type, "EditorIcons"));
+ updating_members = false;
}
void VisualScriptEditor::_member_selected() {
@@ -846,30 +806,24 @@ void VisualScriptEditor::_member_selected() {
if (updating_members)
return;
- TreeItem *ti=members->get_selected();
+ TreeItem *ti = members->get_selected();
ERR_FAIL_COND(!ti);
-
- selected=ti->get_metadata(0);
+ selected = ti->get_metadata(0);
//print_line("selected: "+String(selected));
+ if (ti->get_parent() == members->get_root()->get_children()) {
- if (ti->get_parent()==members->get_root()->get_children()) {
-
- if (edited_func!=selected) {
+ if (edited_func != selected) {
- revert_on_drag=edited_func;
- edited_func=selected;
+ revert_on_drag = edited_func;
+ edited_func = selected;
_update_members();
_update_graph();
}
return; //or crash because it will become invalid
-
}
-
-
-
}
void VisualScriptEditor::_member_edited() {
@@ -877,78 +831,75 @@ void VisualScriptEditor::_member_edited() {
if (updating_members)
return;
- TreeItem *ti=members->get_edited();
+ TreeItem *ti = members->get_edited();
ERR_FAIL_COND(!ti);
String name = ti->get_metadata(0);
String new_name = ti->get_text(0);
- if (name==new_name)
+ if (name == new_name)
return;
if (!new_name.is_valid_identifier()) {
- EditorNode::get_singleton()->show_warning(TTR("Name is not a valid identifier:")+" "+new_name);
- updating_members=true;
- ti->set_text(0,name);
- updating_members=false;
+ EditorNode::get_singleton()->show_warning(TTR("Name is not a valid identifier:") + " " + new_name);
+ updating_members = true;
+ ti->set_text(0, name);
+ updating_members = false;
return;
-
}
if (script->has_function(new_name) || script->has_variable(new_name) || script->has_custom_signal(new_name)) {
- EditorNode::get_singleton()->show_warning(TTR("Name already in use by another func/var/signal:")+" "+new_name);
- updating_members=true;
- ti->set_text(0,name);
- updating_members=false;
+ EditorNode::get_singleton()->show_warning(TTR("Name already in use by another func/var/signal:") + " " + new_name);
+ updating_members = true;
+ ti->set_text(0, name);
+ updating_members = false;
return;
}
- TreeItem *root=members->get_root();
+ TreeItem *root = members->get_root();
- if (ti->get_parent()==root->get_children()) {
+ if (ti->get_parent() == root->get_children()) {
- if (edited_func==selected) {
- edited_func=new_name;
+ if (edited_func == selected) {
+ edited_func = new_name;
}
- selected=new_name;
-
+ selected = new_name;
_update_graph();
undo_redo->create_action(TTR("Rename Function"));
- undo_redo->add_do_method(script.ptr(),"rename_function",name,new_name);
- undo_redo->add_undo_method(script.ptr(),"rename_function",new_name,name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "rename_function", name, new_name);
+ undo_redo->add_undo_method(script.ptr(), "rename_function", new_name, name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
-
}
- if (ti->get_parent()==root->get_children()->get_next()) {
+ if (ti->get_parent() == root->get_children()->get_next()) {
- selected=new_name;
+ selected = new_name;
undo_redo->create_action(TTR("Rename Variable"));
- undo_redo->add_do_method(script.ptr(),"rename_variable",name,new_name);
- undo_redo->add_undo_method(script.ptr(),"rename_variable",new_name,name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "rename_variable", name, new_name);
+ undo_redo->add_undo_method(script.ptr(), "rename_variable", new_name, name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
}
- if (ti->get_parent()==root->get_children()->get_next()->get_next()) {
+ if (ti->get_parent() == root->get_children()->get_next()->get_next()) {
- selected=new_name;
+ selected = new_name;
undo_redo->create_action(TTR("Rename Signal"));
- undo_redo->add_do_method(script.ptr(),"rename_custom_signal",name,new_name);
- undo_redo->add_undo_method(script.ptr(),"rename_custom_signal",new_name,name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "rename_custom_signal", name, new_name);
+ undo_redo->add_undo_method(script.ptr(), "rename_custom_signal", new_name, name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
@@ -961,137 +912,131 @@ void VisualScriptEditor::_override_pressed(int p_id) {
ERR_FAIL_COND(!virtuals_in_menu.has(p_id));
- VirtualInMenu vim=virtuals_in_menu[p_id];
+ VirtualInMenu vim = virtuals_in_menu[p_id];
String name = _validate_name(vim.name);
- selected=name;
- edited_func=selected;
+ selected = name;
+ edited_func = selected;
Ref<VisualScriptFunction> func_node;
func_node.instance();
func_node->set_name(vim.name);
undo_redo->create_action(TTR("Add Function"));
- undo_redo->add_do_method(script.ptr(),"add_function",name);
- for(int i=0;i<vim.args.size();i++) {
- func_node->add_argument(vim.args[i].first,vim.args[i].second);
+ undo_redo->add_do_method(script.ptr(), "add_function", name);
+ for (int i = 0; i < vim.args.size(); i++) {
+ func_node->add_argument(vim.args[i].first, vim.args[i].second);
}
-
- undo_redo->add_do_method(script.ptr(),"add_node",name,script->get_available_id(),func_node);
- if (vim.ret!=Variant::NIL || vim.ret_variant) {
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node);
+ if (vim.ret != Variant::NIL || vim.ret_variant) {
Ref<VisualScriptReturn> ret_node;
ret_node.instance();
ret_node->set_return_type(vim.ret);
ret_node->set_enable_return_value(true);
ret_node->set_name(vim.name);
- undo_redo->add_do_method(script.ptr(),"add_node",name,script->get_available_id()+1,ret_node,Vector2(500,0));
-
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id() + 1, ret_node, Vector2(500, 0));
}
- undo_redo->add_undo_method(script.ptr(),"remove_function",name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_undo_method(script.ptr(), "remove_function", name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
-
_update_graph();
}
void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_button) {
- TreeItem *ti=p_item->cast_to<TreeItem>();
+ TreeItem *ti = p_item->cast_to<TreeItem>();
- TreeItem *root=members->get_root();
+ TreeItem *root = members->get_root();
- if (ti->get_parent()==root) {
+ if (ti->get_parent() == root) {
//main buttons
- if (ti==root->get_children()) {
+ if (ti == root->get_children()) {
//add function, this one uses menu
- if (p_button==1) {
+ if (p_button == 1) {
new_function_menu->clear();
- new_function_menu->set_size(Size2(0,0));
- int idx=0;
+ new_function_menu->set_size(Size2(0, 0));
+ int idx = 0;
virtuals_in_menu.clear();
List<MethodInfo> mi;
- ClassDB::get_method_list(script->get_instance_base_type(),&mi);
- for (List<MethodInfo>::Element *E=mi.front();E;E=E->next()) {
- MethodInfo mi=E->get();
- if (mi.flags&METHOD_FLAG_VIRTUAL) {
+ ClassDB::get_method_list(script->get_instance_base_type(), &mi);
+ for (List<MethodInfo>::Element *E = mi.front(); E; E = E->next()) {
+ MethodInfo mi = E->get();
+ if (mi.flags & METHOD_FLAG_VIRTUAL) {
VirtualInMenu vim;
- vim.name=mi.name;
- vim.ret=mi.return_val.type;
- if (mi.return_val.name!=String())
- vim.ret_variant=true;
+ vim.name = mi.name;
+ vim.ret = mi.return_val.type;
+ if (mi.return_val.name != String())
+ vim.ret_variant = true;
else
- vim.ret_variant=false;
+ vim.ret_variant = false;
String desc;
- if (mi.return_val.type==Variant::NIL)
- desc="var";
+ if (mi.return_val.type == Variant::NIL)
+ desc = "var";
else
- desc=Variant::get_type_name(mi.return_val.type);
- desc+=" "+mi.name+" ( ";
-
+ desc = Variant::get_type_name(mi.return_val.type);
+ desc += " " + mi.name + " ( ";
- for(int i=0;i<mi.arguments.size();i++) {
+ for (int i = 0; i < mi.arguments.size(); i++) {
- if (i>0)
- desc+=", ";
+ if (i > 0)
+ desc += ", ";
- if (mi.arguments[i].type==Variant::NIL)
- desc+="var ";
+ if (mi.arguments[i].type == Variant::NIL)
+ desc += "var ";
else
- desc+=Variant::get_type_name(mi.arguments[i].type)+" ";
+ desc += Variant::get_type_name(mi.arguments[i].type) + " ";
- desc+=mi.arguments[i].name;
-
- Pair<Variant::Type,String> p;
- p.first=mi.arguments[i].type;
- p.second=mi.arguments[i].name;
- vim.args.push_back( p );
+ desc += mi.arguments[i].name;
+ Pair<Variant::Type, String> p;
+ p.first = mi.arguments[i].type;
+ p.second = mi.arguments[i].name;
+ vim.args.push_back(p);
}
- desc+=" )";
+ desc += " )";
- virtuals_in_menu[idx]=vim;
+ virtuals_in_menu[idx] = vim;
- new_function_menu->add_item(desc,idx);
+ new_function_menu->add_item(desc, idx);
idx++;
}
}
Rect2 pos = members->get_item_rect(ti);
- new_function_menu->set_pos(members->get_global_pos()+pos.pos+Vector2(0,pos.size.y));
+ new_function_menu->set_pos(members->get_global_pos() + pos.pos + Vector2(0, pos.size.y));
new_function_menu->popup();
return;
- } else if (p_button==0) {
-
+ } else if (p_button == 0) {
String name = _validate_name("new_function");
- selected=name;
- edited_func=selected;
+ selected = name;
+ edited_func = selected;
Ref<VisualScriptFunction> func_node;
func_node.instance();
func_node->set_name(name);
undo_redo->create_action(TTR("Add Function"));
- undo_redo->add_do_method(script.ptr(),"add_function",name);
- undo_redo->add_do_method(script.ptr(),"add_node",name,script->get_available_id(),func_node);
- undo_redo->add_undo_method(script.ptr(),"remove_function",name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_function", name);
+ undo_redo->add_do_method(script.ptr(), "add_node", name, script->get_available_id(), func_node);
+ undo_redo->add_undo_method(script.ptr(), "remove_function", name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
@@ -1099,70 +1044,67 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
}
return; //or crash because it will become invalid
-
}
- if (ti==root->get_children()->get_next()) {
+ if (ti == root->get_children()->get_next()) {
//add variable
String name = _validate_name("new_variable");
- selected=name;
+ selected = name;
undo_redo->create_action(TTR("Add Variable"));
- undo_redo->add_do_method(script.ptr(),"add_variable",name);
- undo_redo->add_undo_method(script.ptr(),"remove_variable",name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "add_variable", name);
+ undo_redo->add_undo_method(script.ptr(), "remove_variable", name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
-
}
- if (ti==root->get_children()->get_next()->get_next()) {
+ if (ti == root->get_children()->get_next()->get_next()) {
//add variable
String name = _validate_name("new_signal");
- selected=name;
+ selected = name;
undo_redo->create_action(TTR("Add Signal"));
- undo_redo->add_do_method(script.ptr(),"add_custom_signal",name);
- undo_redo->add_undo_method(script.ptr(),"remove_custom_signal",name);
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "add_custom_signal", name);
+ undo_redo->add_undo_method(script.ptr(), "remove_custom_signal", name);
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
-
}
} else {
- if (ti->get_parent()==root->get_children()) {
+ if (ti->get_parent() == root->get_children()) {
//edit/remove function
String name = ti->get_metadata(0);
- if (p_button==1) {
+ if (p_button == 1) {
//delete the function
undo_redo->create_action(TTR("Remove Function"));
- undo_redo->add_do_method(script.ptr(),"remove_function",name);
- undo_redo->add_undo_method(script.ptr(),"add_function",name);
+ undo_redo->add_do_method(script.ptr(), "remove_function", name);
+ undo_redo->add_undo_method(script.ptr(), "add_function", name);
List<int> nodes;
- script->get_node_list(name,&nodes);
- for (List<int>::Element *E=nodes.front();E;E=E->next()) {
- undo_redo->add_undo_method(script.ptr(),"add_node",name,E->get(),script->get_node(name,E->get()),script->get_node_pos(name,E->get()));
+ script->get_node_list(name, &nodes);
+ for (List<int>::Element *E = nodes.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "add_node", name, E->get(), script->get_node(name, E->get()), script->get_node_pos(name, E->get()));
}
List<VisualScript::SequenceConnection> seq_connections;
- script->get_sequence_connection_list(name,&seq_connections);
+ script->get_sequence_connection_list(name, &seq_connections);
- for (List<VisualScript::SequenceConnection>::Element *E=seq_connections.front();E;E=E->next()) {
- undo_redo->add_undo_method(script.ptr(),"sequence_connect",name,E->get().from_node,E->get().from_output,E->get().to_node);
+ for (List<VisualScript::SequenceConnection>::Element *E = seq_connections.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", name, E->get().from_node, E->get().from_output, E->get().to_node);
}
List<VisualScript::DataConnection> data_connections;
- script->get_data_connection_list(name,&data_connections);
+ script->get_data_connection_list(name, &data_connections);
- for (List<VisualScript::DataConnection>::Element *E=data_connections.front();E;E=E->next()) {
- undo_redo->add_undo_method(script.ptr(),"data_connect",name,E->get().from_node,E->get().from_port,E->get().to_node,E->get().to_port);
+ for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", name, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
}
/*
@@ -1170,98 +1112,89 @@ void VisualScriptEditor::_member_button(Object *p_item, int p_column, int p_butt
undo_redo->add_undo_method(script.ptr(),"function_add_argument",name,script->function_get_argument_name(name,i),script->function_get_argument_type(name,i));
}
*/
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- } else if (p_button==0) {
-
+ } else if (p_button == 0) {
}
return; //or crash because it will become invalid
-
}
- if (ti->get_parent()==root->get_children()->get_next()) {
+ if (ti->get_parent() == root->get_children()->get_next()) {
//edit/remove variable
String name = ti->get_metadata(0);
- if (p_button==1) {
-
+ if (p_button == 1) {
undo_redo->create_action(TTR("Remove Variable"));
- undo_redo->add_do_method(script.ptr(),"remove_variable",name);
- undo_redo->add_undo_method(script.ptr(),"add_variable",name,script->get_variable_default_value(name));
- undo_redo->add_undo_method(script.ptr(),"set_variable_info",name,script->call("get_variable_info",name)); //return as dict
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "remove_variable", name);
+ undo_redo->add_undo_method(script.ptr(), "add_variable", name, script->get_variable_default_value(name));
+ undo_redo->add_undo_method(script.ptr(), "set_variable_info", name, script->call("get_variable_info", name)); //return as dict
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
return; //or crash because it will become invalid
- } else if (p_button==0) {
+ } else if (p_button == 0) {
variable_editor->edit(name);
- edit_variable_dialog->set_title(TTR("Editing Variable:")+" "+name);
- edit_variable_dialog->popup_centered_minsize(Size2(400,200)*EDSCALE);
+ edit_variable_dialog->set_title(TTR("Editing Variable:") + " " + name);
+ edit_variable_dialog->popup_centered_minsize(Size2(400, 200) * EDSCALE);
}
-
}
- if (ti->get_parent()==root->get_children()->get_next()->get_next()) {
+ if (ti->get_parent() == root->get_children()->get_next()->get_next()) {
//edit/remove variable
String name = ti->get_metadata(0);
- if (p_button==1) {
+ if (p_button == 1) {
undo_redo->create_action(TTR("Remove Signal"));
- undo_redo->add_do_method(script.ptr(),"remove_custom_signal",name);
- undo_redo->add_undo_method(script.ptr(),"add_custom_signal",name);
+ undo_redo->add_do_method(script.ptr(), "remove_custom_signal", name);
+ undo_redo->add_undo_method(script.ptr(), "add_custom_signal", name);
- for(int i=0;i<script->custom_signal_get_argument_count(name);i++) {
- undo_redo->add_undo_method(script.ptr(),"custom_signal_add_argument",name,script->custom_signal_get_argument_name(name,i),script->custom_signal_get_argument_type(name,i));
+ for (int i = 0; i < script->custom_signal_get_argument_count(name); i++) {
+ undo_redo->add_undo_method(script.ptr(), "custom_signal_add_argument", name, script->custom_signal_get_argument_name(name, i), script->custom_signal_get_argument_type(name, i));
}
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
- } else if (p_button==0) {
+ } else if (p_button == 0) {
signal_editor->edit(name);
- edit_signal_dialog->set_title(TTR("Editing Signal:")+" "+name);
- edit_signal_dialog->popup_centered_minsize(Size2(400,300)*EDSCALE);
+ edit_signal_dialog->set_title(TTR("Editing Signal:") + " " + name);
+ edit_signal_dialog->popup_centered_minsize(Size2(400, 300) * EDSCALE);
}
return; //or crash because it will become invalid
-
}
-
-
}
}
-void VisualScriptEditor::_expression_text_changed(const String& p_text,int p_id) {
+void VisualScriptEditor::_expression_text_changed(const String &p_text, int p_id) {
- Ref<VisualScriptExpression> vse = script->get_node(edited_func,p_id);
+ Ref<VisualScriptExpression> vse = script->get_node(edited_func, p_id);
if (!vse.is_valid())
return;
+ updating_graph = true;
- updating_graph=true;
-
- undo_redo->create_action(TTR("Change Expression"),UndoRedo::MERGE_ENDS);
- undo_redo->add_do_property(vse.ptr(),"expression",p_text);
- undo_redo->add_undo_property(vse.ptr(),"expression",vse->get("expression"));
- undo_redo->add_do_method(this,"_update_graph",p_id);
- undo_redo->add_undo_method(this,"_update_graph",p_id);
+ undo_redo->create_action(TTR("Change Expression"), UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_property(vse.ptr(), "expression", p_text);
+ undo_redo->add_undo_property(vse.ptr(), "expression", vse->get("expression"));
+ undo_redo->add_do_method(this, "_update_graph", p_id);
+ undo_redo->add_undo_method(this, "_update_graph", p_id);
undo_redo->commit_action();
Node *node = graph->get_node(itos(p_id));
if (node->cast_to<Control>())
- node->cast_to<Control>()->set_size(Vector2(1,1)); //shrink if text is smaller
-
- updating_graph=false;
+ node->cast_to<Control>()->set_size(Vector2(1, 1)); //shrink if text is smaller
+ updating_graph = false;
}
void VisualScriptEditor::_available_node_doubleclicked() {
@@ -1272,27 +1205,27 @@ void VisualScriptEditor::_available_node_doubleclicked() {
return;
String which = item->get_metadata(0);
- if (which==String())
+ if (which == String())
return;
Vector2 ofs = graph->get_scroll_ofs() + graph->get_size() * 0.5;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
- while(true) {
- bool exists=false;
+ while (true) {
+ bool exists = false;
List<int> existing;
- script->get_node_list(edited_func,&existing);
- for (List<int>::Element *E=existing.front();E;E=E->next()) {
- Point2 pos = script->get_node_pos(edited_func,E->get());
- if (pos.distance_to(ofs)<15) {
- ofs+=Vector2(graph->get_snap(),graph->get_snap());
- exists=true;
+ script->get_node_list(edited_func, &existing);
+ for (List<int>::Element *E = existing.front(); E; E = E->next()) {
+ Point2 pos = script->get_node_pos(edited_func, E->get());
+ if (pos.distance_to(ofs) < 15) {
+ ofs += Vector2(graph->get_snap(), graph->get_snap());
+ exists = true;
break;
}
}
@@ -1300,26 +1233,23 @@ void VisualScriptEditor::_available_node_doubleclicked() {
if (exists)
continue;
break;
-
}
-
Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(which);
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
-
}
void VisualScriptEditor::_update_available_nodes() {
@@ -1328,63 +1258,61 @@ void VisualScriptEditor::_update_available_nodes() {
TreeItem *root = nodes->create_item();
- Map<String,TreeItem*> path_cache;
+ Map<String, TreeItem *> path_cache;
String filter = node_filter->get_text();
List<String> fnodes;
VisualScriptLanguage::singleton->get_registered_node_names(&fnodes);
- for (List<String>::Element *E=fnodes.front();E;E=E->next()) {
-
+ for (List<String>::Element *E = fnodes.front(); E; E = E->next()) {
Vector<String> path = E->get().split("/");
- if (filter!=String() && path.size() && path[path.size()-1].findn(filter)==-1)
+ if (filter != String() && path.size() && path[path.size() - 1].findn(filter) == -1)
continue;
String sp;
- TreeItem* parent=root;
+ TreeItem *parent = root;
- for(int i=0;i<path.size()-1;i++) {
+ for (int i = 0; i < path.size() - 1; i++) {
- if (i>0)
- sp+=",";
- sp+=path[i];
+ if (i > 0)
+ sp += ",";
+ sp += path[i];
if (!path_cache.has(sp)) {
- TreeItem* pathn = nodes->create_item(parent);
- pathn->set_selectable(0,false);
- pathn->set_text(0,path[i].capitalize());
- path_cache[sp]=pathn;
- parent=pathn;
- if (filter==String()) {
+ TreeItem *pathn = nodes->create_item(parent);
+ pathn->set_selectable(0, false);
+ pathn->set_text(0, path[i].capitalize());
+ path_cache[sp] = pathn;
+ parent = pathn;
+ if (filter == String()) {
pathn->set_collapsed(true); //should remember state
}
} else {
- parent=path_cache[sp];
+ parent = path_cache[sp];
}
}
TreeItem *item = nodes->create_item(parent);
- item->set_text(0,path[path.size()-1].capitalize());
- item->set_selectable(0,true);
- item->set_metadata(0,E->get());
+ item->set_text(0, path[path.size() - 1].capitalize());
+ item->set_selectable(0, true);
+ item->set_metadata(0, E->get());
}
-
}
-String VisualScriptEditor::_validate_name(const String& p_name) const {
+String VisualScriptEditor::_validate_name(const String &p_name) const {
- String valid=p_name;
+ String valid = p_name;
- int counter=1;
- while(true) {
+ int counter = 1;
+ while (true) {
bool exists = script->has_function(valid) || script->has_variable(valid) || script->has_custom_signal(valid);
if (exists) {
counter++;
- valid=p_name+"_"+itos(counter);
+ valid = p_name + "_" + itos(counter);
continue;
}
@@ -1396,10 +1324,9 @@ String VisualScriptEditor::_validate_name(const String& p_name) const {
void VisualScriptEditor::_on_nodes_delete() {
-
List<int> to_erase;
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
if (gn->is_selected() && gn->is_close_button_visible()) {
@@ -1413,48 +1340,42 @@ void VisualScriptEditor::_on_nodes_delete() {
undo_redo->create_action("Remove VisualScript Nodes");
- for(List<int>::Element*F=to_erase.front();F;F=F->next()) {
-
-
- undo_redo->add_do_method(script.ptr(),"remove_node",edited_func,F->get());
- undo_redo->add_undo_method(script.ptr(),"add_node",edited_func,F->get(),script->get_node(edited_func,F->get()),script->get_node_pos(edited_func,F->get()));
+ for (List<int>::Element *F = to_erase.front(); F; F = F->next()) {
+ undo_redo->add_do_method(script.ptr(), "remove_node", edited_func, F->get());
+ undo_redo->add_undo_method(script.ptr(), "add_node", edited_func, F->get(), script->get_node(edited_func, F->get()), script->get_node_pos(edited_func, F->get()));
List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func,&sequence_conns);
+ script->get_sequence_connection_list(edited_func, &sequence_conns);
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
- for (List<VisualScript::SequenceConnection>::Element *E=sequence_conns.front();E;E=E->next()) {
-
- if (E->get().from_node==F->get() || E->get().to_node==F->get()) {
- undo_redo->add_undo_method(script.ptr(),"sequence_connect",edited_func,E->get().from_node,E->get().from_output,E->get().to_node);
+ if (E->get().from_node == F->get() || E->get().to_node == F->get()) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, E->get().from_node, E->get().from_output, E->get().to_node);
}
}
List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func,&data_conns);
+ script->get_data_connection_list(edited_func, &data_conns);
- for (List<VisualScript::DataConnection>::Element *E=data_conns.front();E;E=E->next()) {
+ for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
- if (E->get().from_node==F->get() || E->get().to_node==F->get()) {
- undo_redo->add_undo_method(script.ptr(),"data_connect",edited_func,E->get().from_node,E->get().from_port,E->get().to_node,E->get().to_port);
+ if (E->get().from_node == F->get() || E->get().to_node == F->get()) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
}
}
-
}
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
}
-
void VisualScriptEditor::_on_nodes_duplicate() {
-
List<int> to_duplicate;
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
if (gn->is_selected() && gn->is_close_button_visible()) {
@@ -1467,64 +1388,60 @@ void VisualScriptEditor::_on_nodes_duplicate() {
return;
undo_redo->create_action("Duplicate VisualScript Nodes");
- int idc=script->get_available_id()+1;
+ int idc = script->get_available_id() + 1;
Set<int> to_select;
- for(List<int>::Element*F=to_duplicate.front();F;F=F->next()) {
+ for (List<int>::Element *F = to_duplicate.front(); F; F = F->next()) {
- Ref<VisualScriptNode> node = script->get_node(edited_func,F->get());
+ Ref<VisualScriptNode> node = script->get_node(edited_func, F->get());
Ref<VisualScriptNode> dupe = node->duplicate();
int new_id = idc++;
to_select.insert(new_id);
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,dupe,script->get_node_pos(edited_func,F->get())+Vector2(20,20));
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
-
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, dupe, script->get_node_pos(edited_func, F->get()) + Vector2(20, 20));
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
}
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
int id = gn->get_name().operator String().to_int();
gn->set_selected(to_select.has(id));
-
}
}
if (to_select.size()) {
- EditorNode::get_singleton()->push_item(script->get_node(edited_func,to_select.front()->get()).ptr());
+ EditorNode::get_singleton()->push_item(script->get_node(edited_func, to_select.front()->get()).ptr());
}
-
}
-void VisualScriptEditor::_input(const InputEvent& p_event) {
+void VisualScriptEditor::_input(const InputEvent &p_event) {
- if (p_event.type==InputEvent::MOUSE_BUTTON && !p_event.mouse_button.pressed && p_event.mouse_button.button_index==BUTTON_LEFT) {
- revert_on_drag=String(); //so we can still drag functions
+ if (p_event.type == InputEvent::MOUSE_BUTTON && !p_event.mouse_button.pressed && p_event.mouse_button.button_index == BUTTON_LEFT) {
+ revert_on_drag = String(); //so we can still drag functions
}
}
-Variant VisualScriptEditor::get_drag_data_fw(const Point2& p_point,Control* p_from) {
+Variant VisualScriptEditor::get_drag_data_fw(const Point2 &p_point, Control *p_from) {
-
- if (p_from==nodes) {
+ if (p_from == nodes) {
TreeItem *it = nodes->get_item_at_pos(p_point);
if (!it)
return Variant();
- String type=it->get_metadata(0);
- if (type==String())
+ String type = it->get_metadata(0);
+ if (type == String())
return Variant();
Dictionary dd;
- dd["type"]="visual_script_node_drag";
- dd["node_type"]=type;
+ dd["type"] = "visual_script_node_drag";
+ dd["node_type"] = type;
Label *label = memnew(Label);
label->set_text(it->get_text(0));
@@ -1532,49 +1449,42 @@ Variant VisualScriptEditor::get_drag_data_fw(const Point2& p_point,Control* p_fr
return dd;
}
- if (p_from==members) {
-
+ if (p_from == members) {
TreeItem *it = members->get_item_at_pos(p_point);
if (!it)
return Variant();
- String type=it->get_metadata(0);
+ String type = it->get_metadata(0);
- if (type==String())
+ if (type == String())
return Variant();
-
Dictionary dd;
- TreeItem *root=members->get_root();
+ TreeItem *root = members->get_root();
- if (it->get_parent()==root->get_children()) {
+ if (it->get_parent() == root->get_children()) {
- dd["type"]="visual_script_function_drag";
- dd["function"]=type;
- if (revert_on_drag!=String()) {
- edited_func=revert_on_drag; //revert so function does not change
- revert_on_drag=String();
+ dd["type"] = "visual_script_function_drag";
+ dd["function"] = type;
+ if (revert_on_drag != String()) {
+ edited_func = revert_on_drag; //revert so function does not change
+ revert_on_drag = String();
_update_graph();
}
- } else if (it->get_parent()==root->get_children()->get_next()) {
+ } else if (it->get_parent() == root->get_children()->get_next()) {
- dd["type"]="visual_script_variable_drag";
- dd["variable"]=type;
- } else if (it->get_parent()==root->get_children()->get_next()->get_next()) {
+ dd["type"] = "visual_script_variable_drag";
+ dd["variable"] = type;
+ } else if (it->get_parent() == root->get_children()->get_next()->get_next()) {
- dd["type"]="visual_script_signal_drag";
- dd["signal"]=type;
+ dd["type"] = "visual_script_signal_drag";
+ dd["signal"] = type;
} else {
return Variant();
}
-
-
-
-
-
Label *label = memnew(Label);
label->set_text(it->get_text(0));
set_drag_preview(label);
@@ -1583,78 +1493,69 @@ Variant VisualScriptEditor::get_drag_data_fw(const Point2& p_point,Control* p_fr
return Variant();
}
-bool VisualScriptEditor::can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const{
-
- if (p_from==graph) {
+bool VisualScriptEditor::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {
+ if (p_from == graph) {
Dictionary d = p_data;
if (d.has("type") &&
- (
- String(d["type"])=="visual_script_node_drag" ||
- String(d["type"])=="visual_script_function_drag" ||
- String(d["type"])=="visual_script_variable_drag" ||
- String(d["type"])=="visual_script_signal_drag" ||
- String(d["type"])=="obj_property" ||
- String(d["type"])=="resource" ||
- String(d["type"])=="files" ||
- String(d["type"])=="nodes"
- ) ) {
-
+ (String(d["type"]) == "visual_script_node_drag" ||
+ String(d["type"]) == "visual_script_function_drag" ||
+ String(d["type"]) == "visual_script_variable_drag" ||
+ String(d["type"]) == "visual_script_signal_drag" ||
+ String(d["type"]) == "obj_property" ||
+ String(d["type"]) == "resource" ||
+ String(d["type"]) == "files" ||
+ String(d["type"]) == "nodes")) {
- if (String(d["type"])=="obj_property") {
+ if (String(d["type"]) == "obj_property") {
#ifdef OSX_ENABLED
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Meta to drop a Getter. Hold Shift to drop a generic signature."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Meta to drop a Getter. Hold Shift to drop a generic signature."));
#else
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Ctrl to drop a Getter. Hold Shift to drop a generic signature."));
#endif
- }
+ }
- if (String(d["type"])=="nodes") {
+ if (String(d["type"]) == "nodes") {
#ifdef OSX_ENABLED
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Meta to drop a simple reference to the node."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Meta to drop a simple reference to the node."));
#else
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Ctrl to drop a simple reference to the node."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Ctrl to drop a simple reference to the node."));
#endif
- }
+ }
- if (String(d["type"])=="visual_script_variable_drag") {
+ if (String(d["type"]) == "visual_script_variable_drag") {
#ifdef OSX_ENABLED
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Meta to drop a Variable Setter."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Meta to drop a Variable Setter."));
#else
- const_cast<VisualScriptEditor*>(this)->_show_hint(TTR("Hold Ctrl to drop a Variable Setter."));
+ const_cast<VisualScriptEditor *>(this)->_show_hint(TTR("Hold Ctrl to drop a Variable Setter."));
#endif
- }
-
- return true;
+ }
+ return true;
}
-
-
-
}
-
return false;
}
#ifdef TOOLS_ENABLED
-static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const Ref<Script> &script) {
+static Node *_find_script_node(Node *p_edited_scene, Node *p_current_node, const Ref<Script> &script) {
- if (p_edited_scene!=p_current_node && p_current_node->get_owner()!=p_edited_scene)
+ if (p_edited_scene != p_current_node && p_current_node->get_owner() != p_edited_scene)
return NULL;
Ref<Script> scr = p_current_node->get_script();
- if (scr.is_valid() && scr==script)
+ if (scr.is_valid() && scr == script)
return p_current_node;
- for(int i=0;i<p_current_node->get_child_count();i++) {
- Node *n = _find_script_node(p_edited_scene,p_current_node->get_child(i),script);
+ for (int i = 0; i < p_current_node->get_child_count(); i++) {
+ Node *n = _find_script_node(p_edited_scene, p_current_node->get_child(i), script);
if (n)
return n;
}
@@ -1664,43 +1565,40 @@ static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const R
#endif
+void VisualScriptEditor::drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) {
-
-void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from){
-
- if (p_from==graph) {
+ if (p_from == graph) {
Dictionary d = p_data;
- if (d.has("type") && String(d["type"])=="visual_script_node_drag") {
+ if (d.has("type") && String(d["type"]) == "visual_script_node_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
-
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Ref<VisualScriptNode> vnode = VisualScriptLanguage::singleton->create_node_from_name(d["node_type"]);
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
}
- if (d.has("type") && String(d["type"])=="visual_script_variable_drag") {
+ if (d.has("type") && String(d["type"]) == "visual_script_variable_drag") {
#ifdef OSX_ENABLED
bool use_set = Input::get_singleton()->is_key_pressed(KEY_META);
@@ -1710,50 +1608,50 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Ref<VisualScriptNode> vnode;
if (use_set) {
Ref<VisualScriptVariableSet> vnodes;
vnodes.instance();
vnodes->set_variable(d["variable"]);
- vnode=vnodes;
+ vnode = vnodes;
} else {
Ref<VisualScriptVariableGet> vnodeg;
vnodeg.instance();
vnodeg->set_variable(d["variable"]);
- vnode=vnodeg;
+ vnode = vnodeg;
}
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
}
- if (d.has("type") && String(d["type"])=="visual_script_function_drag") {
+ if (d.has("type") && String(d["type"]) == "visual_script_function_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Ref<VisualScriptFunctionCall> vnode;
vnode.instance();
@@ -1762,33 +1660,31 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
- undo_redo->add_do_method(vnode.ptr(),"set_base_type",script->get_instance_base_type());
- undo_redo->add_do_method(vnode.ptr(),"set_function",d["function"]);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_do_method(vnode.ptr(), "set_base_type", script->get_instance_base_type());
+ undo_redo->add_do_method(vnode.ptr(), "set_function", d["function"]);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
-
}
-
- if (d.has("type") && String(d["type"])=="visual_script_signal_drag") {
+ if (d.has("type") && String(d["type"]) == "visual_script_signal_drag") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Ref<VisualScriptEmitSignal> vnode;
vnode.instance();
@@ -1797,28 +1693,28 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
}
- if (d.has("type") && String(d["type"])=="resource") {
+ if (d.has("type") && String(d["type"]) == "resource") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Ref<VisualScriptPreload> prnode;
prnode.instance();
@@ -1827,28 +1723,28 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Preload Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,prnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, prnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- Node* node = graph->get_node(itos(new_id));
+ Node *node = graph->get_node(itos(new_id));
if (node) {
graph->set_selected(node);
_node_selected(node);
}
}
- if (d.has("type") && String(d["type"])=="files") {
+ if (d.has("type") && String(d["type"]) == "files") {
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
Array files = d["files"];
@@ -1858,7 +1754,7 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (files.size()) {
undo_redo->create_action(TTR("Add Preload Node"));
- for(int i=0;i<files.size();i++) {
+ for (int i = 0; i < files.size(); i++) {
Ref<Resource> res = ResourceLoader::load(files[i]);
if (!res.is_valid())
@@ -1868,22 +1764,21 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
prnode.instance();
prnode->set_preload(res);
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,prnode,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, prnode, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
new_ids.push_back(new_id);
new_id++;
- ofs+=Vector2(20,20)*EDSCALE;
+ ofs += Vector2(20, 20) * EDSCALE;
}
-
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
}
- for(List<int>::Element *E=new_ids.front();E;E=E->next()) {
+ for (List<int>::Element *E = new_ids.front(); E; E = E->next()) {
- Node* node = graph->get_node(itos(E->get()));
+ Node *node = graph->get_node(itos(E->get()));
if (node) {
graph->set_selected(node);
_node_selected(node);
@@ -1891,42 +1786,39 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
}
}
- if (d.has("type") && String(d["type"])=="nodes") {
-
- Node* sn = _find_script_node(get_tree()->get_edited_scene_root(),get_tree()->get_edited_scene_root(),script);
+ if (d.has("type") && String(d["type"]) == "nodes") {
+ Node *sn = _find_script_node(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root(), script);
if (!sn) {
- EditorNode::get_singleton()->show_warning("Can't drop nodes because script '"+get_name()+"' is not used in this scene.");
+ EditorNode::get_singleton()->show_warning("Can't drop nodes because script '" + get_name() + "' is not used in this scene.");
return;
}
-
#ifdef OSX_ENABLED
bool use_node = Input::get_singleton()->is_key_pressed(KEY_META);
#else
bool use_node = Input::get_singleton()->is_key_pressed(KEY_CONTROL);
#endif
-
Array nodes = d["nodes"];
Vector2 ofs = graph->get_scroll_ofs() + p_point;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
undo_redo->create_action(TTR("Add Node(s) From Tree"));
int base_id = script->get_available_id();
- if (nodes.size()>1) {
- use_node=true;
+ if (nodes.size() > 1) {
+ use_node = true;
}
- for(int i=0;i<nodes.size();i++) {
+ for (int i = 0; i < nodes.size(); i++) {
NodePath np = nodes[i];
Node *node = get_node(np);
@@ -1940,8 +1832,7 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Ref<VisualScriptSceneNode> scene_node;
scene_node.instance();
scene_node->set_node_path(sn->get_path_to(node));
- n=scene_node;
-
+ n = scene_node;
} else {
Ref<VisualScriptFunctionCall> call;
@@ -1949,38 +1840,33 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
call->set_call_mode(VisualScriptFunctionCall::CALL_MODE_NODE_PATH);
call->set_base_path(sn->get_path_to(node));
call->set_base_type(node->get_class());
- n=call;
+ n = call;
method_select->select_method_from_instance(node);
- selecting_method_id=base_id;
-
+ selecting_method_id = base_id;
}
-
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,base_id,n,ofs);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,base_id);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, n, ofs);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
base_id++;
- ofs+=Vector2(25,25);
+ ofs += Vector2(25, 25);
}
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
-
-
}
- if (d.has("type") && String(d["type"])=="obj_property") {
-
- Node* sn = _find_script_node(get_tree()->get_edited_scene_root(),get_tree()->get_edited_scene_root(),script);
+ if (d.has("type") && String(d["type"]) == "obj_property") {
+ Node *sn = _find_script_node(get_tree()->get_edited_scene_root(), get_tree()->get_edited_scene_root(), script);
if (!sn && !Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
- EditorNode::get_singleton()->show_warning("Can't drop properties because script '"+get_name()+"' is not used in this scene.\nDrop holding 'Shift' to just copy the signature.");
+ EditorNode::get_singleton()->show_warning("Can't drop properties because script '" + get_name() + "' is not used in this scene.\nDrop holding 'Shift' to just copy the signature.");
return;
}
- Object *obj=d["object"];
+ Object *obj = d["object"];
if (!obj)
return;
@@ -1990,10 +1876,10 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
#ifdef OSX_ENABLED
bool use_get = Input::get_singleton()->is_key_pressed(KEY_META);
#else
@@ -2002,7 +1888,6 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
if (!node || Input::get_singleton()->is_key_pressed(KEY_SHIFT)) {
-
if (use_get)
undo_redo->create_action(TTR("Add Getter Property"));
else
@@ -2022,7 +1907,7 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
pset->set_use_builtin_value(true);
pset->set_builtin_value(d["value"]);
}*/
- vnode=pset;
+ vnode = pset;
} else {
Ref<VisualScriptPropertyGet> pget;
@@ -2030,26 +1915,23 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
pget->set_call_mode(VisualScriptPropertyGet::CALL_MODE_INSTANCE);
pget->set_base_type(obj->get_class());
- vnode=pget;
-
+ vnode = pget;
}
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,base_id,vnode,ofs);
- undo_redo->add_do_method(vnode.ptr(),"set_property",d["property"]);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, vnode, ofs);
+ undo_redo->add_do_method(vnode.ptr(), "set_property", d["property"]);
if (!use_get) {
- undo_redo->add_do_method(vnode.ptr(),"set_default_input_value",0,d["value"]);
+ undo_redo->add_do_method(vnode.ptr(), "set_default_input_value", 0, d["value"]);
}
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,base_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
} else {
-
-
if (use_get)
undo_redo->create_action(TTR("Add Getter Property"));
else
@@ -2063,74 +1945,63 @@ void VisualScriptEditor::drop_data_fw(const Point2& p_point,const Variant& p_dat
Ref<VisualScriptPropertySet> pset;
pset.instance();
- if (sn==node) {
+ if (sn == node) {
pset->set_call_mode(VisualScriptPropertySet::CALL_MODE_SELF);
} else {
pset->set_call_mode(VisualScriptPropertySet::CALL_MODE_NODE_PATH);
pset->set_base_path(sn->get_path_to(node));
}
- vnode=pset;
+ vnode = pset;
} else {
Ref<VisualScriptPropertyGet> pget;
pget.instance();
- if (sn==node) {
+ if (sn == node) {
pget->set_call_mode(VisualScriptPropertyGet::CALL_MODE_SELF);
} else {
pget->set_call_mode(VisualScriptPropertyGet::CALL_MODE_NODE_PATH);
pget->set_base_path(sn->get_path_to(node));
}
- vnode=pget;
-
+ vnode = pget;
}
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,base_id,vnode,ofs);
- undo_redo->add_do_method(vnode.ptr(),"set_property",d["property"]);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, base_id, vnode, ofs);
+ undo_redo->add_do_method(vnode.ptr(), "set_property", d["property"]);
if (!use_get) {
- undo_redo->add_do_method(vnode.ptr(),"set_default_input_value",0,d["value"]);
+ undo_redo->add_do_method(vnode.ptr(), "set_default_input_value", 0, d["value"]);
}
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,base_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, base_id);
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
}
-
-
}
-
-
}
-
-
}
+void VisualScriptEditor::_selected_method(const String &p_method) {
-void VisualScriptEditor::_selected_method(const String& p_method) {
-
- Ref<VisualScriptFunctionCall> vsfc = script->get_node(edited_func,selecting_method_id);
+ Ref<VisualScriptFunctionCall> vsfc = script->get_node(edited_func, selecting_method_id);
if (!vsfc.is_valid())
return;
vsfc->set_function(p_method);
-
}
-void VisualScriptEditor::_draw_color_over_button(Object* obj,Color p_color) {
+void VisualScriptEditor::_draw_color_over_button(Object *obj, Color p_color) {
Button *button = obj->cast_to<Button>();
if (!button)
return;
- Ref<StyleBox> normal = get_stylebox("normal","Button" );
- button->draw_rect(Rect2(normal->get_offset(),button->get_size()-normal->get_minimum_size()),p_color);
-
+ Ref<StyleBox> normal = get_stylebox("normal", "Button");
+ button->draw_rect(Rect2(normal->get_offset(), button->get_size() - normal->get_minimum_size()), p_color);
}
-void VisualScriptEditor::_button_resource_previewed(const String& p_path,const Ref<Texture>& p_preview,Variant p_ud) {
-
+void VisualScriptEditor::_button_resource_previewed(const String &p_path, const Ref<Texture> &p_preview, Variant p_ud) {
- Array ud=p_ud;
- ERR_FAIL_COND(ud.size()!=2);
+ Array ud = p_ud;
+ ERR_FAIL_COND(ud.size() != 2);
ObjectID id = ud[0];
Object *obj = ObjectDB::get_instance(id);
@@ -2147,73 +2018,63 @@ void VisualScriptEditor::_button_resource_previewed(const String& p_path,const R
b->set_icon(p_preview);
}
-
}
/////////////////////////
-
-
void VisualScriptEditor::apply_code() {
-
-
}
-Ref<Script> VisualScriptEditor::get_edited_script() const{
+Ref<Script> VisualScriptEditor::get_edited_script() const {
return script;
}
-Vector<String> VisualScriptEditor::get_functions(){
+Vector<String> VisualScriptEditor::get_functions() {
return Vector<String>();
}
-void VisualScriptEditor::set_edited_script(const Ref<Script>& p_script){
-
-
- script=p_script;
- signal_editor->script=p_script;
- signal_editor->undo_redo=undo_redo;
- variable_editor->script=p_script;
- variable_editor->undo_redo=undo_redo;
+void VisualScriptEditor::set_edited_script(const Ref<Script> &p_script) {
+ script = p_script;
+ signal_editor->script = p_script;
+ signal_editor->undo_redo = undo_redo;
+ variable_editor->script = p_script;
+ variable_editor->undo_redo = undo_redo;
- script->connect("node_ports_changed",this,"_node_ports_changed");
+ script->connect("node_ports_changed", this, "_node_ports_changed");
_update_members();
_update_available_nodes();
}
-void VisualScriptEditor::reload_text(){
-
-
+void VisualScriptEditor::reload_text() {
}
-String VisualScriptEditor::get_name(){
+String VisualScriptEditor::get_name() {
String name;
- if (script->get_path().find("local://")==-1 && script->get_path().find("::")==-1) {
- name=script->get_path().get_file();
+ if (script->get_path().find("local://") == -1 && script->get_path().find("::") == -1) {
+ name = script->get_path().get_file();
if (is_unsaved()) {
- name+="(*)";
+ name += "(*)";
}
- } else if (script->get_name()!="")
- name=script->get_name();
+ } else if (script->get_name() != "")
+ name = script->get_name();
else
- name=script->get_class()+"("+itos(script->get_instance_ID())+")";
+ name = script->get_class() + "(" + itos(script->get_instance_ID()) + ")";
return name;
-
}
-Ref<Texture> VisualScriptEditor::get_icon(){
+Ref<Texture> VisualScriptEditor::get_icon() {
- return Control::get_icon("VisualScript","EditorIcons");
+ return Control::get_icon("VisualScript", "EditorIcons");
}
-bool VisualScriptEditor::is_unsaved(){
+bool VisualScriptEditor::is_unsaved() {
#ifdef TOOLS_ENABLED
return script->is_edited() || script->are_subnodes_edited();
@@ -2222,24 +2083,23 @@ bool VisualScriptEditor::is_unsaved(){
#endif
}
-Variant VisualScriptEditor::get_edit_state(){
+Variant VisualScriptEditor::get_edit_state() {
Dictionary d;
- d["function"]=edited_func;
- d["scroll"]=graph->get_scroll_ofs();
- d["zoom"]=graph->get_zoom();
- d["using_snap"]=graph->is_using_snap();
- d["snap"]=graph->get_snap();
+ d["function"] = edited_func;
+ d["scroll"] = graph->get_scroll_ofs();
+ d["zoom"] = graph->get_zoom();
+ d["using_snap"] = graph->is_using_snap();
+ d["snap"] = graph->get_snap();
return d;
}
-void VisualScriptEditor::set_edit_state(const Variant& p_state){
+void VisualScriptEditor::set_edit_state(const Variant &p_state) {
Dictionary d = p_state;
if (d.has("function")) {
- edited_func=p_state;
- selected=edited_func;
-
+ edited_func = p_state;
+ selected = edited_func;
}
_update_graph();
@@ -2257,10 +2117,8 @@ void VisualScriptEditor::set_edit_state(const Variant& p_state){
if (d.has("snap_enabled")) {
graph->set_use_snap(d["snap_enabled"]);
}
-
}
-
void VisualScriptEditor::_center_on_node(int p_id) {
Node *n = graph->get_node(itos(p_id));
@@ -2269,94 +2127,87 @@ void VisualScriptEditor::_center_on_node(int p_id) {
GraphNode *gn = n->cast_to<GraphNode>();
if (gn) {
gn->set_selected(true);
- Vector2 new_scroll = gn->get_offset() - graph->get_size()*0.5 + gn->get_size()*0.5;
- graph->set_scroll_ofs( new_scroll );
- script->set_function_scroll(edited_func,new_scroll/EDSCALE);
+ Vector2 new_scroll = gn->get_offset() - graph->get_size() * 0.5 + gn->get_size() * 0.5;
+ graph->set_scroll_ofs(new_scroll);
+ script->set_function_scroll(edited_func, new_scroll / EDSCALE);
script->set_edited(true); //so it's saved
-
}
}
-void VisualScriptEditor::goto_line(int p_line, bool p_with_error){
+void VisualScriptEditor::goto_line(int p_line, bool p_with_error) {
- p_line+=1; //add one because script lines begin from 0.
+ p_line += 1; //add one because script lines begin from 0.
if (p_with_error)
- error_line=p_line;
+ error_line = p_line;
List<StringName> functions;
script->get_function_list(&functions);
- for (List<StringName>::Element *E=functions.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = functions.front(); E; E = E->next()) {
- if (script->has_node(E->get(),p_line)) {
+ if (script->has_node(E->get(), p_line)) {
- edited_func=E->get();
- selected=edited_func;
+ edited_func = E->get();
+ selected = edited_func;
_update_graph();
_update_members();
- call_deferred("_center_on_node",p_line); //editor might be just created and size might not exist yet
+ call_deferred("_center_on_node", p_line); //editor might be just created and size might not exist yet
return;
}
}
}
-void VisualScriptEditor::trim_trailing_whitespace(){
-
-
+void VisualScriptEditor::trim_trailing_whitespace() {
}
-void VisualScriptEditor::ensure_focus(){
+void VisualScriptEditor::ensure_focus() {
graph->grab_focus();
}
-void VisualScriptEditor::tag_saved_version(){
-
-
+void VisualScriptEditor::tag_saved_version() {
}
-void VisualScriptEditor::reload(bool p_soft){
-
-
+void VisualScriptEditor::reload(bool p_soft) {
}
-void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints){
+void VisualScriptEditor::get_breakpoints(List<int> *p_breakpoints) {
List<StringName> functions;
script->get_function_list(&functions);
- for (List<StringName>::Element *E=functions.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = functions.front(); E; E = E->next()) {
List<int> nodes;
- script->get_node_list(E->get(),&nodes);
- for (List<int>::Element *F=nodes.front();F;F=F->next()) {
+ script->get_node_list(E->get(), &nodes);
+ for (List<int>::Element *F = nodes.front(); F; F = F->next()) {
- Ref<VisualScriptNode> vsn = script->get_node(E->get(),F->get());
+ Ref<VisualScriptNode> vsn = script->get_node(E->get(), F->get());
if (vsn->is_breakpoint()) {
- p_breakpoints->push_back(F->get()-1); //subtract 1 because breakpoints in text start from zero
+ p_breakpoints->push_back(F->get() - 1); //subtract 1 because breakpoints in text start from zero
}
}
}
}
-bool VisualScriptEditor::goto_method(const String& p_method){
+bool VisualScriptEditor::goto_method(const String &p_method) {
if (!script->has_function(p_method))
return false;
- edited_func=p_method;
- selected=edited_func;
+ edited_func = p_method;
+ selected = edited_func;
_update_members();
_update_graph();
return true;
}
-void VisualScriptEditor::add_callback(const String& p_function,PoolStringArray p_args){
+void VisualScriptEditor::add_callback(const String &p_function, PoolStringArray p_args) {
if (script->has_function(p_function)) {
- edited_func=p_function;
- selected=edited_func;
+ edited_func = p_function;
+ selected = edited_func;
_update_members();
_update_graph();
return;
@@ -2364,59 +2215,56 @@ void VisualScriptEditor::add_callback(const String& p_function,PoolStringArray p
Ref<VisualScriptFunction> func;
func.instance();
- for(int i=0;i<p_args.size();i++) {
+ for (int i = 0; i < p_args.size(); i++) {
String name = p_args[i];
- Variant::Type type=Variant::NIL;
+ Variant::Type type = Variant::NIL;
- if (name.find(":")!=-1) {
- String tt = name.get_slice(":",1);
- name=name.get_slice(":",0);
- for(int j=0;j<Variant::VARIANT_MAX;j++) {
+ if (name.find(":") != -1) {
+ String tt = name.get_slice(":", 1);
+ name = name.get_slice(":", 0);
+ for (int j = 0; j < Variant::VARIANT_MAX; j++) {
String tname = Variant::get_type_name(Variant::Type(j));
- if (tname==tt) {
- type=Variant::Type(j);
+ if (tname == tt) {
+ type = Variant::Type(j);
break;
}
}
}
- func->add_argument(type,name);
+ func->add_argument(type, name);
}
func->set_name(p_function);
script->add_function(p_function);
- script->add_node(p_function,script->get_available_id(),func);
+ script->add_node(p_function, script->get_available_id(), func);
- edited_func=p_function;
- selected=edited_func;
+ edited_func = p_function;
+ selected = edited_func;
_update_members();
_update_graph();
- graph->call_deferred("set_scroll_ofs",script->get_function_scroll(edited_func)); //for first time it might need to be later
+ graph->call_deferred("set_scroll_ofs", script->get_function_scroll(edited_func)); //for first time it might need to be later
//undo_redo->clear_history();
-
}
-void VisualScriptEditor::update_settings(){
+void VisualScriptEditor::update_settings() {
_update_graph();
}
void VisualScriptEditor::set_debugger_active(bool p_active) {
if (!p_active) {
- error_line=-1;
+ error_line = -1;
_update_graph(); //clear line break
}
}
-void VisualScriptEditor::set_tooltip_request_func(String p_method,Object* p_obj){
-
-
+void VisualScriptEditor::set_tooltip_request_func(String p_method, Object *p_obj) {
}
-Control *VisualScriptEditor::get_edit_menu(){
+Control *VisualScriptEditor::get_edit_menu() {
return edit_menu;
}
@@ -2430,58 +2278,53 @@ void VisualScriptEditor::_change_base_type_callback() {
String bt = select_base_type->get_selected_type();
- ERR_FAIL_COND(bt==String());
+ ERR_FAIL_COND(bt == String());
undo_redo->create_action("Change Base Type");
- undo_redo->add_do_method(script.ptr(),"set_instance_base_type",bt);
- undo_redo->add_undo_method(script.ptr(),"set_instance_base_type",script->get_instance_base_type());
- undo_redo->add_do_method(this,"_update_members");
- undo_redo->add_undo_method(this,"_update_members");
+ undo_redo->add_do_method(script.ptr(), "set_instance_base_type", bt);
+ undo_redo->add_undo_method(script.ptr(), "set_instance_base_type", script->get_instance_base_type());
+ undo_redo->add_do_method(this, "_update_members");
+ undo_redo->add_undo_method(this, "_update_members");
undo_redo->commit_action();
-
}
-void VisualScriptEditor::_node_selected(Node* p_node) {
+void VisualScriptEditor::_node_selected(Node *p_node) {
Ref<VisualScriptNode> vnode = p_node->get_meta("__vnode");
if (vnode.is_null())
return;
- EditorNode::get_singleton()->push_item(vnode.ptr()); //edit node in inspector
+ EditorNode::get_singleton()->push_item(vnode.ptr()); //edit node in inspector
}
-static bool _get_out_slot(const Ref<VisualScriptNode>& p_node,int p_slot,int& r_real_slot,bool& r_sequence) {
+static bool _get_out_slot(const Ref<VisualScriptNode> &p_node, int p_slot, int &r_real_slot, bool &r_sequence) {
- if (p_slot<p_node->get_output_sequence_port_count()) {
- r_sequence=true;
- r_real_slot=p_slot;
+ if (p_slot < p_node->get_output_sequence_port_count()) {
+ r_sequence = true;
+ r_real_slot = p_slot;
return true;
}
- r_real_slot=p_slot-p_node->get_output_sequence_port_count();
- r_sequence=false;
-
- return (r_real_slot<p_node->get_output_value_port_count());
+ r_real_slot = p_slot - p_node->get_output_sequence_port_count();
+ r_sequence = false;
+ return (r_real_slot < p_node->get_output_value_port_count());
}
-static bool _get_in_slot(const Ref<VisualScriptNode>& p_node,int p_slot,int& r_real_slot,bool& r_sequence) {
+static bool _get_in_slot(const Ref<VisualScriptNode> &p_node, int p_slot, int &r_real_slot, bool &r_sequence) {
- if (p_slot==0 && p_node->has_input_sequence_port()) {
- r_sequence=true;
- r_real_slot=0;
+ if (p_slot == 0 && p_node->has_input_sequence_port()) {
+ r_sequence = true;
+ r_real_slot = 0;
return true;
}
+ r_real_slot = p_slot - (p_node->has_input_sequence_port() ? 1 : 0);
+ r_sequence = false;
- r_real_slot=p_slot-(p_node->has_input_sequence_port()?1:0);
- r_sequence=false;
-
- return r_real_slot<p_node->get_input_value_port_count();
-
+ return r_real_slot < p_node->get_input_value_port_count();
}
-
void VisualScriptEditor::_begin_node_move() {
undo_redo->create_action("Move Node(s)");
@@ -2492,164 +2335,151 @@ void VisualScriptEditor::_end_node_move() {
undo_redo->commit_action();
}
-void VisualScriptEditor::_move_node(String func,int p_id,const Vector2& p_to) {
-
+void VisualScriptEditor::_move_node(String func, int p_id, const Vector2 &p_to) {
-
- if (func==String(edited_func)) {
- Node* node = graph->get_node(itos(p_id));
+ if (func == String(edited_func)) {
+ Node *node = graph->get_node(itos(p_id));
if (node && node->cast_to<GraphNode>())
node->cast_to<GraphNode>()->set_offset(p_to);
}
- script->set_node_pos(edited_func,p_id,p_to/EDSCALE);
+ script->set_node_pos(edited_func, p_id, p_to / EDSCALE);
}
-void VisualScriptEditor::_node_moved(Vector2 p_from,Vector2 p_to, int p_id) {
+void VisualScriptEditor::_node_moved(Vector2 p_from, Vector2 p_to, int p_id) {
- undo_redo->add_do_method(this,"_move_node",String(edited_func),p_id,p_to);
- undo_redo->add_undo_method(this,"_move_node",String(edited_func),p_id,p_from);
+ undo_redo->add_do_method(this, "_move_node", String(edited_func), p_id, p_to);
+ undo_redo->add_undo_method(this, "_move_node", String(edited_func), p_id, p_from);
}
void VisualScriptEditor::_remove_node(int p_id) {
-
undo_redo->create_action("Remove VisualScript Node");
- undo_redo->add_do_method(script.ptr(),"remove_node",edited_func,p_id);
- undo_redo->add_undo_method(script.ptr(),"add_node",edited_func,p_id,script->get_node(edited_func,p_id),script->get_node_pos(edited_func,p_id));
-
+ undo_redo->add_do_method(script.ptr(), "remove_node", edited_func, p_id);
+ undo_redo->add_undo_method(script.ptr(), "add_node", edited_func, p_id, script->get_node(edited_func, p_id), script->get_node_pos(edited_func, p_id));
List<VisualScript::SequenceConnection> sequence_conns;
- script->get_sequence_connection_list(edited_func,&sequence_conns);
-
+ script->get_sequence_connection_list(edited_func, &sequence_conns);
- for (List<VisualScript::SequenceConnection>::Element *E=sequence_conns.front();E;E=E->next()) {
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_conns.front(); E; E = E->next()) {
- if (E->get().from_node==p_id || E->get().to_node==p_id) {
- undo_redo->add_undo_method(script.ptr(),"sequence_connect",edited_func,E->get().from_node,E->get().from_output,E->get().to_node);
+ if (E->get().from_node == p_id || E->get().to_node == p_id) {
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, E->get().from_node, E->get().from_output, E->get().to_node);
}
}
List<VisualScript::DataConnection> data_conns;
- script->get_data_connection_list(edited_func,&data_conns);
+ script->get_data_connection_list(edited_func, &data_conns);
- for (List<VisualScript::DataConnection>::Element *E=data_conns.front();E;E=E->next()) {
+ for (List<VisualScript::DataConnection>::Element *E = data_conns.front(); E; E = E->next()) {
- if (E->get().from_node==p_id || E->get().to_node==p_id) {
- undo_redo->add_undo_method(script.ptr(),"data_connect",edited_func,E->get().from_node,E->get().from_port,E->get().to_node,E->get().to_port);
+ if (E->get().from_node == p_id || E->get().to_node == p_id) {
+ undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, E->get().from_node, E->get().from_port, E->get().to_node, E->get().to_port);
}
}
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
}
+void VisualScriptEditor::_node_ports_changed(const String &p_func, int p_id) {
-void VisualScriptEditor::_node_ports_changed(const String& p_func,int p_id) {
-
- if (p_func!=String(edited_func))
+ if (p_func != String(edited_func))
return;
_update_graph(p_id);
}
-void VisualScriptEditor::_graph_connected(const String& p_from,int p_from_slot,const String& p_to,int p_to_slot) {
+void VisualScriptEditor::_graph_connected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot) {
- Ref<VisualScriptNode> from_node = script->get_node(edited_func,p_from.to_int());
+ Ref<VisualScriptNode> from_node = script->get_node(edited_func, p_from.to_int());
ERR_FAIL_COND(!from_node.is_valid());
bool from_seq;
int from_port;
- if (!_get_out_slot(from_node,p_from_slot,from_port,from_seq))
+ if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
return; //can't connect this, it' s invalid
- Ref<VisualScriptNode> to_node = script->get_node(edited_func,p_to.to_int());
+ Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
ERR_FAIL_COND(!to_node.is_valid());
bool to_seq;
int to_port;
- if (!_get_in_slot(to_node,p_to_slot,to_port,to_seq))
+ if (!_get_in_slot(to_node, p_to_slot, to_port, to_seq))
return; //can't connect this, it' s invalid
-
- ERR_FAIL_COND(from_seq!=to_seq);
-
+ ERR_FAIL_COND(from_seq != to_seq);
undo_redo->create_action("Connect Nodes");
if (from_seq) {
- undo_redo->add_do_method(script.ptr(),"sequence_connect",edited_func,p_from.to_int(),from_port,p_to.to_int());
- undo_redo->add_undo_method(script.ptr(),"sequence_disconnect",edited_func,p_from.to_int(),from_port,p_to.to_int());
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, p_from.to_int(), from_port, p_to.to_int());
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int());
} else {
- undo_redo->add_do_method(script.ptr(),"data_connect",edited_func,p_from.to_int(),from_port,p_to.to_int(),to_port);
- undo_redo->add_undo_method(script.ptr(),"data_disconnect",edited_func,p_from.to_int(),from_port,p_to.to_int(),to_port);
+ undo_redo->add_do_method(script.ptr(), "data_connect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
//update nodes in sgraph
- undo_redo->add_do_method(this,"_update_graph",p_from.to_int());
- undo_redo->add_do_method(this,"_update_graph",p_to.to_int());
- undo_redo->add_undo_method(this,"_update_graph",p_from.to_int());
- undo_redo->add_undo_method(this,"_update_graph",p_to.to_int());
+ undo_redo->add_do_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_do_method(this, "_update_graph", p_to.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_to.to_int());
}
- undo_redo->add_do_method(this,"_update_graph_connections");
- undo_redo->add_undo_method(this,"_update_graph_connections");
+ undo_redo->add_do_method(this, "_update_graph_connections");
+ undo_redo->add_undo_method(this, "_update_graph_connections");
undo_redo->commit_action();
-
}
-void VisualScriptEditor::_graph_disconnected(const String& p_from,int p_from_slot,const String& p_to,int p_to_slot){
+void VisualScriptEditor::_graph_disconnected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot) {
- Ref<VisualScriptNode> from_node = script->get_node(edited_func,p_from.to_int());
+ Ref<VisualScriptNode> from_node = script->get_node(edited_func, p_from.to_int());
ERR_FAIL_COND(!from_node.is_valid());
bool from_seq;
int from_port;
- if (!_get_out_slot(from_node,p_from_slot,from_port,from_seq))
+ if (!_get_out_slot(from_node, p_from_slot, from_port, from_seq))
return; //can't connect this, it' s invalid
- Ref<VisualScriptNode> to_node = script->get_node(edited_func,p_to.to_int());
+ Ref<VisualScriptNode> to_node = script->get_node(edited_func, p_to.to_int());
ERR_FAIL_COND(!to_node.is_valid());
bool to_seq;
int to_port;
- if (!_get_in_slot(to_node,p_to_slot,to_port,to_seq))
+ if (!_get_in_slot(to_node, p_to_slot, to_port, to_seq))
return; //can't connect this, it' s invalid
-
- ERR_FAIL_COND(from_seq!=to_seq);
-
+ ERR_FAIL_COND(from_seq != to_seq);
undo_redo->create_action("Connect Nodes");
if (from_seq) {
- undo_redo->add_do_method(script.ptr(),"sequence_disconnect",edited_func,p_from.to_int(),from_port,p_to.to_int());
- undo_redo->add_undo_method(script.ptr(),"sequence_connect",edited_func,p_from.to_int(),from_port,p_to.to_int());
+ undo_redo->add_do_method(script.ptr(), "sequence_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int());
+ undo_redo->add_undo_method(script.ptr(), "sequence_connect", edited_func, p_from.to_int(), from_port, p_to.to_int());
} else {
- undo_redo->add_do_method(script.ptr(),"data_disconnect",edited_func,p_from.to_int(),from_port,p_to.to_int(),to_port);
- undo_redo->add_undo_method(script.ptr(),"data_connect",edited_func,p_from.to_int(),from_port,p_to.to_int(),to_port);
+ undo_redo->add_do_method(script.ptr(), "data_disconnect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_connect", edited_func, p_from.to_int(), from_port, p_to.to_int(), to_port);
//update nodes in sgraph
- undo_redo->add_do_method(this,"_update_graph",p_from.to_int());
- undo_redo->add_do_method(this,"_update_graph",p_to.to_int());
- undo_redo->add_undo_method(this,"_update_graph",p_from.to_int());
- undo_redo->add_undo_method(this,"_update_graph",p_to.to_int());
+ undo_redo->add_do_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_do_method(this, "_update_graph", p_to.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_from.to_int());
+ undo_redo->add_undo_method(this, "_update_graph", p_to.to_int());
}
- undo_redo->add_do_method(this,"_update_graph_connections");
- undo_redo->add_undo_method(this,"_update_graph_connections");
+ undo_redo->add_do_method(this, "_update_graph_connections");
+ undo_redo->add_undo_method(this, "_update_graph_connections");
undo_redo->commit_action();
}
+void VisualScriptEditor::_graph_connect_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_pos) {
-
-void VisualScriptEditor::_graph_connect_to_empty(const String& p_from,int p_from_slot,const Vector2& p_release_pos) {
-
- Node* node = graph->get_node(p_from);
+ Node *node = graph->get_node(p_from);
if (!node)
return;
@@ -2657,54 +2487,50 @@ void VisualScriptEditor::_graph_connect_to_empty(const String& p_from,int p_from
if (!gn)
return;
- Ref<VisualScriptNode> vsn = script->get_node(edited_func,p_from.to_int());
+ Ref<VisualScriptNode> vsn = script->get_node(edited_func, p_from.to_int());
if (!vsn.is_valid())
return;
- if (p_from_slot<vsn->get_output_sequence_port_count()) {
+ if (p_from_slot < vsn->get_output_sequence_port_count()) {
port_action_popup->clear();
- port_action_popup->add_item(TTR("Condition"),CREATE_COND);
- port_action_popup->add_item(TTR("Sequence"),CREATE_SEQUENCE);
- port_action_popup->add_item(TTR("Switch"),CREATE_SWITCH);
- port_action_popup->add_item(TTR("Iterator"),CREATE_ITERATOR);
- port_action_popup->add_item(TTR("While"),CREATE_WHILE);
- port_action_popup->add_item(TTR("Return"),CREATE_RETURN);
+ port_action_popup->add_item(TTR("Condition"), CREATE_COND);
+ port_action_popup->add_item(TTR("Sequence"), CREATE_SEQUENCE);
+ port_action_popup->add_item(TTR("Switch"), CREATE_SWITCH);
+ port_action_popup->add_item(TTR("Iterator"), CREATE_ITERATOR);
+ port_action_popup->add_item(TTR("While"), CREATE_WHILE);
+ port_action_popup->add_item(TTR("Return"), CREATE_RETURN);
- port_action_node=p_from.to_int();
- port_action_output=p_from_slot;
+ port_action_node = p_from.to_int();
+ port_action_output = p_from_slot;
} else {
port_action_popup->clear();
- port_action_popup->add_item(TTR("Call"),CREATE_CALL);
- port_action_popup->add_item(TTR("Get"),CREATE_GET);
- port_action_popup->add_item(TTR("Set"),CREATE_SET);
-
-
- port_action_output=p_from_slot-vsn->get_output_sequence_port_count();
- port_action_node=p_from.to_int();
-
+ port_action_popup->add_item(TTR("Call"), CREATE_CALL);
+ port_action_popup->add_item(TTR("Get"), CREATE_GET);
+ port_action_popup->add_item(TTR("Set"), CREATE_SET);
+ port_action_output = p_from_slot - vsn->get_output_sequence_port_count();
+ port_action_node = p_from.to_int();
}
- port_action_pos=p_release_pos;
- port_action_popup->set_size(Size2(1,1));
- port_action_popup->set_pos(graph->get_global_pos()+p_release_pos);
+ port_action_pos = p_release_pos;
+ port_action_popup->set_size(Size2(1, 1));
+ port_action_popup->set_pos(graph->get_global_pos() + p_release_pos);
port_action_popup->popup();
}
-VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_node,int p_output,Set<int> &visited_nodes) {
-
+VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_node, int p_output, Set<int> &visited_nodes) {
VisualScriptNode::TypeGuess tg;
- tg.type=Variant::NIL;
+ tg.type = Variant::NIL;
if (visited_nodes.has(p_node))
return tg; //no loop
visited_nodes.insert(p_node);
- Ref<VisualScriptNode> node = script->get_node(edited_func,p_node);
+ Ref<VisualScriptNode> node = script->get_node(edited_func, p_node);
if (!node.is_valid()) {
@@ -2713,40 +2539,39 @@ VisualScriptNode::TypeGuess VisualScriptEditor::_guess_output_type(int p_node,i
Vector<VisualScriptNode::TypeGuess> in_guesses;
- for(int i=0;i<node->get_input_value_port_count();i++) {
+ for (int i = 0; i < node->get_input_value_port_count(); i++) {
PropertyInfo pi = node->get_input_value_port_info(i);
VisualScriptNode::TypeGuess g;
- g.type=pi.type;
+ g.type = pi.type;
- if (g.type==Variant::NIL || g.type==Variant::OBJECT) {
+ if (g.type == Variant::NIL || g.type == Variant::OBJECT) {
//any or object input, must further guess what this is
int from_node;
int from_port;
- if (script->get_input_value_port_connection_source(edited_func,p_node,i,&from_node,&from_port)) {
+ if (script->get_input_value_port_connection_source(edited_func, p_node, i, &from_node, &from_port)) {
- g = _guess_output_type(from_node,from_port,visited_nodes);
+ g = _guess_output_type(from_node, from_port, visited_nodes);
} else {
Variant defval = node->get_default_input_value(i);
- if (defval.get_type()==Variant::OBJECT) {
+ if (defval.get_type() == Variant::OBJECT) {
Object *obj = defval;
if (obj) {
- g.type=Variant::OBJECT;
- g.GDCLASS=obj->get_class();
- g.script=obj->get_script();
+ g.type = Variant::OBJECT;
+ g.GDCLASS = obj->get_class();
+ g.script = obj->get_script();
}
}
}
-
}
in_guesses.push_back(g);
}
- return node->guess_output_type(in_guesses.ptr(),p_output);
+ return node->guess_output_type(in_guesses.ptr(), p_output);
}
void VisualScriptEditor::_port_action_menu(int p_option) {
@@ -2754,29 +2579,29 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
Vector2 ofs = graph->get_scroll_ofs() + port_action_pos;
if (graph->is_using_snap()) {
int snap = graph->get_snap();
- ofs = ofs.snapped(Vector2(snap,snap));
+ ofs = ofs.snapped(Vector2(snap, snap));
}
- ofs/=EDSCALE;
+ ofs /= EDSCALE;
- bool seq_connect=false;
+ bool seq_connect = false;
Ref<VisualScriptNode> vnode;
Set<int> vn;
- switch(p_option) {
+ switch (p_option) {
case CREATE_CALL: {
Ref<VisualScriptFunctionCall> n;
n.instance();
- vnode=n;
+ vnode = n;
- VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node,port_action_output,vn);
+ VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
- if (tg.type==Variant::OBJECT) {
+ if (tg.type == Variant::OBJECT) {
n->set_call_mode(VisualScriptFunctionCall::CALL_MODE_INSTANCE);
- if (tg.GDCLASS!=StringName()) {
+ if (tg.GDCLASS != StringName()) {
n->set_base_type(tg.GDCLASS);
} else {
n->set_base_type("Object");
@@ -2789,29 +2614,25 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
new_connect_node_select->select_method_from_base_type(n->get_base_type());
}
-
} else {
n->set_call_mode(VisualScriptFunctionCall::CALL_MODE_BASIC_TYPE);
n->set_basic_type(tg.type);
new_connect_node_select->select_method_from_basic_type(tg.type);
}
-
-
} break;
case CREATE_SET: {
Ref<VisualScriptPropertySet> n;
n.instance();
- vnode=n;
-
+ vnode = n;
- VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node,port_action_output,vn);
+ VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
- if (tg.type==Variant::OBJECT) {
+ if (tg.type == Variant::OBJECT) {
n->set_call_mode(VisualScriptPropertySet::CALL_MODE_INSTANCE);
- if (tg.GDCLASS!=StringName()) {
+ if (tg.GDCLASS != StringName()) {
n->set_base_type(tg.GDCLASS);
} else {
n->set_base_type("Object");
@@ -2824,25 +2645,24 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
new_connect_node_select->select_property_from_base_type(n->get_base_type());
}
-
} else {
n->set_call_mode(VisualScriptPropertySet::CALL_MODE_BASIC_TYPE);
n->set_basic_type(tg.type);
- new_connect_node_select->select_property_from_basic_type(tg.type,tg.ev_type);
+ new_connect_node_select->select_property_from_basic_type(tg.type, tg.ev_type);
}
} break;
case CREATE_GET: {
Ref<VisualScriptPropertyGet> n;
n.instance();
- vnode=n;
+ vnode = n;
- VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node,port_action_output,vn);
+ VisualScriptNode::TypeGuess tg = _guess_output_type(port_action_node, port_action_output, vn);
- if (tg.type==Variant::OBJECT) {
+ if (tg.type == Variant::OBJECT) {
n->set_call_mode(VisualScriptPropertyGet::CALL_MODE_INSTANCE);
- if (tg.GDCLASS!=StringName()) {
+ if (tg.GDCLASS != StringName()) {
n->set_base_type(tg.GDCLASS);
} else {
n->set_base_type("Object");
@@ -2855,11 +2675,10 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
new_connect_node_select->select_property_from_base_type(n->get_base_type());
}
-
} else {
n->set_call_mode(VisualScriptPropertyGet::CALL_MODE_BASIC_TYPE);
n->set_basic_type(tg.type);
- new_connect_node_select->select_property_from_basic_type(tg.type,tg.ev_type);
+ new_connect_node_select->select_property_from_basic_type(tg.type, tg.ev_type);
}
} break;
@@ -2867,147 +2686,139 @@ void VisualScriptEditor::_port_action_menu(int p_option) {
Ref<VisualScriptCondition> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
case CREATE_SEQUENCE: {
Ref<VisualScriptSequence> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
case CREATE_SWITCH: {
Ref<VisualScriptSwitch> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
case CREATE_ITERATOR: {
Ref<VisualScriptIterator> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
case CREATE_WHILE: {
Ref<VisualScriptWhile> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
case CREATE_RETURN: {
Ref<VisualScriptReturn> n;
n.instance();
- vnode=n;
- seq_connect=true;
+ vnode = n;
+ seq_connect = true;
} break;
-
}
int new_id = script->get_available_id();
undo_redo->create_action(TTR("Add Node"));
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,vnode,ofs);
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, vnode, ofs);
if (seq_connect) {
- undo_redo->add_do_method(script.ptr(),"sequence_connect",edited_func,port_action_node,port_action_output,new_id);
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, port_action_node, port_action_output, new_id);
}
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
- undo_redo->add_do_method(this,"_update_graph",new_id);
- undo_redo->add_undo_method(this,"_update_graph",new_id);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
+ undo_redo->add_do_method(this, "_update_graph", new_id);
+ undo_redo->add_undo_method(this, "_update_graph", new_id);
undo_redo->commit_action();
- port_action_new_node=new_id;
-
+ port_action_new_node = new_id;
}
-void VisualScriptEditor::_selected_connect_node_method_or_setget(const String& p_text) {
+void VisualScriptEditor::_selected_connect_node_method_or_setget(const String &p_text) {
- Ref<VisualScriptNode> vsn = script->get_node(edited_func,port_action_new_node);
+ Ref<VisualScriptNode> vsn = script->get_node(edited_func, port_action_new_node);
if (vsn->cast_to<VisualScriptFunctionCall>()) {
Ref<VisualScriptFunctionCall> vsfc = vsn;
vsfc->set_function(p_text);
- script->data_connect(edited_func,port_action_node,port_action_output,port_action_new_node,0);
+ script->data_connect(edited_func, port_action_node, port_action_output, port_action_new_node, 0);
}
if (vsn->cast_to<VisualScriptPropertySet>()) {
Ref<VisualScriptPropertySet> vsp = vsn;
vsp->set_property(p_text);
- script->data_connect(edited_func,port_action_node,port_action_output,port_action_new_node,0);
+ script->data_connect(edited_func, port_action_node, port_action_output, port_action_new_node, 0);
}
if (vsn->cast_to<VisualScriptPropertyGet>()) {
Ref<VisualScriptPropertyGet> vsp = vsn;
vsp->set_property(p_text);
- script->data_connect(edited_func,port_action_node,port_action_output,port_action_new_node,0);
+ script->data_connect(edited_func, port_action_node, port_action_output, port_action_new_node, 0);
}
_update_graph(port_action_new_node);
_update_graph_connections();
-
}
-
void VisualScriptEditor::_default_value_changed() {
-
- Ref<VisualScriptNode> vsn = script->get_node(edited_func,editing_id);
+ Ref<VisualScriptNode> vsn = script->get_node(edited_func, editing_id);
if (vsn.is_null())
return;
undo_redo->create_action("Change Input Value");
- undo_redo->add_do_method(vsn.ptr(),"set_default_input_value",editing_input,default_value_edit->get_variant());
- undo_redo->add_undo_method(vsn.ptr(),"set_default_input_value",editing_input,vsn->get_default_input_value(editing_input));
+ undo_redo->add_do_method(vsn.ptr(), "set_default_input_value", editing_input, default_value_edit->get_variant());
+ undo_redo->add_undo_method(vsn.ptr(), "set_default_input_value", editing_input, vsn->get_default_input_value(editing_input));
- undo_redo->add_do_method(this,"_update_graph",editing_id);
- undo_redo->add_undo_method(this,"_update_graph",editing_id);
+ undo_redo->add_do_method(this, "_update_graph", editing_id);
+ undo_redo->add_undo_method(this, "_update_graph", editing_id);
undo_redo->commit_action();
-
}
-void VisualScriptEditor::_default_value_edited(Node * p_button,int p_id,int p_input_port) {
+void VisualScriptEditor::_default_value_edited(Node *p_button, int p_id, int p_input_port) {
- Ref<VisualScriptNode> vsn = script->get_node(edited_func,p_id);
+ Ref<VisualScriptNode> vsn = script->get_node(edited_func, p_id);
if (vsn.is_null())
return;
PropertyInfo pinfo = vsn->get_input_value_port_info(p_input_port);
Variant existing = vsn->get_default_input_value(p_input_port);
- if (pinfo.type!=Variant::NIL && existing.get_type()!=pinfo.type) {
+ if (pinfo.type != Variant::NIL && existing.get_type() != pinfo.type) {
Variant::CallError ce;
- const Variant *existingp=&existing;
- existing = Variant::construct(pinfo.type,&existingp,1,ce,false);
-
+ const Variant *existingp = &existing;
+ existing = Variant::construct(pinfo.type, &existingp, 1, ce, false);
}
- default_value_edit->set_pos(p_button->cast_to<Control>()->get_global_pos()+Vector2(0,p_button->cast_to<Control>()->get_size().y));
- default_value_edit->set_size(Size2(1,1));
- if (default_value_edit->edit(NULL,pinfo.name,pinfo.type,existing,pinfo.hint,pinfo.hint_string)) {
- if (pinfo.hint==PROPERTY_HINT_MULTILINE_TEXT)
+ default_value_edit->set_pos(p_button->cast_to<Control>()->get_global_pos() + Vector2(0, p_button->cast_to<Control>()->get_size().y));
+ default_value_edit->set_size(Size2(1, 1));
+ if (default_value_edit->edit(NULL, pinfo.name, pinfo.type, existing, pinfo.hint, pinfo.hint_string)) {
+ if (pinfo.hint == PROPERTY_HINT_MULTILINE_TEXT)
default_value_edit->popup_centered_ratio();
else
default_value_edit->popup();
}
editing_id = p_id;
- editing_input=p_input_port;
-
+ editing_input = p_input_port;
}
-void VisualScriptEditor::_show_hint(const String& p_hint) {
+void VisualScriptEditor::_show_hint(const String &p_hint) {
hint_text->set_text(p_hint);
hint_text->show();
@@ -3019,38 +2830,38 @@ void VisualScriptEditor::_hide_timer() {
hint_text->hide();
}
-void VisualScriptEditor::_node_filter_changed(const String& p_text) {
+void VisualScriptEditor::_node_filter_changed(const String &p_text) {
_update_available_nodes();
}
-void VisualScriptEditor::_notification(int p_what) {
+void VisualScriptEditor::_notification(int p_what) {
- if (p_what==NOTIFICATION_READY) {
- node_filter_icon->set_texture(Control::get_icon("Zoom","EditorIcons"));
+ if (p_what == NOTIFICATION_READY) {
+ node_filter_icon->set_texture(Control::get_icon("Zoom", "EditorIcons"));
}
}
-void VisualScriptEditor::_graph_ofs_changed(const Vector2& p_ofs) {
+void VisualScriptEditor::_graph_ofs_changed(const Vector2 &p_ofs) {
if (updating_graph)
return;
- updating_graph=true;
+ updating_graph = true;
if (script->has_function(edited_func)) {
- script->set_function_scroll(edited_func,graph->get_scroll_ofs()/EDSCALE);
+ script->set_function_scroll(edited_func, graph->get_scroll_ofs() / EDSCALE);
script->set_edited(true);
}
- updating_graph=false;
+ updating_graph = false;
}
-void VisualScriptEditor::_comment_node_resized(const Vector2& p_new_size,int p_node) {
+void VisualScriptEditor::_comment_node_resized(const Vector2 &p_new_size, int p_node) {
if (updating_graph)
return;
- Ref<VisualScriptComment> vsc = script->get_node(edited_func,p_node);
+ Ref<VisualScriptComment> vsc = script->get_node(edited_func, p_node);
if (vsc.is_null())
return;
@@ -3061,38 +2872,36 @@ void VisualScriptEditor::_comment_node_resized(const Vector2& p_new_size,int p_n
if (!gn)
return;
- updating_graph=true;
+ updating_graph = true;
graph->set_block_minimum_size_adjust(true); //faster resize
- undo_redo->create_action("Resize Comment",UndoRedo::MERGE_ENDS);
- undo_redo->add_do_method(vsc.ptr(),"set_size",p_new_size/EDSCALE);
- undo_redo->add_undo_method(vsc.ptr(),"set_size",vsc->get_size());
+ undo_redo->create_action("Resize Comment", UndoRedo::MERGE_ENDS);
+ undo_redo->add_do_method(vsc.ptr(), "set_size", p_new_size / EDSCALE);
+ undo_redo->add_undo_method(vsc.ptr(), "set_size", vsc->get_size());
undo_redo->commit_action();
gn->set_custom_minimum_size(p_new_size); //for this time since graph update is blocked
- gn->set_size(Size2(1,1));
+ gn->set_size(Size2(1, 1));
graph->set_block_minimum_size_adjust(false);
- updating_graph=false;
-
-
+ updating_graph = false;
}
void VisualScriptEditor::_menu_option(int p_what) {
- switch(p_what) {
+ switch (p_what) {
case EDIT_DELETE_NODES: {
_on_nodes_delete();
} break;
case EDIT_TOGGLE_BREAKPOINT: {
List<String> reselect;
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
if (gn->is_selected()) {
int id = String(gn->get_name()).to_int();
- Ref<VisualScriptNode> vsn = script->get_node(edited_func,id);
+ Ref<VisualScriptNode> vsn = script->get_node(edited_func, id);
if (vsn.is_valid()) {
vsn->set_breakpoint(!vsn->is_breakpoint());
reselect.push_back(gn->get_name());
@@ -3103,7 +2912,7 @@ void VisualScriptEditor::_menu_option(int p_what) {
_update_graph();
- for(List<String>::Element *E=reselect.front();E;E=E->next()) {
+ for (List<String>::Element *E = reselect.front(); E; E = E->next()) {
GraphNode *gn = graph->get_node(E->get())->cast_to<GraphNode>();
gn->set_selected(true);
}
@@ -3124,22 +2933,21 @@ void VisualScriptEditor::_menu_option(int p_what) {
clipboard->data_connections.clear();
clipboard->sequence_connections.clear();
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
if (gn->is_selected()) {
int id = String(gn->get_name()).to_int();
- Ref<VisualScriptNode> node = script->get_node(edited_func,id);
+ Ref<VisualScriptNode> node = script->get_node(edited_func, id);
if (node->cast_to<VisualScriptFunction>()) {
EditorNode::get_singleton()->show_warning("Can't copy the function node.");
return;
}
if (node.is_valid()) {
- clipboard->nodes[id]=node->duplicate();
- clipboard->nodes_positions[id]=script->get_node_pos(edited_func,id);
+ clipboard->nodes[id] = node->duplicate();
+ clipboard->nodes_positions[id] = script->get_node_pos(edited_func, id);
}
-
}
}
}
@@ -3149,9 +2957,9 @@ void VisualScriptEditor::_menu_option(int p_what) {
List<VisualScript::SequenceConnection> sequence_connections;
- script->get_sequence_connection_list(edited_func,&sequence_connections);
+ script->get_sequence_connection_list(edited_func, &sequence_connections);
- for (List<VisualScript::SequenceConnection>::Element *E=sequence_connections.front();E;E=E->next()) {
+ for (List<VisualScript::SequenceConnection>::Element *E = sequence_connections.front(); E; E = E->next()) {
if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
@@ -3161,9 +2969,9 @@ void VisualScriptEditor::_menu_option(int p_what) {
List<VisualScript::DataConnection> data_connections;
- script->get_data_connection_list(edited_func,&data_connections);
+ script->get_data_connection_list(edited_func, &data_connections);
- for (List<VisualScript::DataConnection>::Element *E=data_connections.front();E;E=E->next()) {
+ for (List<VisualScript::DataConnection>::Element *E = data_connections.front(); E; E = E->next()) {
if (clipboard->nodes.has(E->get().from_node) && clipboard->nodes.has(E->get().to_node)) {
@@ -3171,11 +2979,10 @@ void VisualScriptEditor::_menu_option(int p_what) {
}
}
- if (p_what==EDIT_CUT_NODES) {
+ if (p_what == EDIT_CUT_NODES) {
_on_nodes_delete(); // oh yeah, also delete on cut
}
-
} break;
case EDIT_PASTE_NODES: {
if (!script->has_function(edited_func))
@@ -3186,10 +2993,10 @@ void VisualScriptEditor::_menu_option(int p_what) {
break;
}
- Map<int,int> remap;
+ Map<int, int> remap;
undo_redo->create_action("Paste VisualScript Nodes");
- int idc=script->get_available_id()+1;
+ int idc = script->get_available_id() + 1;
Set<int> to_select;
@@ -3197,137 +3004,118 @@ void VisualScriptEditor::_menu_option(int p_what) {
{
List<int> nodes;
- script->get_node_list(edited_func,&nodes);
- for (List<int>::Element *E=nodes.front();E;E=E->next()) {
- Vector2 pos = script->get_node_pos(edited_func,E->get()).snapped(Vector2(2,2));
+ script->get_node_list(edited_func, &nodes);
+ for (List<int>::Element *E = nodes.front(); E; E = E->next()) {
+ Vector2 pos = script->get_node_pos(edited_func, E->get()).snapped(Vector2(2, 2));
existing_positions.insert(pos);
}
}
- for (Map<int,Ref<VisualScriptNode> >::Element *E=clipboard->nodes.front();E;E=E->next()) {
-
+ for (Map<int, Ref<VisualScriptNode> >::Element *E = clipboard->nodes.front(); E; E = E->next()) {
Ref<VisualScriptNode> node = E->get()->duplicate();
int new_id = idc++;
to_select.insert(new_id);
- remap[E->key()]=new_id;
+ remap[E->key()] = new_id;
Vector2 paste_pos = clipboard->nodes_positions[E->key()];
- while(existing_positions.has(paste_pos.snapped(Vector2(2,2)))) {
- paste_pos+=Vector2(20,20)*EDSCALE;
+ while (existing_positions.has(paste_pos.snapped(Vector2(2, 2)))) {
+ paste_pos += Vector2(20, 20) * EDSCALE;
}
-
- undo_redo->add_do_method(script.ptr(),"add_node",edited_func,new_id,node,paste_pos);
- undo_redo->add_undo_method(script.ptr(),"remove_node",edited_func,new_id);
-
+ undo_redo->add_do_method(script.ptr(), "add_node", edited_func, new_id, node, paste_pos);
+ undo_redo->add_undo_method(script.ptr(), "remove_node", edited_func, new_id);
}
- for (Set<VisualScript::SequenceConnection>::Element *E=clipboard->sequence_connections.front();E;E=E->next()) {
-
-
- undo_redo->add_do_method(script.ptr(),"sequence_connect",edited_func,remap[E->get().from_node],E->get().from_output,remap[E->get().to_node]);
- undo_redo->add_undo_method(script.ptr(),"sequence_disconnect",edited_func,remap[E->get().from_node],E->get().from_output,remap[E->get().to_node]);
+ for (Set<VisualScript::SequenceConnection>::Element *E = clipboard->sequence_connections.front(); E; E = E->next()) {
+ undo_redo->add_do_method(script.ptr(), "sequence_connect", edited_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
+ undo_redo->add_undo_method(script.ptr(), "sequence_disconnect", edited_func, remap[E->get().from_node], E->get().from_output, remap[E->get().to_node]);
}
- for (Set<VisualScript::DataConnection>::Element *E=clipboard->data_connections.front();E;E=E->next()) {
-
-
- undo_redo->add_do_method(script.ptr(),"data_connect",edited_func,remap[E->get().from_node],E->get().from_port,remap[E->get().to_node],E->get().to_port);
- undo_redo->add_undo_method(script.ptr(),"data_disconnect",edited_func,remap[E->get().from_node],E->get().from_port,remap[E->get().to_node],E->get().to_port);
+ for (Set<VisualScript::DataConnection>::Element *E = clipboard->data_connections.front(); E; E = E->next()) {
+ undo_redo->add_do_method(script.ptr(), "data_connect", edited_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
+ undo_redo->add_undo_method(script.ptr(), "data_disconnect", edited_func, remap[E->get().from_node], E->get().from_port, remap[E->get().to_node], E->get().to_port);
}
- undo_redo->add_do_method(this,"_update_graph");
- undo_redo->add_undo_method(this,"_update_graph");
+ undo_redo->add_do_method(this, "_update_graph");
+ undo_redo->add_undo_method(this, "_update_graph");
undo_redo->commit_action();
- for(int i=0;i<graph->get_child_count();i++) {
+ for (int i = 0; i < graph->get_child_count(); i++) {
GraphNode *gn = graph->get_child(i)->cast_to<GraphNode>();
if (gn) {
int id = gn->get_name().operator String().to_int();
gn->set_selected(to_select.has(id));
-
}
}
} break;
-
-
}
}
void VisualScriptEditor::_bind_methods() {
- ClassDB::bind_method("_member_button",&VisualScriptEditor::_member_button);
- ClassDB::bind_method("_member_edited",&VisualScriptEditor::_member_edited);
- ClassDB::bind_method("_member_selected",&VisualScriptEditor::_member_selected);
- ClassDB::bind_method("_update_members",&VisualScriptEditor::_update_members);
- ClassDB::bind_method("_change_base_type",&VisualScriptEditor::_change_base_type);
- ClassDB::bind_method("_change_base_type_callback",&VisualScriptEditor::_change_base_type_callback);
- ClassDB::bind_method("_override_pressed",&VisualScriptEditor::_override_pressed);
- ClassDB::bind_method("_node_selected",&VisualScriptEditor::_node_selected);
- ClassDB::bind_method("_node_moved",&VisualScriptEditor::_node_moved);
- ClassDB::bind_method("_move_node",&VisualScriptEditor::_move_node);
- ClassDB::bind_method("_begin_node_move",&VisualScriptEditor::_begin_node_move);
- ClassDB::bind_method("_end_node_move",&VisualScriptEditor::_end_node_move);
- ClassDB::bind_method("_remove_node",&VisualScriptEditor::_remove_node);
- ClassDB::bind_method("_update_graph",&VisualScriptEditor::_update_graph,DEFVAL(-1));
- ClassDB::bind_method("_node_ports_changed",&VisualScriptEditor::_node_ports_changed);
- ClassDB::bind_method("_available_node_doubleclicked",&VisualScriptEditor::_available_node_doubleclicked);
- ClassDB::bind_method("_default_value_edited",&VisualScriptEditor::_default_value_edited);
- ClassDB::bind_method("_default_value_changed",&VisualScriptEditor::_default_value_changed);
- ClassDB::bind_method("_menu_option",&VisualScriptEditor::_menu_option);
- ClassDB::bind_method("_graph_ofs_changed",&VisualScriptEditor::_graph_ofs_changed);
- ClassDB::bind_method("_center_on_node",&VisualScriptEditor::_center_on_node);
- ClassDB::bind_method("_comment_node_resized",&VisualScriptEditor::_comment_node_resized);
- ClassDB::bind_method("_button_resource_previewed",&VisualScriptEditor::_button_resource_previewed);
- ClassDB::bind_method("_port_action_menu",&VisualScriptEditor::_port_action_menu);
- ClassDB::bind_method("_selected_connect_node_method_or_setget",&VisualScriptEditor::_selected_connect_node_method_or_setget);
- ClassDB::bind_method("_expression_text_changed",&VisualScriptEditor::_expression_text_changed);
-
-
-
-
- ClassDB::bind_method("get_drag_data_fw",&VisualScriptEditor::get_drag_data_fw);
- ClassDB::bind_method("can_drop_data_fw",&VisualScriptEditor::can_drop_data_fw);
- ClassDB::bind_method("drop_data_fw",&VisualScriptEditor::drop_data_fw);
-
- ClassDB::bind_method("_input",&VisualScriptEditor::_input);
- ClassDB::bind_method("_on_nodes_delete",&VisualScriptEditor::_on_nodes_delete);
- ClassDB::bind_method("_on_nodes_duplicate",&VisualScriptEditor::_on_nodes_duplicate);
-
- ClassDB::bind_method("_hide_timer",&VisualScriptEditor::_hide_timer);
-
- ClassDB::bind_method("_graph_connected",&VisualScriptEditor::_graph_connected);
- ClassDB::bind_method("_graph_disconnected",&VisualScriptEditor::_graph_disconnected);
- ClassDB::bind_method("_graph_connect_to_empty",&VisualScriptEditor::_graph_connect_to_empty);
-
- ClassDB::bind_method("_update_graph_connections",&VisualScriptEditor::_update_graph_connections);
- ClassDB::bind_method("_node_filter_changed",&VisualScriptEditor::_node_filter_changed);
-
- ClassDB::bind_method("_selected_method",&VisualScriptEditor::_selected_method);
- ClassDB::bind_method("_draw_color_over_button",&VisualScriptEditor::_draw_color_over_button);
-
-
-
-
+ ClassDB::bind_method("_member_button", &VisualScriptEditor::_member_button);
+ ClassDB::bind_method("_member_edited", &VisualScriptEditor::_member_edited);
+ ClassDB::bind_method("_member_selected", &VisualScriptEditor::_member_selected);
+ ClassDB::bind_method("_update_members", &VisualScriptEditor::_update_members);
+ ClassDB::bind_method("_change_base_type", &VisualScriptEditor::_change_base_type);
+ ClassDB::bind_method("_change_base_type_callback", &VisualScriptEditor::_change_base_type_callback);
+ ClassDB::bind_method("_override_pressed", &VisualScriptEditor::_override_pressed);
+ ClassDB::bind_method("_node_selected", &VisualScriptEditor::_node_selected);
+ ClassDB::bind_method("_node_moved", &VisualScriptEditor::_node_moved);
+ ClassDB::bind_method("_move_node", &VisualScriptEditor::_move_node);
+ ClassDB::bind_method("_begin_node_move", &VisualScriptEditor::_begin_node_move);
+ ClassDB::bind_method("_end_node_move", &VisualScriptEditor::_end_node_move);
+ ClassDB::bind_method("_remove_node", &VisualScriptEditor::_remove_node);
+ ClassDB::bind_method("_update_graph", &VisualScriptEditor::_update_graph, DEFVAL(-1));
+ ClassDB::bind_method("_node_ports_changed", &VisualScriptEditor::_node_ports_changed);
+ ClassDB::bind_method("_available_node_doubleclicked", &VisualScriptEditor::_available_node_doubleclicked);
+ ClassDB::bind_method("_default_value_edited", &VisualScriptEditor::_default_value_edited);
+ ClassDB::bind_method("_default_value_changed", &VisualScriptEditor::_default_value_changed);
+ ClassDB::bind_method("_menu_option", &VisualScriptEditor::_menu_option);
+ ClassDB::bind_method("_graph_ofs_changed", &VisualScriptEditor::_graph_ofs_changed);
+ ClassDB::bind_method("_center_on_node", &VisualScriptEditor::_center_on_node);
+ ClassDB::bind_method("_comment_node_resized", &VisualScriptEditor::_comment_node_resized);
+ ClassDB::bind_method("_button_resource_previewed", &VisualScriptEditor::_button_resource_previewed);
+ ClassDB::bind_method("_port_action_menu", &VisualScriptEditor::_port_action_menu);
+ ClassDB::bind_method("_selected_connect_node_method_or_setget", &VisualScriptEditor::_selected_connect_node_method_or_setget);
+ ClassDB::bind_method("_expression_text_changed", &VisualScriptEditor::_expression_text_changed);
+
+ ClassDB::bind_method("get_drag_data_fw", &VisualScriptEditor::get_drag_data_fw);
+ ClassDB::bind_method("can_drop_data_fw", &VisualScriptEditor::can_drop_data_fw);
+ ClassDB::bind_method("drop_data_fw", &VisualScriptEditor::drop_data_fw);
+
+ ClassDB::bind_method("_input", &VisualScriptEditor::_input);
+ ClassDB::bind_method("_on_nodes_delete", &VisualScriptEditor::_on_nodes_delete);
+ ClassDB::bind_method("_on_nodes_duplicate", &VisualScriptEditor::_on_nodes_duplicate);
+
+ ClassDB::bind_method("_hide_timer", &VisualScriptEditor::_hide_timer);
+
+ ClassDB::bind_method("_graph_connected", &VisualScriptEditor::_graph_connected);
+ ClassDB::bind_method("_graph_disconnected", &VisualScriptEditor::_graph_disconnected);
+ ClassDB::bind_method("_graph_connect_to_empty", &VisualScriptEditor::_graph_connect_to_empty);
+
+ ClassDB::bind_method("_update_graph_connections", &VisualScriptEditor::_update_graph_connections);
+ ClassDB::bind_method("_node_filter_changed", &VisualScriptEditor::_node_filter_changed);
+
+ ClassDB::bind_method("_selected_method", &VisualScriptEditor::_selected_method);
+ ClassDB::bind_method("_draw_color_over_button", &VisualScriptEditor::_draw_color_over_button);
}
-
-
VisualScriptEditor::VisualScriptEditor() {
if (!clipboard) {
- clipboard = memnew( Clipboard );
+ clipboard = memnew(Clipboard);
}
- updating_graph=false;
+ updating_graph = false;
- edit_menu = memnew( MenuButton );
+ edit_menu = memnew(MenuButton);
edit_menu->set_text(TTR("Edit"));
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/delete_selected"), EDIT_DELETE_NODES);
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/toggle_breakpoint"), EDIT_TOGGLE_BREAKPOINT);
@@ -3337,101 +3125,98 @@ VisualScriptEditor::VisualScriptEditor() {
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/cut_nodes"), EDIT_CUT_NODES);
edit_menu->get_popup()->add_shortcut(ED_GET_SHORTCUT("visual_script_editor/paste_nodes"), EDIT_PASTE_NODES);
- edit_menu->get_popup()->connect("id_pressed",this,"_menu_option");
+ edit_menu->get_popup()->connect("id_pressed", this, "_menu_option");
- main_hsplit = memnew( HSplitContainer );
+ main_hsplit = memnew(HSplitContainer);
add_child(main_hsplit);
main_hsplit->set_area_as_parent_rect();
- left_vsplit = memnew( VSplitContainer );
+ left_vsplit = memnew(VSplitContainer);
main_hsplit->add_child(left_vsplit);
- VBoxContainer *left_vb = memnew( VBoxContainer );
+ VBoxContainer *left_vb = memnew(VBoxContainer);
left_vsplit->add_child(left_vb);
left_vb->set_v_size_flags(SIZE_EXPAND_FILL);
- left_vb->set_custom_minimum_size(Size2(230,1)*EDSCALE);
+ left_vb->set_custom_minimum_size(Size2(230, 1) * EDSCALE);
- base_type_select = memnew( Button );
- left_vb->add_margin_child(TTR("Base Type:"),base_type_select);
- base_type_select->connect("pressed",this,"_change_base_type");
+ base_type_select = memnew(Button);
+ left_vb->add_margin_child(TTR("Base Type:"), base_type_select);
+ base_type_select->connect("pressed", this, "_change_base_type");
- members = memnew( Tree );
- left_vb->add_margin_child(TTR("Members:"),members,true);
+ members = memnew(Tree);
+ left_vb->add_margin_child(TTR("Members:"), members, true);
members->set_hide_root(true);
- members->connect("button_pressed",this,"_member_button");
- members->connect("item_edited",this,"_member_edited");
- members->connect("cell_selected",this,"_member_selected",varray(),CONNECT_DEFERRED);
+ members->connect("button_pressed", this, "_member_button");
+ members->connect("item_edited", this, "_member_edited");
+ members->connect("cell_selected", this, "_member_selected", varray(), CONNECT_DEFERRED);
members->set_single_select_cell_editing_only_when_already_selected(true);
members->set_hide_folding(true);
members->set_drag_forwarding(this);
-
- VBoxContainer *left_vb2 = memnew( VBoxContainer );
+ VBoxContainer *left_vb2 = memnew(VBoxContainer);
left_vsplit->add_child(left_vb2);
left_vb2->set_v_size_flags(SIZE_EXPAND_FILL);
-
- VBoxContainer *vbc_nodes = memnew( VBoxContainer );
- HBoxContainer *hbc_nodes = memnew( HBoxContainer );
- node_filter = memnew (LineEdit);
- node_filter->connect("text_changed",this,"_node_filter_changed");
+ VBoxContainer *vbc_nodes = memnew(VBoxContainer);
+ HBoxContainer *hbc_nodes = memnew(HBoxContainer);
+ node_filter = memnew(LineEdit);
+ node_filter->connect("text_changed", this, "_node_filter_changed");
hbc_nodes->add_child(node_filter);
node_filter->set_h_size_flags(SIZE_EXPAND_FILL);
- node_filter_icon = memnew( TextureRect );
+ node_filter_icon = memnew(TextureRect);
node_filter_icon->set_stretch_mode(TextureRect::STRETCH_KEEP_CENTERED);
hbc_nodes->add_child(node_filter_icon);
vbc_nodes->add_child(hbc_nodes);
- nodes = memnew( Tree );
+ nodes = memnew(Tree);
vbc_nodes->add_child(nodes);
nodes->set_v_size_flags(SIZE_EXPAND_FILL);
- left_vb2->add_margin_child(TTR("Available Nodes:"),vbc_nodes,true);
+ left_vb2->add_margin_child(TTR("Available Nodes:"), vbc_nodes, true);
nodes->set_hide_root(true);
- nodes->connect("item_activated",this,"_available_node_doubleclicked");
+ nodes->connect("item_activated", this, "_available_node_doubleclicked");
nodes->set_drag_forwarding(this);
- graph = memnew( GraphEdit );
+ graph = memnew(GraphEdit);
main_hsplit->add_child(graph);
graph->set_h_size_flags(SIZE_EXPAND_FILL);
- graph->connect("node_selected",this,"_node_selected");
- graph->connect("_begin_node_move",this,"_begin_node_move");
- graph->connect("_end_node_move",this,"_end_node_move");
- graph->connect("delete_nodes_request",this,"_on_nodes_delete");
- graph->connect("duplicate_nodes_request",this,"_on_nodes_duplicate");
+ graph->connect("node_selected", this, "_node_selected");
+ graph->connect("_begin_node_move", this, "_begin_node_move");
+ graph->connect("_end_node_move", this, "_end_node_move");
+ graph->connect("delete_nodes_request", this, "_on_nodes_delete");
+ graph->connect("duplicate_nodes_request", this, "_on_nodes_duplicate");
graph->set_drag_forwarding(this);
graph->hide();
- graph->connect("scroll_offset_changed",this,"_graph_ofs_changed");
+ graph->connect("scroll_offset_changed", this, "_graph_ofs_changed");
- select_func_text = memnew( Label );
+ select_func_text = memnew(Label);
select_func_text->set_text(TTR("Select or create a function to edit graph"));
select_func_text->set_align(Label::ALIGN_CENTER);
select_func_text->set_valign(Label::VALIGN_CENTER);
select_func_text->set_h_size_flags(SIZE_EXPAND_FILL);
main_hsplit->add_child(select_func_text);
-
- hint_text = memnew( Label );
- hint_text->set_anchor_and_margin(MARGIN_TOP,ANCHOR_END,100);
- hint_text->set_anchor_and_margin(MARGIN_BOTTOM,ANCHOR_END,0);
- hint_text->set_anchor_and_margin(MARGIN_RIGHT,ANCHOR_END,0);
+ hint_text = memnew(Label);
+ hint_text->set_anchor_and_margin(MARGIN_TOP, ANCHOR_END, 100);
+ hint_text->set_anchor_and_margin(MARGIN_BOTTOM, ANCHOR_END, 0);
+ hint_text->set_anchor_and_margin(MARGIN_RIGHT, ANCHOR_END, 0);
hint_text->set_align(Label::ALIGN_CENTER);
hint_text->set_valign(Label::VALIGN_CENTER);
graph->add_child(hint_text);
- hint_text_timer = memnew( Timer );
+ hint_text_timer = memnew(Timer);
hint_text_timer->set_wait_time(4);
- hint_text_timer->connect("timeout",this,"_hide_timer");
+ hint_text_timer->connect("timeout", this, "_hide_timer");
add_child(hint_text_timer);
//allowed casts (connections)
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- graph->add_valid_connection_type(Variant::NIL,i);
- graph->add_valid_connection_type(i,Variant::NIL);
- for(int j=0;j<Variant::VARIANT_MAX;j++) {
- if (Variant::can_convert(Variant::Type(i),Variant::Type(j))) {
- graph->add_valid_connection_type(i,j);
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ graph->add_valid_connection_type(Variant::NIL, i);
+ graph->add_valid_connection_type(i, Variant::NIL);
+ for (int j = 0; j < Variant::VARIANT_MAX; j++) {
+ if (Variant::can_convert(Variant::Type(i), Variant::Type(j))) {
+ graph->add_valid_connection_type(i, j);
}
}
@@ -3440,68 +3225,66 @@ VisualScriptEditor::VisualScriptEditor() {
graph->add_valid_left_disconnect_type(TYPE_SEQUENCE);
- graph->connect("connection_request",this,"_graph_connected");
- graph->connect("disconnection_request",this,"_graph_disconnected");
- graph->connect("connection_to_empty",this,"_graph_connect_to_empty");
+ graph->connect("connection_request", this, "_graph_connected");
+ graph->connect("disconnection_request", this, "_graph_disconnected");
+ graph->connect("connection_to_empty", this, "_graph_connect_to_empty");
- edit_signal_dialog = memnew( AcceptDialog );
+ edit_signal_dialog = memnew(AcceptDialog);
edit_signal_dialog->get_ok()->set_text(TTR("Close"));
add_child(edit_signal_dialog);
edit_signal_dialog->set_title(TTR("Edit Signal Arguments:"));
- signal_editor = memnew( VisualScriptEditorSignalEdit );
- edit_signal_edit = memnew( PropertyEditor );
+ signal_editor = memnew(VisualScriptEditorSignalEdit);
+ edit_signal_edit = memnew(PropertyEditor);
edit_signal_edit->hide_top_label();
edit_signal_dialog->add_child(edit_signal_edit);
edit_signal_edit->edit(signal_editor);
- edit_variable_dialog = memnew( AcceptDialog );
+ edit_variable_dialog = memnew(AcceptDialog);
edit_variable_dialog->get_ok()->set_text(TTR("Close"));
add_child(edit_variable_dialog);
edit_variable_dialog->set_title(TTR("Edit Variable:"));
- variable_editor = memnew( VisualScriptEditorVariableEdit );
- edit_variable_edit = memnew( PropertyEditor );
+ variable_editor = memnew(VisualScriptEditorVariableEdit);
+ edit_variable_edit = memnew(PropertyEditor);
edit_variable_edit->hide_top_label();
edit_variable_dialog->add_child(edit_variable_edit);
edit_variable_edit->edit(variable_editor);
- select_base_type=memnew(CreateDialog);
+ select_base_type = memnew(CreateDialog);
select_base_type->set_base_type("Object"); //anything goes
- select_base_type->connect("create",this,"_change_base_type_callback");
+ select_base_type->connect("create", this, "_change_base_type_callback");
select_base_type->get_ok()->set_text(TTR("Change"));
add_child(select_base_type);
undo_redo = EditorNode::get_singleton()->get_undo_redo();
- new_function_menu = memnew( PopupMenu );
- new_function_menu->connect("id_pressed",this,"_override_pressed");
+ new_function_menu = memnew(PopupMenu);
+ new_function_menu->connect("id_pressed", this, "_override_pressed");
add_child(new_function_menu);
- updating_members=false;
+ updating_members = false;
set_process_input(true); //for revert on drag
set_process_unhandled_input(true); //for revert on drag
- default_value_edit= memnew( CustomPropertyEditor);
+ default_value_edit = memnew(CustomPropertyEditor);
add_child(default_value_edit);
- default_value_edit->connect("variant_changed",this,"_default_value_changed");
+ default_value_edit->connect("variant_changed", this, "_default_value_changed");
- method_select = memnew( PropertySelector );
+ method_select = memnew(PropertySelector);
add_child(method_select);
- method_select->connect("selected",this,"_selected_method");
- error_line=-1;
+ method_select->connect("selected", this, "_selected_method");
+ error_line = -1;
- new_connect_node_select = memnew( PropertySelector );
+ new_connect_node_select = memnew(PropertySelector);
add_child(new_connect_node_select);
- new_connect_node_select->connect("selected",this,"_selected_connect_node_method_or_setget");
+ new_connect_node_select->connect("selected", this, "_selected_connect_node_method_or_setget");
- port_action_popup = memnew( PopupMenu );
+ port_action_popup = memnew(PopupMenu);
add_child(port_action_popup);
- port_action_popup->connect("id_pressed",this,"_port_action_menu");
-
-
+ port_action_popup->connect("id_pressed", this, "_port_action_menu");
}
VisualScriptEditor::~VisualScriptEditor() {
@@ -3511,17 +3294,16 @@ VisualScriptEditor::~VisualScriptEditor() {
memdelete(variable_editor);
}
-static ScriptEditorBase * create_editor(const Ref<Script>& p_script) {
+static ScriptEditorBase *create_editor(const Ref<Script> &p_script) {
if (p_script->cast_to<VisualScript>()) {
- return memnew( VisualScriptEditor );
+ return memnew(VisualScriptEditor);
}
return NULL;
}
-
-VisualScriptEditor::Clipboard *VisualScriptEditor::clipboard=NULL;
+VisualScriptEditor::Clipboard *VisualScriptEditor::clipboard = NULL;
void VisualScriptEditor::free_clipboard() {
if (clipboard)
@@ -3531,30 +3313,25 @@ void VisualScriptEditor::free_clipboard() {
static void register_editor_callback() {
ScriptEditor::register_create_script_editor_function(create_editor);
- EditorSettings::get_singleton()->set("editors/visual_script/color_functions",Color(1,0.9,0.9));
- EditorSettings::get_singleton()->set("editors/visual_script/color_data",Color(0.9,1.0,0.9));
- EditorSettings::get_singleton()->set("editors/visual_script/color_operators",Color(0.9,0.9,1.0));
- EditorSettings::get_singleton()->set("editors/visual_script/color_flow_control",Color(1.0,1.0,0.8));
- EditorSettings::get_singleton()->set("editors/visual_script/color_custom",Color(0.8,1.0,1.0));
- EditorSettings::get_singleton()->set("editors/visual_script/color_constants",Color(1.0,0.8,1.0));
-
+ EditorSettings::get_singleton()->set("editors/visual_script/color_functions", Color(1, 0.9, 0.9));
+ EditorSettings::get_singleton()->set("editors/visual_script/color_data", Color(0.9, 1.0, 0.9));
+ EditorSettings::get_singleton()->set("editors/visual_script/color_operators", Color(0.9, 0.9, 1.0));
+ EditorSettings::get_singleton()->set("editors/visual_script/color_flow_control", Color(1.0, 1.0, 0.8));
+ EditorSettings::get_singleton()->set("editors/visual_script/color_custom", Color(0.8, 1.0, 1.0));
+ EditorSettings::get_singleton()->set("editors/visual_script/color_constants", Color(1.0, 0.8, 1.0));
ED_SHORTCUT("visual_script_editor/delete_selected", TTR("Delete Selected"));
ED_SHORTCUT("visual_script_editor/toggle_breakpoint", TTR("Toggle Breakpoint"), KEY_F9);
- ED_SHORTCUT("visual_script_editor/find_node_type", TTR("Find Node Type"), KEY_MASK_CMD+KEY_F);
- ED_SHORTCUT("visual_script_editor/copy_nodes", TTR("Copy Nodes"), KEY_MASK_CMD+KEY_C);
- ED_SHORTCUT("visual_script_editor/cut_nodes", TTR("Cut Nodes"), KEY_MASK_CMD+KEY_X);
- ED_SHORTCUT("visual_script_editor/paste_nodes", TTR("Paste Nodes"), KEY_MASK_CMD+KEY_V);
-
+ ED_SHORTCUT("visual_script_editor/find_node_type", TTR("Find Node Type"), KEY_MASK_CMD + KEY_F);
+ ED_SHORTCUT("visual_script_editor/copy_nodes", TTR("Copy Nodes"), KEY_MASK_CMD + KEY_C);
+ ED_SHORTCUT("visual_script_editor/cut_nodes", TTR("Cut Nodes"), KEY_MASK_CMD + KEY_X);
+ ED_SHORTCUT("visual_script_editor/paste_nodes", TTR("Paste Nodes"), KEY_MASK_CMD + KEY_V);
}
void VisualScriptEditor::register_editor() {
//too early to register stuff here, request a callback
EditorNode::add_plugin_init_callback(register_editor_callback);
-
-
-
}
#endif
diff --git a/modules/visual_script/visual_script_editor.h b/modules/visual_script/visual_script_editor.h
index cdaef8d0ce..5ece1c9e2c 100644
--- a/modules/visual_script/visual_script_editor.h
+++ b/modules/visual_script/visual_script_editor.h
@@ -29,26 +29,23 @@
#ifndef VISUALSCRIPT_EDITOR_H
#define VISUALSCRIPT_EDITOR_H
+#include "editor/create_dialog.h"
#include "editor/plugins/script_editor_plugin.h"
-#include "visual_script.h"
#include "editor/property_editor.h"
-#include "scene/gui/graph_edit.h"
-#include "editor/create_dialog.h"
#include "editor/property_selector.h"
+#include "scene/gui/graph_edit.h"
+#include "visual_script.h"
class VisualScriptEditorSignalEdit;
class VisualScriptEditorVariableEdit;
-
#ifdef TOOLS_ENABLED
-
class VisualScriptEditor : public ScriptEditorBase {
- GDCLASS(VisualScriptEditor,ScriptEditorBase)
+ GDCLASS(VisualScriptEditor, ScriptEditorBase)
enum {
- TYPE_SEQUENCE=1000,
- INDEX_BASE_SEQUENCE=1024
-
+ TYPE_SEQUENCE = 1000,
+ INDEX_BASE_SEQUENCE = 1024
};
@@ -115,7 +112,7 @@ class VisualScriptEditor : public ScriptEditorBase {
bool updating_graph;
- void _show_hint(const String& p_hint);
+ void _show_hint(const String &p_hint);
void _hide_timer();
CreateDialog *select_base_type;
@@ -124,18 +121,17 @@ class VisualScriptEditor : public ScriptEditorBase {
String name;
Variant::Type ret;
bool ret_variant;
- Vector< Pair<Variant::Type,String> > args;
+ Vector<Pair<Variant::Type, String> > args;
};
- Map<int,VirtualInMenu> virtuals_in_menu;
+ Map<int, VirtualInMenu> virtuals_in_menu;
PopupMenu *new_function_menu;
-
StringName edited_func;
void _update_graph_connections();
- void _update_graph(int p_only_id=-1);
+ void _update_graph(int p_only_id = -1);
bool updating_members;
@@ -143,12 +139,12 @@ class VisualScriptEditor : public ScriptEditorBase {
StringName selected;
- String _validate_name(const String& p_name) const;
+ String _validate_name(const String &p_name) const;
struct Clipboard {
- Map<int,Ref<VisualScriptNode> > nodes;
- Map<int,Vector2 > nodes_positions;
+ Map<int, Ref<VisualScriptNode> > nodes;
+ Map<int, Vector2> nodes_positions;
Set<VisualScript::SequenceConnection> sequence_connections;
Set<VisualScript::DataConnection> data_connections;
@@ -164,15 +160,14 @@ class VisualScriptEditor : public ScriptEditorBase {
Vector2 port_action_pos;
int port_action_new_node;
void _port_action_menu(int p_option);
- void _selected_connect_node_method_or_setget(const String& p_text);
-
+ void _selected_connect_node_method_or_setget(const String &p_text);
int error_line;
- void _node_selected(Node* p_node);
+ void _node_selected(Node *p_node);
void _center_on_node(int p_id);
- void _node_filter_changed(const String& p_text);
+ void _node_filter_changed(const String &p_text);
void _change_base_type_callback();
void _change_base_type();
void _member_selected();
@@ -181,82 +176,78 @@ class VisualScriptEditor : public ScriptEditorBase {
void _begin_node_move();
void _end_node_move();
- void _move_node(String func,int p_id,const Vector2& p_to);
+ void _move_node(String func, int p_id, const Vector2 &p_to);
- void _node_moved(Vector2 p_from,Vector2 p_to, int p_id);
+ void _node_moved(Vector2 p_from, Vector2 p_to, int p_id);
void _remove_node(int p_id);
- void _graph_connected(const String& p_from,int p_from_slot,const String& p_to,int p_to_slot);
- void _graph_disconnected(const String& p_from,int p_from_slot,const String& p_to,int p_to_slot);
- void _graph_connect_to_empty(const String& p_from,int p_from_slot,const Vector2& p_release_pos);
+ void _graph_connected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot);
+ void _graph_disconnected(const String &p_from, int p_from_slot, const String &p_to, int p_to_slot);
+ void _graph_connect_to_empty(const String &p_from, int p_from_slot, const Vector2 &p_release_pos);
- void _node_ports_changed(const String& p_func,int p_id);
+ void _node_ports_changed(const String &p_func, int p_id);
void _available_node_doubleclicked();
void _update_available_nodes();
void _member_button(Object *p_item, int p_column, int p_button);
- void _expression_text_changed(const String& p_text,int p_id);
-
+ void _expression_text_changed(const String &p_text, int p_id);
String revert_on_drag;
- void _input(const InputEvent& p_event);
+ void _input(const InputEvent &p_event);
void _on_nodes_delete();
void _on_nodes_duplicate();
- Variant get_drag_data_fw(const Point2& p_point,Control* p_from);
- bool can_drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from) const;
- void drop_data_fw(const Point2& p_point,const Variant& p_data,Control* p_from);
-
+ Variant get_drag_data_fw(const Point2 &p_point, Control *p_from);
+ bool can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const;
+ void drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from);
int editing_id;
int editing_input;
void _default_value_changed();
- void _default_value_edited(Node * p_button,int p_id,int p_input_port);
+ void _default_value_edited(Node *p_button, int p_id, int p_input_port);
void _menu_option(int p_what);
- void _graph_ofs_changed(const Vector2& p_ofs);
- void _comment_node_resized(const Vector2& p_new_size,int p_node);
+ void _graph_ofs_changed(const Vector2 &p_ofs);
+ void _comment_node_resized(const Vector2 &p_new_size, int p_node);
int selecting_method_id;
- void _selected_method(const String& p_method);
+ void _selected_method(const String &p_method);
- void _draw_color_over_button(Object* obj,Color p_color);
- void _button_resource_previewed(const String& p_path,const Ref<Texture>& p_preview,Variant p_ud);
-
- VisualScriptNode::TypeGuess _guess_output_type(int p_port_action_node,int p_port_action_output,Set<int> &visited_nodes);
+ void _draw_color_over_button(Object *obj, Color p_color);
+ void _button_resource_previewed(const String &p_path, const Ref<Texture> &p_preview, Variant p_ud);
+ VisualScriptNode::TypeGuess _guess_output_type(int p_port_action_node, int p_port_action_output, Set<int> &visited_nodes);
protected:
-
void _notification(int p_what);
static void _bind_methods();
-public:
+public:
virtual void apply_code();
virtual Ref<Script> get_edited_script() const;
virtual Vector<String> get_functions();
- virtual void set_edited_script(const Ref<Script>& p_script);
+ virtual void set_edited_script(const Ref<Script> &p_script);
virtual void reload_text();
virtual String get_name();
virtual Ref<Texture> get_icon();
virtual bool is_unsaved();
virtual Variant get_edit_state();
- virtual void set_edit_state(const Variant& p_state);
- virtual void goto_line(int p_line,bool p_with_error=false);
+ virtual void set_edit_state(const Variant &p_state);
+ virtual void goto_line(int p_line, bool p_with_error = false);
virtual void trim_trailing_whitespace();
virtual void ensure_focus();
virtual void tag_saved_version();
virtual void reload(bool p_soft);
virtual void get_breakpoints(List<int> *p_breakpoints);
- virtual bool goto_method(const String& p_method);
- virtual void add_callback(const String& p_function,PoolStringArray p_args);
+ virtual bool goto_method(const String &p_method);
+ virtual void add_callback(const String &p_function, PoolStringArray p_args);
virtual void update_settings();
virtual void set_debugger_active(bool p_active);
- virtual void set_tooltip_request_func(String p_method,Object* p_obj);
+ virtual void set_tooltip_request_func(String p_method, Object *p_obj);
virtual Control *get_edit_menu();
virtual bool can_lose_focus_on_node_selection() { return false; }
diff --git a/modules/visual_script/visual_script_expression.cpp b/modules/visual_script/visual_script_expression.cpp
index 3d15e696ef..741b422848 100644
--- a/modules/visual_script/visual_script_expression.cpp
+++ b/modules/visual_script/visual_script_expression.cpp
@@ -28,41 +28,40 @@
/*************************************************************************/
#include "visual_script_expression.h"
+bool VisualScriptExpression::_set(const StringName &p_name, const Variant &p_value) {
-bool VisualScriptExpression::_set(const StringName& p_name, const Variant& p_value) {
-
- if (String(p_name)=="expression") {
- expression=p_value;
- expression_dirty=true;
+ if (String(p_name) == "expression") {
+ expression = p_value;
+ expression_dirty = true;
ports_changed_notify();
return true;
}
- if (String(p_name)=="out_type") {
- output_type=Variant::Type(int(p_value));
- expression_dirty=true;
+ if (String(p_name) == "out_type") {
+ output_type = Variant::Type(int(p_value));
+ expression_dirty = true;
ports_changed_notify();
return true;
}
- if (String(p_name)=="sequenced") {
- sequenced=p_value;
+ if (String(p_name) == "sequenced") {
+ sequenced = p_value;
ports_changed_notify();
return true;
}
- if (String(p_name)=="input_count") {
+ if (String(p_name) == "input_count") {
- int from=inputs.size();
+ int from = inputs.size();
inputs.resize(int(p_value));
- for(int i=from;i<inputs.size();i++) {
- inputs[i].name=String::chr('a'+i);
- if (from==0) {
- inputs[i].type=output_type;
+ for (int i = from; i < inputs.size(); i++) {
+ inputs[i].name = String::chr('a' + i);
+ if (from == 0) {
+ inputs[i].type = output_type;
} else {
- inputs[i].type=inputs[from-1].type;
+ inputs[i].type = inputs[from - 1].type;
}
}
- expression_dirty=true;
+ expression_dirty = true;
ports_changed_notify();
_change_notify();
return true;
@@ -70,66 +69,64 @@ bool VisualScriptExpression::_set(const StringName& p_name, const Variant& p_val
if (String(p_name).begins_with("input/")) {
- int idx=String(p_name).get_slice("/",1).to_int();
- ERR_FAIL_INDEX_V(idx,inputs.size(),false);
+ int idx = String(p_name).get_slice("/", 1).to_int();
+ ERR_FAIL_INDEX_V(idx, inputs.size(), false);
- String what=String(p_name).get_slice("/",2);
+ String what = String(p_name).get_slice("/", 2);
- if (what=="type") {
+ if (what == "type") {
- inputs[idx].type=Variant::Type(int(p_value));
- } else if (what=="name") {
+ inputs[idx].type = Variant::Type(int(p_value));
+ } else if (what == "name") {
- inputs[idx].name=p_value;
+ inputs[idx].name = p_value;
} else {
return false;
}
- expression_dirty=true;
+ expression_dirty = true;
ports_changed_notify();
return true;
}
-
return false;
-
}
-bool VisualScriptExpression::_get(const StringName& p_name,Variant &r_ret) const {
+bool VisualScriptExpression::_get(const StringName &p_name, Variant &r_ret) const {
- if (String(p_name)=="expression") {
- r_ret=expression;
+ if (String(p_name) == "expression") {
+ r_ret = expression;
return true;
}
- if (String(p_name)=="out_type") {
- r_ret=output_type;
+ if (String(p_name) == "out_type") {
+ r_ret = output_type;
return true;
}
- if (String(p_name)=="sequenced") {
- r_ret=sequenced;
+ if (String(p_name) == "sequenced") {
+ r_ret = sequenced;
return true;
}
- if (String(p_name)=="input_count") {
- r_ret=inputs.size();
+ if (String(p_name) == "input_count") {
+ r_ret = inputs.size();
return true;
}
if (String(p_name).begins_with("input/")) {
- int idx=String(p_name).get_slice("/",1).to_int();
- ERR_FAIL_INDEX_V(idx,inputs.size(),false);
+ int idx = String(p_name).get_slice("/", 1).to_int();
+ ERR_FAIL_INDEX_V(idx, inputs.size(), false);
- String what=String(p_name).get_slice("/",2);
+ String what = String(p_name).get_slice("/", 2);
- if (what=="type") {
+ if (what == "type") {
- r_ret=inputs[idx].type;
- } else if (what=="name") {
+ r_ret = inputs[idx].type;
+ } else if (what == "name") {
- r_ret=inputs[idx].name;
+ r_ret = inputs[idx].name;
} else {
return false;
}
@@ -137,310 +134,296 @@ bool VisualScriptExpression::_get(const StringName& p_name,Variant &r_ret) const
return true;
}
-
return false;
}
-void VisualScriptExpression::_get_property_list( List<PropertyInfo> *p_list) const {
-
+void VisualScriptExpression::_get_property_list(List<PropertyInfo> *p_list) const {
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- p_list->push_back(PropertyInfo(Variant::STRING,"expression",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR));
- p_list->push_back(PropertyInfo(Variant::INT,"out_type",PROPERTY_HINT_ENUM,argt));
- p_list->push_back(PropertyInfo(Variant::INT,"input_count",PROPERTY_HINT_RANGE,"0,64,1"));
- p_list->push_back(PropertyInfo(Variant::BOOL,"sequenced"));
+ p_list->push_back(PropertyInfo(Variant::STRING, "expression", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR));
+ p_list->push_back(PropertyInfo(Variant::INT, "out_type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::INT, "input_count", PROPERTY_HINT_RANGE, "0,64,1"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, "sequenced"));
- for(int i=0;i<inputs.size();i++) {
+ for (int i = 0; i < inputs.size(); i++) {
- p_list->push_back(PropertyInfo(Variant::INT,"input/"+itos(i)+"/type",PROPERTY_HINT_ENUM,argt));
- p_list->push_back(PropertyInfo(Variant::STRING,"input/"+itos(i)+"/name"));
+ p_list->push_back(PropertyInfo(Variant::INT, "input/" + itos(i) + "/type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::STRING, "input/" + itos(i) + "/name"));
}
}
int VisualScriptExpression::get_output_sequence_port_count() const {
- return sequenced?1:0;
+ return sequenced ? 1 : 0;
}
-bool VisualScriptExpression::has_input_sequence_port() const{
+bool VisualScriptExpression::has_input_sequence_port() const {
return sequenced;
}
-
-String VisualScriptExpression::get_output_sequence_port_text(int p_port) const{
+String VisualScriptExpression::get_output_sequence_port_text(int p_port) const {
return String();
}
-
-int VisualScriptExpression::get_input_value_port_count() const{
+int VisualScriptExpression::get_input_value_port_count() const {
return inputs.size();
-
}
-int VisualScriptExpression::get_output_value_port_count() const{
+int VisualScriptExpression::get_output_value_port_count() const {
return 1;
}
+PropertyInfo VisualScriptExpression::get_input_value_port_info(int p_idx) const {
-PropertyInfo VisualScriptExpression::get_input_value_port_info(int p_idx) const{
-
- return PropertyInfo(inputs[p_idx].type,inputs[p_idx].name);
+ return PropertyInfo(inputs[p_idx].type, inputs[p_idx].name);
}
-PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptExpression::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(output_type,"result");
+ return PropertyInfo(output_type, "result");
}
-String VisualScriptExpression::get_caption() const{
+String VisualScriptExpression::get_caption() const {
return "Expression";
}
-String VisualScriptExpression::get_text() const{
+String VisualScriptExpression::get_text() const {
return expression;
}
-
-Error VisualScriptExpression::_get_token(Token& r_token) {
+Error VisualScriptExpression::_get_token(Token &r_token) {
while (true) {
-#define GET_CHAR() (str_ofs>=expression.length()?0:expression[str_ofs++])
+#define GET_CHAR() (str_ofs >= expression.length() ? 0 : expression[str_ofs++])
CharType cchar = GET_CHAR();
- if (cchar==0) {
- r_token.type=TK_EOF;
+ if (cchar == 0) {
+ r_token.type = TK_EOF;
return OK;
}
-
- switch(cchar) {
+ switch (cchar) {
case 0: {
- r_token.type=TK_EOF;
+ r_token.type = TK_EOF;
return OK;
} break;
case '{': {
- r_token.type=TK_CURLY_BRACKET_OPEN;
+ r_token.type = TK_CURLY_BRACKET_OPEN;
return OK;
};
case '}': {
- r_token.type=TK_CURLY_BRACKET_CLOSE;
+ r_token.type = TK_CURLY_BRACKET_CLOSE;
return OK;
};
case '[': {
- r_token.type=TK_BRACKET_OPEN;
+ r_token.type = TK_BRACKET_OPEN;
return OK;
};
case ']': {
- r_token.type=TK_BRACKET_CLOSE;
+ r_token.type = TK_BRACKET_CLOSE;
return OK;
};
case '(': {
- r_token.type=TK_PARENTHESIS_OPEN;
+ r_token.type = TK_PARENTHESIS_OPEN;
return OK;
};
case ')': {
- r_token.type=TK_PARENTHESIS_CLOSE;
+ r_token.type = TK_PARENTHESIS_CLOSE;
return OK;
};
case ',': {
- r_token.type=TK_COMMA;
+ r_token.type = TK_COMMA;
return OK;
};
case ':': {
- r_token.type=TK_COLON;
+ r_token.type = TK_COLON;
return OK;
};
case '.': {
- r_token.type=TK_PERIOD;
+ r_token.type = TK_PERIOD;
return OK;
};
case '=': {
- cchar=GET_CHAR();
- if (cchar=='=') {
- r_token.type=TK_OP_EQUAL;
+ cchar = GET_CHAR();
+ if (cchar == '=') {
+ r_token.type = TK_OP_EQUAL;
} else {
_set_error("Expected '='");
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
return OK;
};
case '!': {
- if (expression[str_ofs]=='=') {
- r_token.type=TK_OP_NOT_EQUAL;
+ if (expression[str_ofs] == '=') {
+ r_token.type = TK_OP_NOT_EQUAL;
str_ofs++;
} else {
- r_token.type=TK_OP_NOT;
+ r_token.type = TK_OP_NOT;
}
return OK;
};
case '>': {
- if (expression[str_ofs]=='=') {
- r_token.type=TK_OP_GREATER_EQUAL;
+ if (expression[str_ofs] == '=') {
+ r_token.type = TK_OP_GREATER_EQUAL;
str_ofs++;
- } else if (expression[str_ofs]=='>') {
- r_token.type=TK_OP_SHIFT_RIGHT;
+ } else if (expression[str_ofs] == '>') {
+ r_token.type = TK_OP_SHIFT_RIGHT;
str_ofs++;
} else {
- r_token.type=TK_OP_GREATER;
+ r_token.type = TK_OP_GREATER;
}
return OK;
};
case '<': {
- if (expression[str_ofs]=='=') {
- r_token.type=TK_OP_LESS_EQUAL;
+ if (expression[str_ofs] == '=') {
+ r_token.type = TK_OP_LESS_EQUAL;
str_ofs++;
- } else if (expression[str_ofs]=='<') {
- r_token.type=TK_OP_SHIFT_LEFT;
+ } else if (expression[str_ofs] == '<') {
+ r_token.type = TK_OP_SHIFT_LEFT;
str_ofs++;
} else {
- r_token.type=TK_OP_LESS;
+ r_token.type = TK_OP_LESS;
}
return OK;
};
case '+': {
- r_token.type=TK_OP_ADD;
+ r_token.type = TK_OP_ADD;
return OK;
};
case '-': {
- r_token.type=TK_OP_SUB;
+ r_token.type = TK_OP_SUB;
return OK;
};
case '/': {
- r_token.type=TK_OP_DIV;
+ r_token.type = TK_OP_DIV;
return OK;
};
case '*': {
- r_token.type=TK_OP_MUL;
+ r_token.type = TK_OP_MUL;
return OK;
};
case '%': {
- r_token.type=TK_OP_MOD;
+ r_token.type = TK_OP_MOD;
return OK;
};
case '&': {
- if (expression[str_ofs]=='&') {
- r_token.type=TK_OP_AND;
+ if (expression[str_ofs] == '&') {
+ r_token.type = TK_OP_AND;
str_ofs++;
} else {
- r_token.type=TK_OP_BIT_AND;
+ r_token.type = TK_OP_BIT_AND;
}
return OK;
};
case '|': {
- if (expression[str_ofs]=='|') {
- r_token.type=TK_OP_OR;
+ if (expression[str_ofs] == '|') {
+ r_token.type = TK_OP_OR;
str_ofs++;
} else {
- r_token.type=TK_OP_BIT_OR;
+ r_token.type = TK_OP_BIT_OR;
}
return OK;
};
case '^': {
- r_token.type=TK_OP_BIT_XOR;
+ r_token.type = TK_OP_BIT_XOR;
return OK;
};
case '~': {
- r_token.type=TK_OP_BIT_INVERT;
+ r_token.type = TK_OP_BIT_INVERT;
return OK;
};
case '"': {
-
String str;
- while(true) {
+ while (true) {
- CharType ch=GET_CHAR();
+ CharType ch = GET_CHAR();
- if (ch==0) {
+ if (ch == 0) {
_set_error("Unterminated String");
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
- } else if (ch=='"') {
+ } else if (ch == '"') {
break;
- } else if (ch=='\\') {
+ } else if (ch == '\\') {
//escaped characters...
CharType next = GET_CHAR();
- if (next==0) {
+ if (next == 0) {
_set_error("Unterminated String");
- r_token.type=TK_ERROR;
- return ERR_PARSE_ERROR;
+ r_token.type = TK_ERROR;
+ return ERR_PARSE_ERROR;
}
- CharType res=0;
+ CharType res = 0;
- switch(next) {
+ switch (next) {
- case 'b': res=8; break;
- case 't': res=9; break;
- case 'n': res=10; break;
- case 'f': res=12; break;
- case 'r': res=13; break;
+ case 'b': res = 8; break;
+ case 't': res = 9; break;
+ case 'n': res = 10; break;
+ case 'f': res = 12; break;
+ case 'r': res = 13; break;
case 'u': {
//hexnumbarh - oct is deprecated
-
- for(int j=0;j<4;j++) {
+ for (int j = 0; j < 4; j++) {
CharType c = GET_CHAR();
- if (c==0) {
+ if (c == 0) {
_set_error("Unterminated String");
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
- if (!((c>='0' && c<='9') || (c>='a' && c<='f') || (c>='A' && c<='F'))) {
+ if (!((c >= '0' && c <= '9') || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F'))) {
_set_error("Malformed hex constant in string");
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
CharType v;
- if (c>='0' && c<='9') {
- v=c-'0';
- } else if (c>='a' && c<='f') {
- v=c-'a';
- v+=10;
- } else if (c>='A' && c<='F') {
- v=c-'A';
- v+=10;
+ if (c >= '0' && c <= '9') {
+ v = c - '0';
+ } else if (c >= 'a' && c <= 'f') {
+ v = c - 'a';
+ v += 10;
+ } else if (c >= 'A' && c <= 'F') {
+ v = c - 'A';
+ v += 10;
} else {
ERR_PRINT("BUG");
- v=0;
+ v = 0;
}
- res<<=4;
- res|=v;
-
-
+ res <<= 4;
+ res |= v;
}
-
-
} break;
//case '\"': res='\"'; break;
//case '\\': res='\\'; break;
@@ -452,408 +435,397 @@ Error VisualScriptExpression::_get_token(Token& r_token) {
} break;
}
- str+=res;
+ str += res;
} else {
- str+=ch;
+ str += ch;
}
}
- r_token.type=TK_CONSTANT;
- r_token.value=str;
+ r_token.type = TK_CONSTANT;
+ r_token.value = str;
return OK;
} break;
default: {
- if (cchar<=32) {
+ if (cchar <= 32) {
break;
}
- if (cchar=='-' || (cchar>='0' && cchar<='9')) {
+ if (cchar == '-' || (cchar >= '0' && cchar <= '9')) {
//a number
-
String num;
#define READING_SIGN 0
#define READING_INT 1
#define READING_DEC 2
#define READING_EXP 3
#define READING_DONE 4
- int reading=READING_INT;
-
- if (cchar=='-') {
- num+='-';
- cchar=GET_CHAR();
+ int reading = READING_INT;
+ if (cchar == '-') {
+ num += '-';
+ cchar = GET_CHAR();
}
-
-
CharType c = cchar;
- bool exp_sign=false;
- bool exp_beg=false;
- bool is_float=false;
+ bool exp_sign = false;
+ bool exp_beg = false;
+ bool is_float = false;
- while(true) {
+ while (true) {
- switch(reading) {
+ switch (reading) {
case READING_INT: {
- if (c>='0' && c<='9') {
+ if (c >= '0' && c <= '9') {
//pass
- } else if (c=='.') {
- reading=READING_DEC;
- is_float=true;
- } else if (c=='e') {
- reading=READING_EXP;
+ } else if (c == '.') {
+ reading = READING_DEC;
+ is_float = true;
+ } else if (c == 'e') {
+ reading = READING_EXP;
} else {
- reading=READING_DONE;
+ reading = READING_DONE;
}
- } break;
+ } break;
case READING_DEC: {
- if (c>='0' && c<='9') {
+ if (c >= '0' && c <= '9') {
- } else if (c=='e') {
- reading=READING_EXP;
+ } else if (c == 'e') {
+ reading = READING_EXP;
} else {
- reading=READING_DONE;
+ reading = READING_DONE;
}
- } break;
+ } break;
case READING_EXP: {
- if (c>='0' && c<='9') {
- exp_beg=true;
+ if (c >= '0' && c <= '9') {
+ exp_beg = true;
- } else if ((c=='-' || c=='+') && !exp_sign && !exp_beg) {
- if (c=='-')
- is_float=true;
- exp_sign=true;
+ } else if ((c == '-' || c == '+') && !exp_sign && !exp_beg) {
+ if (c == '-')
+ is_float = true;
+ exp_sign = true;
} else {
- reading=READING_DONE;
+ reading = READING_DONE;
}
- } break;
+ } break;
}
- if (reading==READING_DONE)
+ if (reading == READING_DONE)
break;
- num+=String::chr(c);
+ num += String::chr(c);
c = GET_CHAR();
-
-
}
str_ofs--;
- r_token.type=TK_CONSTANT;
+ r_token.type = TK_CONSTANT;
if (is_float)
- r_token.value=num.to_double();
+ r_token.value = num.to_double();
else
- r_token.value=num.to_int();
+ r_token.value = num.to_int();
return OK;
- } else if ((cchar>='A' && cchar<='Z') || (cchar>='a' && cchar<='z') || cchar=='_') {
+ } else if ((cchar >= 'A' && cchar <= 'Z') || (cchar >= 'a' && cchar <= 'z') || cchar == '_') {
String id;
- bool first=true;
+ bool first = true;
- while((cchar>='A' && cchar<='Z') || (cchar>='a' && cchar<='z') || cchar=='_' || (!first && cchar>='0' && cchar<='9')) {
+ while ((cchar >= 'A' && cchar <= 'Z') || (cchar >= 'a' && cchar <= 'z') || cchar == '_' || (!first && cchar >= '0' && cchar <= '9')) {
- id+=String::chr(cchar);
- cchar=GET_CHAR();
- first=false;
+ id += String::chr(cchar);
+ cchar = GET_CHAR();
+ first = false;
}
str_ofs--; //go back one
- if (id=="in") {
- r_token.type=TK_OP_IN;
- } else if (id=="null") {
- r_token.type=TK_CONSTANT;
- r_token.value=Variant();
- } else if (id=="true") {
- r_token.type=TK_CONSTANT;
- r_token.value=true;
- } else if (id=="false") {
- r_token.type=TK_CONSTANT;
- r_token.value=false;
- } else if (id=="PI") {
- r_token.type=TK_CONSTANT;
- r_token.value=Math_PI;
+ if (id == "in") {
+ r_token.type = TK_OP_IN;
+ } else if (id == "null") {
+ r_token.type = TK_CONSTANT;
+ r_token.value = Variant();
+ } else if (id == "true") {
+ r_token.type = TK_CONSTANT;
+ r_token.value = true;
+ } else if (id == "false") {
+ r_token.type = TK_CONSTANT;
+ r_token.value = false;
+ } else if (id == "PI") {
+ r_token.type = TK_CONSTANT;
+ r_token.value = Math_PI;
} else if (id == "INF") {
r_token.type = TK_CONSTANT;
r_token.value = Math_INF;
} else if (id == "NAN") {
r_token.type = TK_CONSTANT;
r_token.value = Math_NAN;
- } else if (id=="not") {
- r_token.type=TK_OP_NOT;
- } else if (id=="or") {
- r_token.type=TK_OP_OR;
- } else if (id=="and") {
- r_token.type=TK_OP_AND;
- } else if (id=="self") {
- r_token.type=TK_SELF;
+ } else if (id == "not") {
+ r_token.type = TK_OP_NOT;
+ } else if (id == "or") {
+ r_token.type = TK_OP_OR;
+ } else if (id == "and") {
+ r_token.type = TK_OP_AND;
+ } else if (id == "self") {
+ r_token.type = TK_SELF;
} else {
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- if (id==Variant::get_type_name(Variant::Type(i))) {
- r_token.type=TK_BASIC_TYPE;
- r_token.value=i;
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ if (id == Variant::get_type_name(Variant::Type(i))) {
+ r_token.type = TK_BASIC_TYPE;
+ r_token.value = i;
return OK;
break;
}
}
VisualScriptBuiltinFunc::BuiltinFunc bifunc = VisualScriptBuiltinFunc::find_function(id);
- if (bifunc!=VisualScriptBuiltinFunc::FUNC_MAX) {
- r_token.type=TK_BUILTIN_FUNC;
- r_token.value=bifunc;
+ if (bifunc != VisualScriptBuiltinFunc::FUNC_MAX) {
+ r_token.type = TK_BUILTIN_FUNC;
+ r_token.value = bifunc;
return OK;
}
- r_token.type=TK_IDENTIFIER;
- r_token.value=id;
+ r_token.type = TK_IDENTIFIER;
+ r_token.value = id;
}
return OK;
} else {
_set_error("Unexpected character.");
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
}
}
}
- r_token.type=TK_ERROR;
+ r_token.type = TK_ERROR;
return ERR_PARSE_ERROR;
}
-const char* VisualScriptExpression::token_name[TK_MAX]={
-"CURLY BRACKET OPEN",
-"CURLY BRACKET CLOSE",
-"BRACKET OPEN",
-"BRACKET CLOSE",
-"PARENTHESIS OPEN",
-"PARENTHESIS CLOSE",
-"IDENTIFIER",
-"BUILTIN FUNC",
-"SELF",
-"CONSTANT",
-"BASIC TYPE",
-"COLON",
-"COMMA",
-"PERIOD",
-"OP IN",
-"OP EQUAL",
-"OP NOT EQUAL",
-"OP LESS",
-"OP LESS EQUAL",
-"OP GREATER",
-"OP GREATER EQUAL",
-"OP AND",
-"OP OR",
-"OP NOT",
-"OP ADD",
-"OP SUB",
-"OP MUL",
-"OP DIV",
-"OP MOD",
-"OP SHIFT LEFT",
-"OP SHIFT RIGHT",
-"OP BIT AND",
-"OP BIT OR",
-"OP BIT XOR",
-"OP BIT INVERT",
-"EOF",
-"ERROR"
+const char *VisualScriptExpression::token_name[TK_MAX] = {
+ "CURLY BRACKET OPEN",
+ "CURLY BRACKET CLOSE",
+ "BRACKET OPEN",
+ "BRACKET CLOSE",
+ "PARENTHESIS OPEN",
+ "PARENTHESIS CLOSE",
+ "IDENTIFIER",
+ "BUILTIN FUNC",
+ "SELF",
+ "CONSTANT",
+ "BASIC TYPE",
+ "COLON",
+ "COMMA",
+ "PERIOD",
+ "OP IN",
+ "OP EQUAL",
+ "OP NOT EQUAL",
+ "OP LESS",
+ "OP LESS EQUAL",
+ "OP GREATER",
+ "OP GREATER EQUAL",
+ "OP AND",
+ "OP OR",
+ "OP NOT",
+ "OP ADD",
+ "OP SUB",
+ "OP MUL",
+ "OP DIV",
+ "OP MOD",
+ "OP SHIFT LEFT",
+ "OP SHIFT RIGHT",
+ "OP BIT AND",
+ "OP BIT OR",
+ "OP BIT XOR",
+ "OP BIT INVERT",
+ "EOF",
+ "ERROR"
};
-VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
-
+VisualScriptExpression::ENode *VisualScriptExpression::_parse_expression() {
Vector<Expression> expression;
- while(true) {
+ while (true) {
//keep appending stuff to expression
- ENode*expr=NULL;
+ ENode *expr = NULL;
Token tk;
_get_token(tk);
if (error_set)
return NULL;
-
-
- switch(tk.type) {
+ switch (tk.type) {
case TK_CURLY_BRACKET_OPEN: {
//a dictionary
DictionaryNode *dn = alloc_node<DictionaryNode>();
+ while (true) {
- while(true) {
-
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_CURLY_BRACKET_CLOSE) {
+ if (tk.type == TK_CURLY_BRACKET_CLOSE) {
break;
}
- str_ofs=cofs; //revert
+ str_ofs = cofs; //revert
//parse an expression
- ENode* expr=_parse_expression();
+ ENode *expr = _parse_expression();
if (!expr)
return NULL;
dn->dict.push_back(expr);
_get_token(tk);
- if (tk.type!=TK_COLON) {
+ if (tk.type != TK_COLON) {
_set_error("Expected ':'");
return NULL;
}
- expr=_parse_expression();
+ expr = _parse_expression();
if (!expr)
return NULL;
dn->dict.push_back(expr);
- cofs=str_ofs;
+ cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_COMMA) {
+ if (tk.type == TK_COMMA) {
//all good
- } else if (tk.type==TK_CURLY_BRACKET_CLOSE) {
- str_ofs=cofs;
+ } else if (tk.type == TK_CURLY_BRACKET_CLOSE) {
+ str_ofs = cofs;
} else {
_set_error("Expected ',' or '}'");
}
}
- expr=dn;
+ expr = dn;
} break;
case TK_BRACKET_OPEN: {
//an array
ArrayNode *an = alloc_node<ArrayNode>();
+ while (true) {
- while(true) {
-
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_BRACKET_CLOSE) {
+ if (tk.type == TK_BRACKET_CLOSE) {
break;
}
- str_ofs=cofs; //revert
+ str_ofs = cofs; //revert
//parse an expression
- ENode* expr=_parse_expression();
+ ENode *expr = _parse_expression();
if (!expr)
return NULL;
an->array.push_back(expr);
- cofs=str_ofs;
+ cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_COMMA) {
+ if (tk.type == TK_COMMA) {
//all good
- } else if (tk.type==TK_BRACKET_CLOSE) {
- str_ofs=cofs;
+ } else if (tk.type == TK_BRACKET_CLOSE) {
+ str_ofs = cofs;
} else {
_set_error("Expected ',' or ']'");
}
}
- expr=an;
+ expr = an;
} break;
case TK_PARENTHESIS_OPEN: {
//a suexpression
- ENode* e=_parse_expression();
+ ENode *e = _parse_expression();
if (error_set)
return NULL;
_get_token(tk);
- if (tk.type!=TK_PARENTHESIS_CLOSE) {
+ if (tk.type != TK_PARENTHESIS_CLOSE) {
_set_error("Expected ')'");
return NULL;
}
- expr=e;
+ expr = e;
} break;
case TK_IDENTIFIER: {
String what = tk.value;
- int index=-1;
- for(int i=0;i<inputs.size();i++) {
- if (what==inputs[i].name) {
- index=i;
+ int index = -1;
+ for (int i = 0; i < inputs.size(); i++) {
+ if (what == inputs[i].name) {
+ index = i;
break;
}
}
- if (index!=-1) {
+ if (index != -1) {
InputNode *input = alloc_node<InputNode>();
- input->index=index;
- expr=input;
+ input->index = index;
+ expr = input;
} else {
- _set_error("Invalid input identifier '"+what+"'. For script variables, use self (locals are for inputs)."+what);
+ _set_error("Invalid input identifier '" + what + "'. For script variables, use self (locals are for inputs)." + what);
return NULL;
}
} break;
case TK_SELF: {
SelfNode *self = alloc_node<SelfNode>();
- expr=self;
+ expr = self;
} break;
case TK_CONSTANT: {
ConstantNode *constant = alloc_node<ConstantNode>();
- constant->value=tk.value;
- expr=constant;
+ constant->value = tk.value;
+ expr = constant;
} break;
case TK_BASIC_TYPE: {
//constructor..
Variant::Type bt = Variant::Type(int(tk.value));
_get_token(tk);
- if (tk.type!=TK_PARENTHESIS_OPEN) {
+ if (tk.type != TK_PARENTHESIS_OPEN) {
_set_error("Expected '('");
return NULL;
}
ConstructorNode *constructor = alloc_node<ConstructorNode>();
- constructor->data_type=bt;
+ constructor->data_type = bt;
- while(true) {
+ while (true) {
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_PARENTHESIS_CLOSE) {
+ if (tk.type == TK_PARENTHESIS_CLOSE) {
break;
}
- str_ofs=cofs; //revert
+ str_ofs = cofs; //revert
//parse an expression
- ENode* expr=_parse_expression();
+ ENode *expr = _parse_expression();
if (!expr)
return NULL;
constructor->arguments.push_back(expr);
- cofs=str_ofs;
+ cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_COMMA) {
+ if (tk.type == TK_COMMA) {
//all good
- } else if (tk.type==TK_PARENTHESIS_CLOSE) {
- str_ofs=cofs;
+ } else if (tk.type == TK_PARENTHESIS_CLOSE) {
+ str_ofs = cofs;
} else {
_set_error("Expected ',' or ')'");
}
}
- expr=constructor;
+ expr = constructor;
} break;
case TK_BUILTIN_FUNC: {
@@ -861,35 +833,35 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
Variant::Type bt = Variant::Type(int(tk.value));
_get_token(tk);
- if (tk.type!=TK_PARENTHESIS_OPEN) {
+ if (tk.type != TK_PARENTHESIS_OPEN) {
_set_error("Expected '('");
return NULL;
}
BuiltinFuncNode *bifunc = alloc_node<BuiltinFuncNode>();
- bifunc->func=VisualScriptBuiltinFunc::BuiltinFunc(int(tk.value));
+ bifunc->func = VisualScriptBuiltinFunc::BuiltinFunc(int(tk.value));
- while(true) {
+ while (true) {
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_PARENTHESIS_CLOSE) {
+ if (tk.type == TK_PARENTHESIS_CLOSE) {
break;
}
- str_ofs=cofs; //revert
+ str_ofs = cofs; //revert
//parse an expression
- ENode* expr=_parse_expression();
+ ENode *expr = _parse_expression();
if (!expr)
return NULL;
bifunc->arguments.push_back(expr);
- cofs=str_ofs;
+ cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_COMMA) {
+ if (tk.type == TK_COMMA) {
//all good
- } else if (tk.type==TK_PARENTHESIS_CLOSE) {
- str_ofs=cofs;
+ } else if (tk.type == TK_PARENTHESIS_CLOSE) {
+ str_ofs = cofs;
} else {
_set_error("Expected ',' or ')'");
}
@@ -897,25 +869,25 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
int expected_args = VisualScriptBuiltinFunc::get_func_argument_count(bifunc->func);
if (bifunc->arguments.size() != expected_args) {
- _set_error("Builtin func '"+VisualScriptBuiltinFunc::get_func_name(bifunc->func)+"' expects "+itos(expected_args)+" arguments.");
+ _set_error("Builtin func '" + VisualScriptBuiltinFunc::get_func_name(bifunc->func) + "' expects " + itos(expected_args) + " arguments.");
}
- expr=bifunc;
+ expr = bifunc;
} break;
case TK_OP_SUB: {
Expression e;
- e.is_op=true;
- e.op=Variant::OP_NEGATE;
+ e.is_op = true;
+ e.op = Variant::OP_NEGATE;
expression.push_back(e);
continue;
} break;
case TK_OP_NOT: {
Expression e;
- e.is_op=true;
- e.op=Variant::OP_NOT;
+ e.is_op = true;
+ e.op = Variant::OP_NOT;
expression.push_back(e);
continue;
} break;
@@ -924,100 +896,98 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
_set_error("Expected expression.");
return NULL;
} break;
-
}
//before going to operators, must check indexing!
- while(true) {
- int cofs2=str_ofs;
+ while (true) {
+ int cofs2 = str_ofs;
_get_token(tk);
if (error_set)
return NULL;
- bool done=false;
+ bool done = false;
- switch(tk.type) {
+ switch (tk.type) {
case TK_BRACKET_OPEN: {
//value indexing
IndexNode *index = alloc_node<IndexNode>();
- index->base=expr;
+ index->base = expr;
- ENode* what=_parse_expression();
+ ENode *what = _parse_expression();
if (!what)
return NULL;
- index->index=what;
+ index->index = what;
_get_token(tk);
- if (tk.type!=TK_BRACKET_CLOSE) {
+ if (tk.type != TK_BRACKET_CLOSE) {
_set_error("Expected ']' at end of index.");
return NULL;
}
- expr=index;
+ expr = index;
} break;
case TK_PERIOD: {
//named indexing or function call
_get_token(tk);
- if (tk.type!=TK_IDENTIFIER) {
+ if (tk.type != TK_IDENTIFIER) {
_set_error("Expected identifier after '.'");
return NULL;
}
- StringName identifier=tk.value;
+ StringName identifier = tk.value;
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_PARENTHESIS_OPEN) {
+ if (tk.type == TK_PARENTHESIS_OPEN) {
//function call
CallNode *func_call = alloc_node<CallNode>();
- func_call->method=identifier;
- func_call->base=expr;
+ func_call->method = identifier;
+ func_call->base = expr;
- while(true) {
+ while (true) {
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_PARENTHESIS_CLOSE) {
+ if (tk.type == TK_PARENTHESIS_CLOSE) {
break;
}
- str_ofs=cofs; //revert
+ str_ofs = cofs; //revert
//parse an expression
- ENode* expr=_parse_expression();
+ ENode *expr = _parse_expression();
if (!expr)
return NULL;
func_call->arguments.push_back(expr);
- cofs=str_ofs;
+ cofs = str_ofs;
_get_token(tk);
- if (tk.type==TK_COMMA) {
+ if (tk.type == TK_COMMA) {
//all good
- } else if (tk.type==TK_PARENTHESIS_CLOSE) {
- str_ofs=cofs;
+ } else if (tk.type == TK_PARENTHESIS_CLOSE) {
+ str_ofs = cofs;
} else {
_set_error("Expected ',' or ')'");
}
}
- expr=func_call;
+ expr = func_call;
} else {
//named indexing
- str_ofs=cofs;
+ str_ofs = cofs;
NamedIndexNode *index = alloc_node<NamedIndexNode>();
- index->base=expr;
- index->name=identifier;
- expr=index;
-
+ index->base = expr;
+ index->name = identifier;
+ expr = index;
}
} break;
default: {
- str_ofs=cofs2;
- done=true;
+ str_ofs = cofs2;
+ done = true;
} break;
}
@@ -1028,74 +998,68 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
//push expression
{
Expression e;
- e.is_op=false;
- e.node=expr;
+ e.is_op = false;
+ e.node = expr;
expression.push_back(e);
}
//ok finally look for an operator
-
- int cofs=str_ofs;
+ int cofs = str_ofs;
_get_token(tk);
if (error_set)
return NULL;
-
Variant::Operator op = Variant::OP_MAX;
- switch(tk.type) {
- case TK_OP_IN: op=Variant::OP_IN; break;
- case TK_OP_EQUAL: op=Variant::OP_EQUAL; break;
- case TK_OP_NOT_EQUAL: op=Variant::OP_NOT_EQUAL; break;
- case TK_OP_LESS: op=Variant::OP_LESS; break;
- case TK_OP_LESS_EQUAL: op=Variant::OP_LESS_EQUAL; break;
- case TK_OP_GREATER: op=Variant::OP_GREATER; break;
- case TK_OP_GREATER_EQUAL: op=Variant::OP_GREATER_EQUAL; break;
- case TK_OP_AND: op=Variant::OP_AND; break;
- case TK_OP_OR: op=Variant::OP_OR; break;
- case TK_OP_NOT: op=Variant::OP_NOT; break;
- case TK_OP_ADD: op=Variant::OP_ADD; break;
- case TK_OP_SUB: op=Variant::OP_SUBSTRACT; break;
- case TK_OP_MUL: op=Variant::OP_MULTIPLY; break;
- case TK_OP_DIV: op=Variant::OP_DIVIDE; break;
- case TK_OP_MOD: op=Variant::OP_MODULE; break;
- case TK_OP_SHIFT_LEFT: op=Variant::OP_SHIFT_LEFT; break;
- case TK_OP_SHIFT_RIGHT: op=Variant::OP_SHIFT_RIGHT; break;
- case TK_OP_BIT_AND: op=Variant::OP_BIT_AND; break;
- case TK_OP_BIT_OR: op=Variant::OP_BIT_OR; break;
- case TK_OP_BIT_XOR: op=Variant::OP_BIT_XOR; break;
- case TK_OP_BIT_INVERT: op=Variant::OP_BIT_NEGATE; break;
+ switch (tk.type) {
+ case TK_OP_IN: op = Variant::OP_IN; break;
+ case TK_OP_EQUAL: op = Variant::OP_EQUAL; break;
+ case TK_OP_NOT_EQUAL: op = Variant::OP_NOT_EQUAL; break;
+ case TK_OP_LESS: op = Variant::OP_LESS; break;
+ case TK_OP_LESS_EQUAL: op = Variant::OP_LESS_EQUAL; break;
+ case TK_OP_GREATER: op = Variant::OP_GREATER; break;
+ case TK_OP_GREATER_EQUAL: op = Variant::OP_GREATER_EQUAL; break;
+ case TK_OP_AND: op = Variant::OP_AND; break;
+ case TK_OP_OR: op = Variant::OP_OR; break;
+ case TK_OP_NOT: op = Variant::OP_NOT; break;
+ case TK_OP_ADD: op = Variant::OP_ADD; break;
+ case TK_OP_SUB: op = Variant::OP_SUBSTRACT; break;
+ case TK_OP_MUL: op = Variant::OP_MULTIPLY; break;
+ case TK_OP_DIV: op = Variant::OP_DIVIDE; break;
+ case TK_OP_MOD: op = Variant::OP_MODULE; break;
+ case TK_OP_SHIFT_LEFT: op = Variant::OP_SHIFT_LEFT; break;
+ case TK_OP_SHIFT_RIGHT: op = Variant::OP_SHIFT_RIGHT; break;
+ case TK_OP_BIT_AND: op = Variant::OP_BIT_AND; break;
+ case TK_OP_BIT_OR: op = Variant::OP_BIT_OR; break;
+ case TK_OP_BIT_XOR: op = Variant::OP_BIT_XOR; break;
+ case TK_OP_BIT_INVERT: op = Variant::OP_BIT_NEGATE; break;
default: {};
}
- if (op==Variant::OP_MAX) { //stop appending stuff
- str_ofs=cofs;
+ if (op == Variant::OP_MAX) { //stop appending stuff
+ str_ofs = cofs;
break;
}
//push operator and go on
{
Expression e;
- e.is_op=true;
- e.op=op;
+ e.is_op = true;
+ e.op = op;
expression.push_back(e);
}
}
-
/* Reduce the set set of expressions and place them in an operator tree, respecting precedence */
+ while (expression.size() > 1) {
- while(expression.size()>1) {
-
- int next_op=-1;
- int min_priority=0xFFFFF;
- bool is_unary=false;
-
- for(int i=0;i<expression.size();i++) {
-
+ int next_op = -1;
+ int min_priority = 0xFFFFF;
+ bool is_unary = false;
+ for (int i = 0; i < expression.size(); i++) {
if (!expression[i].is_op) {
@@ -1104,77 +1068,80 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
int priority;
- bool unary=false;
-
- switch(expression[i].op) {
-
+ bool unary = false;
- case Variant::OP_BIT_NEGATE: priority=0; unary=true; break;
- case Variant::OP_NEGATE: priority=1; unary=true; break;
+ switch (expression[i].op) {
- case Variant::OP_MULTIPLY: priority=2; break;
- case Variant::OP_DIVIDE: priority=2; break;
- case Variant::OP_MODULE: priority=2; break;
+ case Variant::OP_BIT_NEGATE:
+ priority = 0;
+ unary = true;
+ break;
+ case Variant::OP_NEGATE:
+ priority = 1;
+ unary = true;
+ break;
- case Variant::OP_ADD: priority=3; break;
- case Variant::OP_SUBSTRACT: priority=3; break;
+ case Variant::OP_MULTIPLY: priority = 2; break;
+ case Variant::OP_DIVIDE: priority = 2; break;
+ case Variant::OP_MODULE: priority = 2; break;
- case Variant::OP_SHIFT_LEFT: priority=4; break;
- case Variant::OP_SHIFT_RIGHT: priority=4; break;
+ case Variant::OP_ADD: priority = 3; break;
+ case Variant::OP_SUBSTRACT: priority = 3; break;
- case Variant::OP_BIT_AND: priority=5; break;
- case Variant::OP_BIT_XOR: priority=6; break;
- case Variant::OP_BIT_OR: priority=7; break;
+ case Variant::OP_SHIFT_LEFT: priority = 4; break;
+ case Variant::OP_SHIFT_RIGHT: priority = 4; break;
- case Variant::OP_LESS: priority=8; break;
- case Variant::OP_LESS_EQUAL: priority=8; break;
- case Variant::OP_GREATER: priority=8; break;
- case Variant::OP_GREATER_EQUAL: priority=8; break;
+ case Variant::OP_BIT_AND: priority = 5; break;
+ case Variant::OP_BIT_XOR: priority = 6; break;
+ case Variant::OP_BIT_OR: priority = 7; break;
- case Variant::OP_EQUAL: priority=8; break;
- case Variant::OP_NOT_EQUAL: priority=8; break;
+ case Variant::OP_LESS: priority = 8; break;
+ case Variant::OP_LESS_EQUAL: priority = 8; break;
+ case Variant::OP_GREATER: priority = 8; break;
+ case Variant::OP_GREATER_EQUAL: priority = 8; break;
- case Variant::OP_IN: priority=10; break;
+ case Variant::OP_EQUAL: priority = 8; break;
+ case Variant::OP_NOT_EQUAL: priority = 8; break;
- case Variant::OP_NOT: priority=11; unary=true; break;
- case Variant::OP_AND: priority=12; break;
- case Variant::OP_OR: priority=13; break;
+ case Variant::OP_IN: priority = 10; break;
+ case Variant::OP_NOT:
+ priority = 11;
+ unary = true;
+ break;
+ case Variant::OP_AND: priority = 12; break;
+ case Variant::OP_OR: priority = 13; break;
default: {
- _set_error("Parser bug, invalid operator in expression: "+itos(expression[i].op));
+ _set_error("Parser bug, invalid operator in expression: " + itos(expression[i].op));
return NULL;
}
-
}
- if (priority<min_priority) {
+ if (priority < min_priority) {
// < is used for left to right (default)
// <= is used for right to left
- next_op=i;
- min_priority=priority;
- is_unary=unary;
+ next_op = i;
+ min_priority = priority;
+ is_unary = unary;
}
-
}
- if (next_op==-1) {
-
+ if (next_op == -1) {
_set_error("Yet another parser bug....");
- ERR_FAIL_COND_V(next_op==-1,NULL);
+ ERR_FAIL_COND_V(next_op == -1, NULL);
}
-
// OK! create operator..
if (is_unary) {
- int expr_pos=next_op;
- while(expression[expr_pos].is_op) {
+ int expr_pos = next_op;
+ while (expression[expr_pos].is_op) {
expr_pos++;
- if (expr_pos==expression.size()) {
+ if (expr_pos == expression.size()) {
//can happen..
_set_error("Unexpected end of expression..");
return NULL;
@@ -1182,35 +1149,34 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
}
//consecutively do unary opeators
- for(int i=expr_pos-1;i>=next_op;i--) {
+ for (int i = expr_pos - 1; i >= next_op; i--) {
OperatorNode *op = alloc_node<OperatorNode>();
- op->op=expression[i].op;
- op->nodes[0]=expression[i+1].node;
- op->nodes[1]=NULL;
- expression[i].is_op=false;
- expression[i].node=op;
- expression.remove(i+1);
+ op->op = expression[i].op;
+ op->nodes[0] = expression[i + 1].node;
+ op->nodes[1] = NULL;
+ expression[i].is_op = false;
+ expression[i].node = op;
+ expression.remove(i + 1);
}
-
} else {
- if (next_op <1 || next_op>=(expression.size()-1)) {
+ if (next_op < 1 || next_op >= (expression.size() - 1)) {
_set_error("Parser bug..");
ERR_FAIL_V(NULL);
}
OperatorNode *op = alloc_node<OperatorNode>();
- op->op=expression[next_op].op;
+ op->op = expression[next_op].op;
- if (expression[next_op-1].is_op) {
+ if (expression[next_op - 1].is_op) {
_set_error("Parser bug..");
ERR_FAIL_V(NULL);
}
- if (expression[next_op+1].is_op) {
+ if (expression[next_op + 1].is_op) {
// this is not invalid and can really appear
// but it becomes invalid anyway because no binary op
// can be followed by an unary op in a valid combination,
@@ -1220,12 +1186,11 @@ VisualScriptExpression::ENode* VisualScriptExpression::_parse_expression() {
return NULL;
}
-
- op->nodes[0]=expression[next_op-1].node; //expression goes as left
- op->nodes[1]=expression[next_op+1].node; //next expression goes as right
+ op->nodes[0] = expression[next_op - 1].node; //expression goes as left
+ op->nodes[1] = expression[next_op + 1].node; //next expression goes as right
//replace all 3 nodes by this operator and make it an expression
- expression[next_op-1].node=op;
+ expression[next_op - 1].node = op;
expression.remove(next_op);
expression.remove(next_op);
}
@@ -1241,250 +1206,239 @@ bool VisualScriptExpression::_compile_expression() {
if (nodes) {
memdelete(nodes);
- nodes=NULL;
- root=NULL;
-
+ nodes = NULL;
+ root = NULL;
}
- error_str=String();
- error_set=false;
- str_ofs=0;
+ error_str = String();
+ error_set = false;
+ str_ofs = 0;
- root=_parse_expression();
+ root = _parse_expression();
if (error_set) {
- root=NULL;
+ root = NULL;
if (nodes) {
memdelete(nodes);
}
- nodes=NULL;
+ nodes = NULL;
return true;
}
- expression_dirty=false;
+ expression_dirty = false;
return false;
}
-
class VisualScriptNodeInstanceExpression : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
VisualScriptExpression *expression;
//virtual int get_working_memory_size() const { return 0; }
//execute by parsing the tree directly
- virtual bool _execute(const Variant** p_inputs,VisualScriptExpression::ENode *p_node,Variant& r_ret,String& r_error_str,Variant::CallError &ce) {
+ virtual bool _execute(const Variant **p_inputs, VisualScriptExpression::ENode *p_node, Variant &r_ret, String &r_error_str, Variant::CallError &ce) {
- switch(p_node->type) {
- case VisualScriptExpression::ENode::TYPE_INPUT: {
+ switch (p_node->type) {
+ case VisualScriptExpression::ENode::TYPE_INPUT: {
- const VisualScriptExpression::InputNode *in = static_cast<const VisualScriptExpression::InputNode*>(p_node);
- r_ret=*p_inputs[in->index];
+ const VisualScriptExpression::InputNode *in = static_cast<const VisualScriptExpression::InputNode *>(p_node);
+ r_ret = *p_inputs[in->index];
} break;
- case VisualScriptExpression::ENode::TYPE_CONSTANT: {
+ case VisualScriptExpression::ENode::TYPE_CONSTANT: {
- const VisualScriptExpression::ConstantNode *c = static_cast<const VisualScriptExpression::ConstantNode*>(p_node);
- r_ret=c->value;
+ const VisualScriptExpression::ConstantNode *c = static_cast<const VisualScriptExpression::ConstantNode *>(p_node);
+ r_ret = c->value;
} break;
- case VisualScriptExpression::ENode::TYPE_SELF: {
+ case VisualScriptExpression::ENode::TYPE_SELF: {
- r_ret=instance->get_owner_ptr();
+ r_ret = instance->get_owner_ptr();
} break;
- case VisualScriptExpression::ENode::TYPE_OPERATOR: {
+ case VisualScriptExpression::ENode::TYPE_OPERATOR: {
-
- const VisualScriptExpression::OperatorNode *op = static_cast<const VisualScriptExpression::OperatorNode*>(p_node);
+ const VisualScriptExpression::OperatorNode *op = static_cast<const VisualScriptExpression::OperatorNode *>(p_node);
Variant a;
- bool ret = _execute(p_inputs,op->nodes[0],a,r_error_str,ce);
+ bool ret = _execute(p_inputs, op->nodes[0], a, r_error_str, ce);
if (ret)
return true;
Variant b;
if (op->nodes[1]) {
- ret = _execute(p_inputs,op->nodes[1],b,r_error_str,ce);
+ ret = _execute(p_inputs, op->nodes[1], b, r_error_str, ce);
if (ret)
return true;
}
- bool valid=true;
- Variant::evaluate(op->op,a,b,r_ret,valid);
+ bool valid = true;
+ Variant::evaluate(op->op, a, b, r_ret, valid);
if (!valid) {
- r_error_str="Invalid operands to operator "+Variant::get_operator_name(op->op)+": "+Variant::get_type_name(a.get_type())+" and "+Variant::get_type_name(b.get_type())+".";
+ r_error_str = "Invalid operands to operator " + Variant::get_operator_name(op->op) + ": " + Variant::get_type_name(a.get_type()) + " and " + Variant::get_type_name(b.get_type()) + ".";
return true;
}
} break;
- case VisualScriptExpression::ENode::TYPE_INDEX: {
+ case VisualScriptExpression::ENode::TYPE_INDEX: {
- const VisualScriptExpression::IndexNode *index = static_cast<const VisualScriptExpression::IndexNode*>(p_node);
+ const VisualScriptExpression::IndexNode *index = static_cast<const VisualScriptExpression::IndexNode *>(p_node);
Variant base;
- bool ret = _execute(p_inputs,index->base,base,r_error_str,ce);
+ bool ret = _execute(p_inputs, index->base, base, r_error_str, ce);
if (ret)
return true;
Variant idx;
- ret = _execute(p_inputs,index->index,idx,r_error_str,ce);
+ ret = _execute(p_inputs, index->index, idx, r_error_str, ce);
if (ret)
return true;
bool valid;
- r_ret=base.get(idx,&valid);
+ r_ret = base.get(idx, &valid);
if (!valid) {
- r_error_str="Invalid index of type "+Variant::get_type_name(idx.get_type())+" for base of type "+Variant::get_type_name(base.get_type())+".";
+ r_error_str = "Invalid index of type " + Variant::get_type_name(idx.get_type()) + " for base of type " + Variant::get_type_name(base.get_type()) + ".";
return true;
}
-
-
} break;
- case VisualScriptExpression::ENode::TYPE_NAMED_INDEX: {
+ case VisualScriptExpression::ENode::TYPE_NAMED_INDEX: {
- const VisualScriptExpression::NamedIndexNode *index = static_cast<const VisualScriptExpression::NamedIndexNode*>(p_node);
+ const VisualScriptExpression::NamedIndexNode *index = static_cast<const VisualScriptExpression::NamedIndexNode *>(p_node);
Variant base;
- bool ret = _execute(p_inputs,index->base,base,r_error_str,ce);
+ bool ret = _execute(p_inputs, index->base, base, r_error_str, ce);
if (ret)
return true;
bool valid;
- r_ret=base.get_named(index->name,&valid);
+ r_ret = base.get_named(index->name, &valid);
if (!valid) {
- r_error_str="Invalid index '"+String(index->name)+"' for base of type "+Variant::get_type_name(base.get_type())+".";
+ r_error_str = "Invalid index '" + String(index->name) + "' for base of type " + Variant::get_type_name(base.get_type()) + ".";
return true;
}
} break;
- case VisualScriptExpression::ENode::TYPE_ARRAY: {
- const VisualScriptExpression::ArrayNode *array = static_cast<const VisualScriptExpression::ArrayNode*>(p_node);
+ case VisualScriptExpression::ENode::TYPE_ARRAY: {
+ const VisualScriptExpression::ArrayNode *array = static_cast<const VisualScriptExpression::ArrayNode *>(p_node);
Array arr;
arr.resize(array->array.size());
- for (int i=0;i<array->array.size();i++) {
+ for (int i = 0; i < array->array.size(); i++) {
Variant value;
- bool ret = _execute(p_inputs,array->array[i],value,r_error_str,ce);
+ bool ret = _execute(p_inputs, array->array[i], value, r_error_str, ce);
if (ret)
return true;
- arr[i]=value;
+ arr[i] = value;
}
- r_ret=arr;
+ r_ret = arr;
} break;
- case VisualScriptExpression::ENode::TYPE_DICTIONARY: {
- const VisualScriptExpression::DictionaryNode *dictionary = static_cast<const VisualScriptExpression::DictionaryNode*>(p_node);
+ case VisualScriptExpression::ENode::TYPE_DICTIONARY: {
+ const VisualScriptExpression::DictionaryNode *dictionary = static_cast<const VisualScriptExpression::DictionaryNode *>(p_node);
Dictionary d;
- for (int i=0;i<dictionary->dict.size();i+=2) {
+ for (int i = 0; i < dictionary->dict.size(); i += 2) {
Variant key;
- bool ret = _execute(p_inputs,dictionary->dict[i+0],key,r_error_str,ce);
+ bool ret = _execute(p_inputs, dictionary->dict[i + 0], key, r_error_str, ce);
if (ret)
return true;
Variant value;
- ret = _execute(p_inputs,dictionary->dict[i+1],value,r_error_str,ce);
+ ret = _execute(p_inputs, dictionary->dict[i + 1], value, r_error_str, ce);
if (ret)
return true;
- d[key]=value;
+ d[key] = value;
}
- r_ret=d;
+ r_ret = d;
} break;
- case VisualScriptExpression::ENode::TYPE_CONSTRUCTOR: {
+ case VisualScriptExpression::ENode::TYPE_CONSTRUCTOR: {
- const VisualScriptExpression::ConstructorNode *constructor = static_cast<const VisualScriptExpression::ConstructorNode*>(p_node);
+ const VisualScriptExpression::ConstructorNode *constructor = static_cast<const VisualScriptExpression::ConstructorNode *>(p_node);
Vector<Variant> arr;
- Vector<const Variant*> argp;
+ Vector<const Variant *> argp;
arr.resize(constructor->arguments.size());
argp.resize(constructor->arguments.size());
- for (int i=0;i<constructor->arguments.size();i++) {
+ for (int i = 0; i < constructor->arguments.size(); i++) {
Variant value;
- bool ret = _execute(p_inputs,constructor->arguments[i],value,r_error_str,ce);
+ bool ret = _execute(p_inputs, constructor->arguments[i], value, r_error_str, ce);
if (ret)
return true;
- arr[i]=value;
- argp[i]=&arr[i];
+ arr[i] = value;
+ argp[i] = &arr[i];
}
+ r_ret = Variant::construct(constructor->data_type, argp.ptr(), argp.size(), ce);
- r_ret=Variant::construct(constructor->data_type,argp.ptr(),argp.size(),ce);
-
- if (ce.error!=Variant::CallError::CALL_OK) {
- r_error_str="Invalid arguments to construct '"+Variant::get_type_name(constructor->data_type)+"'.";
+ if (ce.error != Variant::CallError::CALL_OK) {
+ r_error_str = "Invalid arguments to construct '" + Variant::get_type_name(constructor->data_type) + "'.";
return true;
}
-
} break;
- case VisualScriptExpression::ENode::TYPE_BUILTIN_FUNC: {
+ case VisualScriptExpression::ENode::TYPE_BUILTIN_FUNC: {
- const VisualScriptExpression::BuiltinFuncNode *bifunc = static_cast<const VisualScriptExpression::BuiltinFuncNode*>(p_node);
+ const VisualScriptExpression::BuiltinFuncNode *bifunc = static_cast<const VisualScriptExpression::BuiltinFuncNode *>(p_node);
Vector<Variant> arr;
- Vector<const Variant*> argp;
+ Vector<const Variant *> argp;
arr.resize(bifunc->arguments.size());
argp.resize(bifunc->arguments.size());
- for (int i=0;i<bifunc->arguments.size();i++) {
+ for (int i = 0; i < bifunc->arguments.size(); i++) {
Variant value;
- bool ret = _execute(p_inputs,bifunc->arguments[i],value,r_error_str,ce);
+ bool ret = _execute(p_inputs, bifunc->arguments[i], value, r_error_str, ce);
if (ret)
return true;
- arr[i]=value;
- argp[i]=&arr[i];
+ arr[i] = value;
+ argp[i] = &arr[i];
}
+ VisualScriptBuiltinFunc::exec_func(bifunc->func, argp.ptr(), &r_ret, ce, r_error_str);
- VisualScriptBuiltinFunc::exec_func(bifunc->func,argp.ptr(),&r_ret,ce,r_error_str);
-
- if (ce.error!=Variant::CallError::CALL_OK) {
- r_error_str="Builtin Call Failed. "+r_error_str;
+ if (ce.error != Variant::CallError::CALL_OK) {
+ r_error_str = "Builtin Call Failed. " + r_error_str;
return true;
}
} break;
- case VisualScriptExpression::ENode::TYPE_CALL: {
-
- const VisualScriptExpression::CallNode *call = static_cast<const VisualScriptExpression::CallNode*>(p_node);
+ case VisualScriptExpression::ENode::TYPE_CALL: {
+ const VisualScriptExpression::CallNode *call = static_cast<const VisualScriptExpression::CallNode *>(p_node);
Variant base;
- bool ret = _execute(p_inputs,call->base,base,r_error_str,ce);
+ bool ret = _execute(p_inputs, call->base, base, r_error_str, ce);
if (ret)
return true;
Vector<Variant> arr;
- Vector<const Variant*> argp;
+ Vector<const Variant *> argp;
arr.resize(call->arguments.size());
argp.resize(call->arguments.size());
- for (int i=0;i<call->arguments.size();i++) {
+ for (int i = 0; i < call->arguments.size(); i++) {
Variant value;
- bool ret = _execute(p_inputs,call->arguments[i],value,r_error_str,ce);
+ bool ret = _execute(p_inputs, call->arguments[i], value, r_error_str, ce);
if (ret)
return true;
- arr[i]=value;
- argp[i]=&arr[i];
+ arr[i] = value;
+ argp[i] = &arr[i];
}
+ r_ret = base.call(call->method, argp.ptr(), argp.size(), ce);
- r_ret=base.call(call->method,argp.ptr(),argp.size(),ce);
-
- if (ce.error!=Variant::CallError::CALL_OK) {
- r_error_str="On call to '"+String(call->method)+"':";
+ if (ce.error != Variant::CallError::CALL_OK) {
+ r_error_str = "On call to '" + String(call->method) + "':";
return true;
}
@@ -1493,53 +1447,47 @@ public:
return false;
}
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (!expression->root || expression->error_set) {
- r_error_str=expression->error_str;
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = expression->error_str;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
-
- bool error = _execute(p_inputs,expression->root,*p_outputs[0],r_error_str,r_error);
- if (error && r_error.error==Variant::CallError::CALL_OK) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ bool error = _execute(p_inputs, expression->root, *p_outputs[0], r_error_str, r_error);
+ if (error && r_error.error == Variant::CallError::CALL_OK) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
}
#ifdef DEBUG_ENABLED
- if (!error && expression->output_type!=Variant::NIL && !Variant::can_convert_strict(p_outputs[0]->get_type(),expression->output_type)) {
-
- r_error_str+="Can't convert expression result from "+Variant::get_type_name(p_outputs[0]->get_type())+" to "+Variant::get_type_name(expression->output_type)+".";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ if (!error && expression->output_type != Variant::NIL && !Variant::can_convert_strict(p_outputs[0]->get_type(), expression->output_type)) {
+ r_error_str += "Can't convert expression result from " + Variant::get_type_name(p_outputs[0]->get_type()) + " to " + Variant::get_type_name(expression->output_type) + ".";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
}
#endif
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptExpression::instance(VisualScriptInstance* p_instance){
+VisualScriptNodeInstance *VisualScriptExpression::instance(VisualScriptInstance *p_instance) {
_compile_expression();
- VisualScriptNodeInstanceExpression *instance = memnew( VisualScriptNodeInstanceExpression );
- instance->instance=p_instance;
- instance->expression=this;
+ VisualScriptNodeInstanceExpression *instance = memnew(VisualScriptNodeInstanceExpression);
+ instance->instance = p_instance;
+ instance->expression = this;
return instance;
}
-
-VisualScriptExpression::VisualScriptExpression()
-{
- output_type=Variant::NIL;
- expression_dirty=true;
- error_set=true;
- root=NULL;
- nodes=NULL;
- sequenced=false;
+VisualScriptExpression::VisualScriptExpression() {
+ output_type = Variant::NIL;
+ expression_dirty = true;
+ error_set = true;
+ root = NULL;
+ nodes = NULL;
+ sequenced = false;
}
VisualScriptExpression::~VisualScriptExpression() {
@@ -1549,9 +1497,7 @@ VisualScriptExpression::~VisualScriptExpression() {
}
}
-
void register_visual_script_expression_node() {
- VisualScriptLanguage::singleton->add_register_func("operators/expression",create_node_generic<VisualScriptExpression>);
-
+ VisualScriptLanguage::singleton->add_register_func("operators/expression", create_node_generic<VisualScriptExpression>);
}
diff --git a/modules/visual_script/visual_script_expression.h b/modules/visual_script/visual_script_expression.h
index 5bd960f60c..59a7d9fba0 100644
--- a/modules/visual_script/visual_script_expression.h
+++ b/modules/visual_script/visual_script_expression.h
@@ -34,15 +34,15 @@
class VisualScriptExpression : public VisualScriptNode {
- GDCLASS(VisualScriptExpression,VisualScriptNode)
-friend class VisualScriptNodeInstanceExpression;
+ GDCLASS(VisualScriptExpression, VisualScriptNode)
+ friend class VisualScriptNodeInstanceExpression;
struct Input {
Variant::Type type;
String name;
- Input() { type=Variant::NIL; }
+ Input() { type = Variant::NIL; }
};
Vector<Input> inputs;
@@ -97,28 +97,25 @@ friend class VisualScriptNodeInstanceExpression;
TK_MAX
};
- static const char* token_name[TK_MAX];
+ static const char *token_name[TK_MAX];
struct Token {
TokenType type;
Variant value;
};
-
- void _set_error(const String& p_err) {
+ void _set_error(const String &p_err) {
if (error_set)
return;
- error_str=p_err;
- error_set=true;
+ error_str = p_err;
+ error_set = true;
}
- Error _get_token(Token& r_token);
+ Error _get_token(Token &r_token);
String error_str;
bool error_set;
-
-
struct ENode {
enum Type {
@@ -139,8 +136,12 @@ friend class VisualScriptNodeInstanceExpression;
Type type;
- ENode() { next=NULL; }
- virtual ~ENode() { if (next) { memdelete(next); } }
+ ENode() { next = NULL; }
+ virtual ~ENode() {
+ if (next) {
+ memdelete(next);
+ }
+ }
};
struct Expression {
@@ -152,22 +153,21 @@ friend class VisualScriptNodeInstanceExpression;
};
};
- ENode* _parse_expression();
+ ENode *_parse_expression();
struct InputNode : public ENode {
int index;
InputNode() {
- type=TYPE_INPUT;
+ type = TYPE_INPUT;
}
};
-
struct ConstantNode : public ENode {
Variant value;
ConstantNode() {
- type=TYPE_CONSTANT;
+ type = TYPE_CONSTANT;
}
};
@@ -175,119 +175,104 @@ friend class VisualScriptNodeInstanceExpression;
Variant::Operator op;
- ENode* nodes[2];
+ ENode *nodes[2];
OperatorNode() {
- type=TYPE_OPERATOR;
+ type = TYPE_OPERATOR;
}
};
struct SelfNode : public ENode {
-
SelfNode() {
- type=TYPE_SELF;
+ type = TYPE_SELF;
}
};
struct IndexNode : public ENode {
- ENode*base;
- ENode*index;
+ ENode *base;
+ ENode *index;
IndexNode() {
- type=TYPE_INDEX;
+ type = TYPE_INDEX;
}
};
struct NamedIndexNode : public ENode {
- ENode*base;
+ ENode *base;
StringName name;
NamedIndexNode() {
- type=TYPE_NAMED_INDEX;
+ type = TYPE_NAMED_INDEX;
}
-
};
struct ConstructorNode : public ENode {
Variant::Type data_type;
- Vector<ENode*> arguments;
+ Vector<ENode *> arguments;
ConstructorNode() {
- type=TYPE_CONSTRUCTOR;
+ type = TYPE_CONSTRUCTOR;
}
};
struct CallNode : public ENode {
- ENode*base;
+ ENode *base;
StringName method;
- Vector<ENode*> arguments;
+ Vector<ENode *> arguments;
CallNode() {
- type=TYPE_CALL;
+ type = TYPE_CALL;
}
-
};
struct ArrayNode : public ENode {
- Vector<ENode*> array;
+ Vector<ENode *> array;
ArrayNode() {
- type=TYPE_ARRAY;
+ type = TYPE_ARRAY;
}
-
};
struct DictionaryNode : public ENode {
- Vector<ENode*> dict;
+ Vector<ENode *> dict;
DictionaryNode() {
- type=TYPE_DICTIONARY;
+ type = TYPE_DICTIONARY;
}
-
};
struct BuiltinFuncNode : public ENode {
VisualScriptBuiltinFunc::BuiltinFunc func;
- Vector<ENode*> arguments;
+ Vector<ENode *> arguments;
BuiltinFuncNode() {
- type=TYPE_BUILTIN_FUNC;
+ type = TYPE_BUILTIN_FUNC;
}
};
- template<class T>
- T* alloc_node() {
- T* node = memnew(T);
- node->next=nodes;
- nodes=node;
+ template <class T>
+ T *alloc_node() {
+ T *node = memnew(T);
+ node->next = nodes;
+ nodes = node;
return node;
}
ENode *root;
ENode *nodes;
-
-
-
-
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;
+ 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;
@@ -295,14 +280,12 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "operators"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptExpression();
~VisualScriptExpression();
};
-
void register_visual_script_expression_node();
-
#endif // VISUALSCRIPTEXPRESSION_H
diff --git a/modules/visual_script/visual_script_flow_control.cpp b/modules/visual_script/visual_script_flow_control.cpp
index 8aff96b70c..78847fb588 100644
--- a/modules/visual_script/visual_script_flow_control.cpp
+++ b/modules/visual_script/visual_script_flow_control.cpp
@@ -28,9 +28,8 @@
/*************************************************************************/
#include "visual_script_flow_control.h"
-#include "os/keyboard.h"
#include "global_config.h"
-
+#include "os/keyboard.h"
//////////////////////////////////////////
////////////////RETURN////////////////////
@@ -41,16 +40,16 @@ int VisualScriptReturn::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptReturn::has_input_sequence_port() const{
+bool VisualScriptReturn::has_input_sequence_port() const {
return true;
}
-int VisualScriptReturn::get_input_value_port_count() const{
+int VisualScriptReturn::get_input_value_port_count() const {
- return with_value?1:0;
+ return with_value ? 1 : 0;
}
-int VisualScriptReturn::get_output_value_port_count() const{
+int VisualScriptReturn::get_output_value_port_count() const {
return 0;
}
@@ -60,14 +59,14 @@ String VisualScriptReturn::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptReturn::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptReturn::get_input_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="result";
- pinfo.type=type;
+ pinfo.name = "result";
+ pinfo.type = type;
return pinfo;
}
-PropertyInfo VisualScriptReturn::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptReturn::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -83,23 +82,22 @@ String VisualScriptReturn::get_text() const {
void VisualScriptReturn::set_return_type(Variant::Type p_type) {
- if (type==p_type)
+ if (type == p_type)
return;
- type=p_type;
+ type = p_type;
ports_changed_notify();
-
}
-Variant::Type VisualScriptReturn::get_return_type() const{
+Variant::Type VisualScriptReturn::get_return_type() const {
return type;
}
void VisualScriptReturn::set_enable_return_value(bool p_enable) {
- if (with_value==p_enable)
+ if (with_value == p_enable)
return;
- with_value=p_enable;
+ with_value = p_enable;
ports_changed_notify();
}
@@ -110,24 +108,22 @@ bool VisualScriptReturn::is_return_value_enabled() const {
void VisualScriptReturn::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_return_type","type"),&VisualScriptReturn::set_return_type);
- ClassDB::bind_method(D_METHOD("get_return_type"),&VisualScriptReturn::get_return_type);
- ClassDB::bind_method(D_METHOD("set_enable_return_value","enable"),&VisualScriptReturn::set_enable_return_value);
- ClassDB::bind_method(D_METHOD("is_return_value_enabled"),&VisualScriptReturn::is_return_value_enabled);
+ ClassDB::bind_method(D_METHOD("set_return_type", "type"), &VisualScriptReturn::set_return_type);
+ ClassDB::bind_method(D_METHOD("get_return_type"), &VisualScriptReturn::get_return_type);
+ ClassDB::bind_method(D_METHOD("set_enable_return_value", "enable"), &VisualScriptReturn::set_enable_return_value);
+ ClassDB::bind_method(D_METHOD("is_return_value_enabled"), &VisualScriptReturn::is_return_value_enabled);
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY(PropertyInfo(Variant::BOOL,"return_value/enabled"),"set_enable_return_value","is_return_value_enabled");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"return_value/type",PROPERTY_HINT_ENUM,argt),"set_return_type","get_return_type");
-
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "return_value/enabled"), "set_enable_return_value", "is_return_value_enabled");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "return_value/type", PROPERTY_HINT_ENUM, argt), "set_return_type", "get_return_type");
}
class VisualScriptNodeInstanceReturn : public VisualScriptNodeInstance {
public:
-
VisualScriptReturn *node;
VisualScriptInstance *instance;
bool with_value;
@@ -136,7 +132,7 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (with_value) {
*p_working_mem = *p_inputs[0];
@@ -146,27 +142,25 @@ public:
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptReturn::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptReturn::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceReturn * instance = memnew(VisualScriptNodeInstanceReturn );
- instance->node=this;
- instance->instance=p_instance;
- instance->with_value=with_value;
+ VisualScriptNodeInstanceReturn *instance = memnew(VisualScriptNodeInstanceReturn);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->with_value = with_value;
return instance;
}
VisualScriptReturn::VisualScriptReturn() {
- with_value=false;
- type=Variant::NIL;
+ with_value = false;
+ type = Variant::NIL;
}
-template<bool with_value>
-static Ref<VisualScriptNode> create_return_node(const String& p_name) {
+template <bool with_value>
+static Ref<VisualScriptNode> create_return_node(const String &p_name) {
Ref<VisualScriptReturn> node;
node.instance();
@@ -174,8 +168,6 @@ static Ref<VisualScriptNode> create_return_node(const String& p_name) {
return node;
}
-
-
//////////////////////////////////////////
////////////////CONDITION/////////////////
//////////////////////////////////////////
@@ -185,38 +177,38 @@ int VisualScriptCondition::get_output_sequence_port_count() const {
return 3;
}
-bool VisualScriptCondition::has_input_sequence_port() const{
+bool VisualScriptCondition::has_input_sequence_port() const {
return true;
}
-int VisualScriptCondition::get_input_value_port_count() const{
+int VisualScriptCondition::get_input_value_port_count() const {
return 1;
}
-int VisualScriptCondition::get_output_value_port_count() const{
+int VisualScriptCondition::get_output_value_port_count() const {
return 0;
}
String VisualScriptCondition::get_output_sequence_port_text(int p_port) const {
- if (p_port==0)
+ if (p_port == 0)
return "true";
- else if (p_port==1)
+ else if (p_port == 1)
return "false";
else
return "done";
}
-PropertyInfo VisualScriptCondition::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptCondition::get_input_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="cond";
- pinfo.type=Variant::BOOL;
+ pinfo.name = "cond";
+ pinfo.type = Variant::BOOL;
return pinfo;
}
-PropertyInfo VisualScriptCondition::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptCondition::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -230,16 +222,11 @@ String VisualScriptCondition::get_text() const {
return "if (cond) is: ";
}
-
void VisualScriptCondition::_bind_methods() {
-
-
-
}
class VisualScriptNodeInstanceCondition : public VisualScriptNodeInstance {
public:
-
VisualScriptCondition *node;
VisualScriptInstance *instance;
@@ -247,33 +234,28 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_CONTINUE_SEQUENCE)
+ if (p_start_mode == START_MODE_CONTINUE_SEQUENCE)
return 2;
else if (p_inputs[0]->operator bool())
return 0 | STEP_FLAG_PUSH_STACK_BIT;
else
return 1 | STEP_FLAG_PUSH_STACK_BIT;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptCondition::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptCondition::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceCondition * instance = memnew(VisualScriptNodeInstanceCondition );
- instance->node=this;
- instance->instance=p_instance;
+ VisualScriptNodeInstanceCondition *instance = memnew(VisualScriptNodeInstanceCondition);
+ instance->node = this;
+ instance->instance = p_instance;
return instance;
}
VisualScriptCondition::VisualScriptCondition() {
-
}
-
-
//////////////////////////////////////////
////////////////WHILE/////////////////
//////////////////////////////////////////
@@ -283,36 +265,36 @@ int VisualScriptWhile::get_output_sequence_port_count() const {
return 2;
}
-bool VisualScriptWhile::has_input_sequence_port() const{
+bool VisualScriptWhile::has_input_sequence_port() const {
return true;
}
-int VisualScriptWhile::get_input_value_port_count() const{
+int VisualScriptWhile::get_input_value_port_count() const {
return 1;
}
-int VisualScriptWhile::get_output_value_port_count() const{
+int VisualScriptWhile::get_output_value_port_count() const {
return 0;
}
String VisualScriptWhile::get_output_sequence_port_text(int p_port) const {
- if (p_port==0)
+ if (p_port == 0)
return "repeat";
else
return "exit";
}
-PropertyInfo VisualScriptWhile::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptWhile::get_input_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="cond";
- pinfo.type=Variant::BOOL;
+ pinfo.name = "cond";
+ pinfo.type = Variant::BOOL;
return pinfo;
}
-PropertyInfo VisualScriptWhile::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptWhile::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
@@ -326,16 +308,11 @@ String VisualScriptWhile::get_text() const {
return "while (cond): ";
}
-
void VisualScriptWhile::_bind_methods() {
-
-
-
}
class VisualScriptNodeInstanceWhile : public VisualScriptNodeInstance {
public:
-
VisualScriptWhile *node;
VisualScriptInstance *instance;
@@ -343,32 +320,27 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
bool keep_going = p_inputs[0]->operator bool();
if (keep_going)
- return 0|STEP_FLAG_PUSH_STACK_BIT;
+ return 0 | STEP_FLAG_PUSH_STACK_BIT;
else
return 1;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptWhile::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptWhile::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceWhile * instance = memnew(VisualScriptNodeInstanceWhile );
- instance->node=this;
- instance->instance=p_instance;
+ VisualScriptNodeInstanceWhile *instance = memnew(VisualScriptNodeInstanceWhile);
+ instance->node = this;
+ instance->instance = p_instance;
return instance;
}
VisualScriptWhile::VisualScriptWhile() {
-
}
-
-
//////////////////////////////////////////
////////////////ITERATOR/////////////////
//////////////////////////////////////////
@@ -378,39 +350,39 @@ int VisualScriptIterator::get_output_sequence_port_count() const {
return 2;
}
-bool VisualScriptIterator::has_input_sequence_port() const{
+bool VisualScriptIterator::has_input_sequence_port() const {
return true;
}
-int VisualScriptIterator::get_input_value_port_count() const{
+int VisualScriptIterator::get_input_value_port_count() const {
return 1;
}
-int VisualScriptIterator::get_output_value_port_count() const{
+int VisualScriptIterator::get_output_value_port_count() const {
return 1;
}
String VisualScriptIterator::get_output_sequence_port_text(int p_port) const {
- if (p_port==0)
+ if (p_port == 0)
return "each";
else
return "exit";
}
-PropertyInfo VisualScriptIterator::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIterator::get_input_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="input";
- pinfo.type=Variant::NIL;
+ pinfo.name = "input";
+ pinfo.type = Variant::NIL;
return pinfo;
}
-PropertyInfo VisualScriptIterator::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIterator::get_output_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="elem";
- pinfo.type=Variant::NIL;
+ pinfo.name = "elem";
+ pinfo.type = Variant::NIL;
return pinfo;
}
String VisualScriptIterator::get_caption() const {
@@ -423,16 +395,11 @@ String VisualScriptIterator::get_text() const {
return "for (elem) in (input): ";
}
-
void VisualScriptIterator::_bind_methods() {
-
-
-
}
class VisualScriptNodeInstanceIterator : public VisualScriptNodeInstance {
public:
-
VisualScriptIterator *node;
VisualScriptInstance *instance;
@@ -440,77 +407,68 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_BEGIN_SEQUENCE) {
- p_working_mem[0]=*p_inputs[0];
+ if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
+ p_working_mem[0] = *p_inputs[0];
bool valid;
- bool can_iter = p_inputs[0]->iter_init(p_working_mem[1],valid);
+ bool can_iter = p_inputs[0]->iter_init(p_working_mem[1], valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Input type not iterable: ")+Variant::get_type_name(p_inputs[0]->get_type());
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Input type not iterable: ") + Variant::get_type_name(p_inputs[0]->get_type());
return 0;
}
if (!can_iter)
return 1; //nothing to iterate
-
- *p_outputs[0]=p_working_mem[0].iter_get( p_working_mem[1],valid);
+ *p_outputs[0] = p_working_mem[0].iter_get(p_working_mem[1], valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Iterator became invalid");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Iterator became invalid");
return 0;
}
-
} else { //continue sequence
bool valid;
- bool can_iter = p_working_mem[0].iter_next(p_working_mem[1],valid);
+ bool can_iter = p_working_mem[0].iter_next(p_working_mem[1], valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Iterator became invalid: ")+Variant::get_type_name(p_inputs[0]->get_type());
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Iterator became invalid: ") + Variant::get_type_name(p_inputs[0]->get_type());
return 0;
}
if (!can_iter)
return 1; //nothing to iterate
-
- *p_outputs[0]=p_working_mem[0].iter_get( p_working_mem[1],valid);
+ *p_outputs[0] = p_working_mem[0].iter_get(p_working_mem[1], valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Iterator became invalid");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Iterator became invalid");
return 0;
}
-
}
- return 0|STEP_FLAG_PUSH_STACK_BIT; //go around
+ return 0 | STEP_FLAG_PUSH_STACK_BIT; //go around
}
-
-
};
-VisualScriptNodeInstance* VisualScriptIterator::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptIterator::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceIterator * instance = memnew(VisualScriptNodeInstanceIterator );
- instance->node=this;
- instance->instance=p_instance;
+ VisualScriptNodeInstanceIterator *instance = memnew(VisualScriptNodeInstanceIterator);
+ instance->node = this;
+ instance->instance = p_instance;
return instance;
}
VisualScriptIterator::VisualScriptIterator() {
-
}
-
-
//////////////////////////////////////////
////////////////SEQUENCE/////////////////
//////////////////////////////////////////
@@ -520,30 +478,30 @@ int VisualScriptSequence::get_output_sequence_port_count() const {
return steps;
}
-bool VisualScriptSequence::has_input_sequence_port() const{
+bool VisualScriptSequence::has_input_sequence_port() const {
return true;
}
-int VisualScriptSequence::get_input_value_port_count() const{
+int VisualScriptSequence::get_input_value_port_count() const {
return 0;
}
-int VisualScriptSequence::get_output_value_port_count() const{
+int VisualScriptSequence::get_output_value_port_count() const {
return 1;
}
String VisualScriptSequence::get_output_sequence_port_text(int p_port) const {
- return itos(p_port+1);
+ return itos(p_port + 1);
}
-PropertyInfo VisualScriptSequence::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSequence::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptSequence::get_output_value_port_info(int p_idx) const{
- return PropertyInfo(Variant::INT,"current");
+PropertyInfo VisualScriptSequence::get_output_value_port_info(int p_idx) const {
+ return PropertyInfo(Variant::INT, "current");
}
String VisualScriptSequence::get_caption() const {
@@ -557,13 +515,12 @@ String VisualScriptSequence::get_text() const {
void VisualScriptSequence::set_steps(int p_steps) {
- ERR_FAIL_COND(p_steps<1);
- if (steps==p_steps)
+ ERR_FAIL_COND(p_steps < 1);
+ if (steps == p_steps)
return;
- steps=p_steps;
+ steps = p_steps;
ports_changed_notify();
-
}
int VisualScriptSequence::get_steps() const {
@@ -573,16 +530,14 @@ int VisualScriptSequence::get_steps() const {
void VisualScriptSequence::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_steps","steps"),&VisualScriptSequence::set_steps);
- ClassDB::bind_method(D_METHOD("get_steps"),&VisualScriptSequence::get_steps);
-
- ADD_PROPERTY(PropertyInfo(Variant::INT,"steps",PROPERTY_HINT_RANGE,"1,64,1"),"set_steps","get_steps");
+ ClassDB::bind_method(D_METHOD("set_steps", "steps"), &VisualScriptSequence::set_steps);
+ ClassDB::bind_method(D_METHOD("get_steps"), &VisualScriptSequence::get_steps);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "steps", PROPERTY_HINT_RANGE, "1,64,1"), "set_steps", "get_steps");
}
class VisualScriptNodeInstanceSequence : public VisualScriptNodeInstance {
public:
-
VisualScriptSequence *node;
VisualScriptInstance *instance;
int steps;
@@ -591,89 +546,83 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_BEGIN_SEQUENCE) {
+ if (p_start_mode == START_MODE_BEGIN_SEQUENCE) {
- p_working_mem[0]=0;
+ p_working_mem[0] = 0;
}
int step = p_working_mem[0];
- *p_outputs[0]=step;
+ *p_outputs[0] = step;
- if (step+1==steps)
+ if (step + 1 == steps)
return step;
else {
- p_working_mem[0]=step+1;
- return step|STEP_FLAG_PUSH_STACK_BIT;
+ p_working_mem[0] = step + 1;
+ return step | STEP_FLAG_PUSH_STACK_BIT;
}
-
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSequence::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSequence::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSequence * instance = memnew(VisualScriptNodeInstanceSequence );
- instance->node=this;
- instance->instance=p_instance;
- instance->steps=steps;
+ VisualScriptNodeInstanceSequence *instance = memnew(VisualScriptNodeInstanceSequence);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->steps = steps;
return instance;
}
VisualScriptSequence::VisualScriptSequence() {
- steps=1;
+ steps = 1;
}
-
//////////////////////////////////////////
////////////////EVENT TYPE FILTER///////////
//////////////////////////////////////////
int VisualScriptSwitch::get_output_sequence_port_count() const {
- return case_values.size()+1;
+ return case_values.size() + 1;
}
-bool VisualScriptSwitch::has_input_sequence_port() const{
+bool VisualScriptSwitch::has_input_sequence_port() const {
return true;
}
-int VisualScriptSwitch::get_input_value_port_count() const{
-
+int VisualScriptSwitch::get_input_value_port_count() const {
- return case_values.size()+1;
+ return case_values.size() + 1;
}
-int VisualScriptSwitch::get_output_value_port_count() const{
+int VisualScriptSwitch::get_output_value_port_count() const {
return 0;
}
String VisualScriptSwitch::get_output_sequence_port_text(int p_port) const {
- if (p_port==case_values.size())
+ if (p_port == case_values.size())
return "done";
return String();
}
-PropertyInfo VisualScriptSwitch::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSwitch::get_input_value_port_info(int p_idx) const {
- if (p_idx<case_values.size()) {
- return PropertyInfo(case_values[p_idx].type," =");
+ if (p_idx < case_values.size()) {
+ return PropertyInfo(case_values[p_idx].type, " =");
} else
- return PropertyInfo(Variant::NIL,"input");
+ return PropertyInfo(Variant::NIL, "input");
}
-PropertyInfo VisualScriptSwitch::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSwitch::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptSwitch::get_caption() const {
return "Switch";
@@ -684,47 +633,43 @@ String VisualScriptSwitch::get_text() const {
return "'input' is:";
}
-
class VisualScriptNodeInstanceSwitch : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
int case_count;
//virtual int get_working_memory_size() const { return 0; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_CONTINUE_SEQUENCE) {
+ if (p_start_mode == START_MODE_CONTINUE_SEQUENCE) {
return case_count; //exit
}
- for(int i=0;i<case_count;i++) {
+ for (int i = 0; i < case_count; i++) {
- if (*p_inputs[i]==*p_inputs[case_count]) {
- return i|STEP_FLAG_PUSH_STACK_BIT;
+ if (*p_inputs[i] == *p_inputs[case_count]) {
+ return i | STEP_FLAG_PUSH_STACK_BIT;
}
}
return case_count;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSwitch::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSwitch::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSwitch * instance = memnew(VisualScriptNodeInstanceSwitch );
- instance->instance=p_instance;
- instance->case_count=case_values.size();
+ VisualScriptNodeInstanceSwitch *instance = memnew(VisualScriptNodeInstanceSwitch);
+ instance->instance = p_instance;
+ instance->case_count = case_values.size();
return instance;
}
-bool VisualScriptSwitch::_set(const StringName& p_name, const Variant& p_value) {
+bool VisualScriptSwitch::_set(const StringName &p_name, const Variant &p_value) {
- if (String(p_name)=="case_count") {
+ if (String(p_name) == "case_count") {
case_values.resize(p_value);
_change_notify();
ports_changed_notify();
@@ -733,10 +678,10 @@ bool VisualScriptSwitch::_set(const StringName& p_name, const Variant& p_value)
if (String(p_name).begins_with("case/")) {
- int idx = String(p_name).get_slice("/",1).to_int();
- ERR_FAIL_INDEX_V(idx,case_values.size(),false);
+ int idx = String(p_name).get_slice("/", 1).to_int();
+ ERR_FAIL_INDEX_V(idx, case_values.size(), false);
- case_values[idx].type=Variant::Type(int(p_value));
+ case_values[idx].type = Variant::Type(int(p_value));
_change_notify();
ports_changed_notify();
@@ -746,71 +691,63 @@ bool VisualScriptSwitch::_set(const StringName& p_name, const Variant& p_value)
return false;
}
-bool VisualScriptSwitch::_get(const StringName& p_name,Variant &r_ret) const {
+bool VisualScriptSwitch::_get(const StringName &p_name, Variant &r_ret) const {
- if (String(p_name)=="case_count") {
- r_ret=case_values.size();
+ if (String(p_name) == "case_count") {
+ r_ret = case_values.size();
return true;
}
if (String(p_name).begins_with("case/")) {
- int idx = String(p_name).get_slice("/",1).to_int();
- ERR_FAIL_INDEX_V(idx,case_values.size(),false);
+ int idx = String(p_name).get_slice("/", 1).to_int();
+ ERR_FAIL_INDEX_V(idx, case_values.size(), false);
- r_ret=case_values[idx].type;
+ r_ret = case_values[idx].type;
return true;
}
return false;
-
}
-void VisualScriptSwitch::_get_property_list( List<PropertyInfo> *p_list) const {
+void VisualScriptSwitch::_get_property_list(List<PropertyInfo> *p_list) const {
- p_list->push_back(PropertyInfo(Variant::INT,"case_count",PROPERTY_HINT_RANGE,"0,128"));
+ p_list->push_back(PropertyInfo(Variant::INT, "case_count", PROPERTY_HINT_RANGE, "0,128"));
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- for(int i=0;i<case_values.size();i++) {
- p_list->push_back(PropertyInfo(Variant::INT,"case/"+itos(i),PROPERTY_HINT_ENUM,argt));
+ for (int i = 0; i < case_values.size(); i++) {
+ p_list->push_back(PropertyInfo(Variant::INT, "case/" + itos(i), PROPERTY_HINT_ENUM, argt));
}
}
-
void VisualScriptSwitch::_bind_methods() {
-
-
}
VisualScriptSwitch::VisualScriptSwitch() {
-
-
}
//////////////////////////////////////////
////////////////EVENT ACTION FILTER///////////
//////////////////////////////////////////
-
int VisualScriptInputFilter::get_output_sequence_port_count() const {
return filters.size();
}
-bool VisualScriptInputFilter::has_input_sequence_port() const{
+bool VisualScriptInputFilter::has_input_sequence_port() const {
return true;
}
-int VisualScriptInputFilter::get_input_value_port_count() const{
-
+int VisualScriptInputFilter::get_input_value_port_count() const {
return 1;
}
-int VisualScriptInputFilter::get_output_value_port_count() const{
+int VisualScriptInputFilter::get_output_value_port_count() const {
return 1;
}
@@ -819,60 +756,60 @@ String VisualScriptInputFilter::get_output_sequence_port_text(int p_port) const
String text;
- switch(filters[p_port].type) {
+ switch (filters[p_port].type) {
case InputEvent::NONE: {
- text="None";
+ text = "None";
} break;
case InputEvent::KEY: {
InputEventKey k = filters[p_port].key;
- if (k.scancode==0 && k.unicode==0) {
- text="No Key";
+ if (k.scancode == 0 && k.unicode == 0) {
+ text = "No Key";
} else {
- if (k.scancode!=0) {
- text="KeyCode: "+keycode_get_string(k.scancode);
- } else if (k.unicode!=0) {
- text="Uniode: "+String::chr(k.unicode);
+ if (k.scancode != 0) {
+ text = "KeyCode: " + keycode_get_string(k.scancode);
+ } else if (k.unicode != 0) {
+ text = "Uniode: " + String::chr(k.unicode);
}
if (k.pressed)
- text+=", Pressed";
+ text += ", Pressed";
else
- text+=", Released";
+ text += ", Released";
if (k.echo)
- text+=", Echo";
+ text += ", Echo";
if (k.mod.alt)
- text="Alt+"+text;
+ text = "Alt+" + text;
if (k.mod.shift)
- text="Shift+"+text;
+ text = "Shift+" + text;
if (k.mod.control)
- text="Ctrl+"+text;
+ text = "Ctrl+" + text;
if (k.mod.meta)
- text="Meta+"+text;
+ text = "Meta+" + text;
}
} break;
case InputEvent::MOUSE_MOTION: {
InputEventMouseMotion mm = filters[p_port].mouse_motion;
- text="Mouse Motion";
+ text = "Mouse Motion";
String b = "Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight";
- for(int i=0;i<7;i++) {
- if (mm.button_mask&(1<<i)) {
- text=b.get_slice(",",i)+"+"+text;
+ for (int i = 0; i < 7; i++) {
+ if (mm.button_mask & (1 << i)) {
+ text = b.get_slice(",", i) + "+" + text;
}
}
if (mm.mod.alt)
- text="Alt+"+text;
+ text = "Alt+" + text;
if (mm.mod.shift)
- text="Shift+"+text;
+ text = "Shift+" + text;
if (mm.mod.control)
- text="Ctrl+"+text;
+ text = "Ctrl+" + text;
if (mm.mod.meta)
- text="Meta+"+text;
+ text = "Meta+" + text;
} break;
case InputEvent::MOUSE_BUTTON: {
@@ -880,106 +817,99 @@ String VisualScriptInputFilter::get_output_sequence_port_text(int p_port) const
String b = "Any,Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight";
- text=b.get_slice(",",mb.button_index)+" Mouse Button";
+ text = b.get_slice(",", mb.button_index) + " Mouse Button";
if (mb.pressed)
- text+=", Pressed";
+ text += ", Pressed";
else
- text+=", Released";
+ text += ", Released";
if (mb.doubleclick)
- text+=", DblClick";
+ text += ", DblClick";
if (mb.mod.alt)
- text="Alt+"+text;
+ text = "Alt+" + text;
if (mb.mod.shift)
- text="Shift+"+text;
+ text = "Shift+" + text;
if (mb.mod.control)
- text="Ctrl+"+text;
+ text = "Ctrl+" + text;
if (mb.mod.meta)
- text="Meta+"+text;
-
+ text = "Meta+" + text;
} break;
case InputEvent::JOYPAD_MOTION: {
InputEventJoypadMotion jm = filters[p_port].joy_motion;
- text="JoyMotion Axis "+itos(jm.axis>>1);
- if (jm.axis&1)
- text+=" > "+rtos(jm.axis_value);
+ text = "JoyMotion Axis " + itos(jm.axis >> 1);
+ if (jm.axis & 1)
+ text += " > " + rtos(jm.axis_value);
else
- text+=" < "+rtos(-jm.axis_value);
+ text += " < " + rtos(-jm.axis_value);
} break;
case InputEvent::JOYPAD_BUTTON: {
InputEventJoypadButton jb = filters[p_port].joy_button;
- text="JoyButton "+itos(jb.button_index);
+ text = "JoyButton " + itos(jb.button_index);
if (jb.pressed)
- text+=", Pressed";
+ text += ", Pressed";
else
- text+=", Released";
+ text += ", Released";
} break;
case InputEvent::SCREEN_TOUCH: {
InputEventScreenTouch sd = filters[p_port].screen_touch;
- text="Touch Finger "+itos(sd.index);
+ text = "Touch Finger " + itos(sd.index);
if (sd.pressed)
- text+=", Pressed";
+ text += ", Pressed";
else
- text+=", Released";
+ text += ", Released";
} break;
case InputEvent::SCREEN_DRAG: {
InputEventScreenDrag sd = filters[p_port].screen_drag;
- text="Drag Finger "+itos(sd.index);
+ text = "Drag Finger " + itos(sd.index);
} break;
case InputEvent::ACTION: {
-
List<PropertyInfo> pinfo;
GlobalConfig::get_singleton()->get_property_list(&pinfo);
- int index=1;
+ int index = 1;
- text="No Action";
- for(List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
- const PropertyInfo &pi=E->get();
+ text = "No Action";
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
+ const PropertyInfo &pi = E->get();
if (!pi.name.begins_with("input/"))
continue;
-
- if (filters[p_port].action.action==index) {
- text="Action "+pi.name.substr(pi.name.find("/")+1,pi.name.length());
+ if (filters[p_port].action.action == index) {
+ text = "Action " + pi.name.substr(pi.name.find("/") + 1, pi.name.length());
break;
}
index++;
}
if (filters[p_port].action.pressed)
- text+=", Pressed";
+ text += ", Pressed";
else
- text+=", Released";
-
+ text += ", Released";
} break;
}
-
-
- return text+" - "+itos(p_port);
+ return text + " - " + itos(p_port);
}
-PropertyInfo VisualScriptInputFilter::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptInputFilter::get_input_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::INPUT_EVENT,"event");
+ return PropertyInfo(Variant::INPUT_EVENT, "event");
}
-PropertyInfo VisualScriptInputFilter::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptInputFilter::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::INPUT_EVENT,"");
+ return PropertyInfo(Variant::INPUT_EVENT, "");
}
-
String VisualScriptInputFilter::get_caption() const {
return "InputFilter";
@@ -990,94 +920,90 @@ String VisualScriptInputFilter::get_text() const {
return "";
}
+bool VisualScriptInputFilter::_set(const StringName &p_name, const Variant &p_value) {
-
-bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_value) {
-
- if (p_name=="filter_count") {
+ if (p_name == "filter_count") {
filters.resize(p_value);
_change_notify();
ports_changed_notify();
return true;
}
-
if (String(p_name).begins_with("filter_")) {
- int idx = String(p_name).replace_first("filters_","").get_slice("/",0).to_int();
-
- ERR_FAIL_INDEX_V(idx,filters.size(),false);
-
- String what = String(p_name).get_slice("/",1);
-
-
- if (what=="type") {
- filters[idx]=InputEvent();
- filters[idx].type=InputEvent::Type(int(p_value));
- if (filters[idx].type==InputEvent::JOYPAD_MOTION) {
- filters[idx].joy_motion.axis_value=0.5; //for treshold
- } else if (filters[idx].type==InputEvent::KEY) {
- filters[idx].key.pressed=true; //put these as true to make it more user friendly
- } else if (filters[idx].type==InputEvent::MOUSE_BUTTON) {
- filters[idx].mouse_button.pressed=true;
- } else if (filters[idx].type==InputEvent::JOYPAD_BUTTON) {
- filters[idx].joy_button.pressed=true;
- } else if (filters[idx].type==InputEvent::SCREEN_TOUCH) {
- filters[idx].screen_touch.pressed=true;
- } else if (filters[idx].type==InputEvent::ACTION) {
- filters[idx].action.pressed=true;
+ int idx = String(p_name).replace_first("filters_", "").get_slice("/", 0).to_int();
+
+ ERR_FAIL_INDEX_V(idx, filters.size(), false);
+
+ String what = String(p_name).get_slice("/", 1);
+
+ if (what == "type") {
+ filters[idx] = InputEvent();
+ filters[idx].type = InputEvent::Type(int(p_value));
+ if (filters[idx].type == InputEvent::JOYPAD_MOTION) {
+ filters[idx].joy_motion.axis_value = 0.5; //for treshold
+ } else if (filters[idx].type == InputEvent::KEY) {
+ filters[idx].key.pressed = true; //put these as true to make it more user friendly
+ } else if (filters[idx].type == InputEvent::MOUSE_BUTTON) {
+ filters[idx].mouse_button.pressed = true;
+ } else if (filters[idx].type == InputEvent::JOYPAD_BUTTON) {
+ filters[idx].joy_button.pressed = true;
+ } else if (filters[idx].type == InputEvent::SCREEN_TOUCH) {
+ filters[idx].screen_touch.pressed = true;
+ } else if (filters[idx].type == InputEvent::ACTION) {
+ filters[idx].action.pressed = true;
}
_change_notify();
ports_changed_notify();
return true;
}
- if (what=="device") {
- filters[idx].device=p_value;
+ if (what == "device") {
+ filters[idx].device = p_value;
ports_changed_notify();
return true;
}
- switch(filters[idx].type) {
+ switch (filters[idx].type) {
case InputEvent::KEY: {
- if (what=="scancode") {
+ if (what == "scancode") {
String sc = p_value;
- if (sc==String()) {
- filters[idx].key.scancode=0;
+ if (sc == String()) {
+ filters[idx].key.scancode = 0;
} else {
- filters[idx].key.scancode=find_keycode(p_value);
+ filters[idx].key.scancode = find_keycode(p_value);
}
- } else if (what=="unicode") {
+ } else if (what == "unicode") {
String uc = p_value;
- if (uc==String()) {
- filters[idx].key.unicode=0;
+ if (uc == String()) {
+ filters[idx].key.unicode = 0;
} else {
- filters[idx].key.unicode=uc[0];
+ filters[idx].key.unicode = uc[0];
}
- } else if (what=="pressed") {
+ } else if (what == "pressed") {
- filters[idx].key.pressed=p_value;
- } else if (what=="echo") {
+ filters[idx].key.pressed = p_value;
+ } else if (what == "echo") {
- filters[idx].key.echo=p_value;
+ filters[idx].key.echo = p_value;
- } else if (what=="mod_alt") {
- filters[idx].key.mod.alt=p_value;
+ } else if (what == "mod_alt") {
+ filters[idx].key.mod.alt = p_value;
- } else if (what=="mod_shift") {
- filters[idx].key.mod.shift=p_value;
+ } else if (what == "mod_shift") {
+ filters[idx].key.mod.shift = p_value;
- } else if (what=="mod_ctrl") {
- filters[idx].key.mod.control=p_value;
+ } else if (what == "mod_ctrl") {
+ filters[idx].key.mod.control = p_value;
- } else if (what=="mod_meta") {
- filters[idx].key.mod.meta=p_value;
+ } else if (what == "mod_meta") {
+ filters[idx].key.mod.meta = p_value;
} else {
return false;
}
@@ -1087,21 +1013,20 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
} break;
case InputEvent::MOUSE_MOTION: {
+ if (what == "button_mask") {
+ filters[idx].mouse_motion.button_mask = p_value;
- if (what=="button_mask") {
- filters[idx].mouse_motion.button_mask=p_value;
-
- } else if (what=="mod_alt") {
- filters[idx].mouse_motion.mod.alt=p_value;
+ } else if (what == "mod_alt") {
+ filters[idx].mouse_motion.mod.alt = p_value;
- } else if (what=="mod_shift") {
- filters[idx].mouse_motion.mod.shift=p_value;
+ } else if (what == "mod_shift") {
+ filters[idx].mouse_motion.mod.shift = p_value;
- } else if (what=="mod_ctrl") {
- filters[idx].mouse_motion.mod.control=p_value;
+ } else if (what == "mod_ctrl") {
+ filters[idx].mouse_motion.mod.control = p_value;
- } else if (what=="mod_meta") {
- filters[idx].mouse_motion.mod.meta=p_value;
+ } else if (what == "mod_meta") {
+ filters[idx].mouse_motion.mod.meta = p_value;
} else {
return false;
}
@@ -1112,24 +1037,24 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
} break;
case InputEvent::MOUSE_BUTTON: {
- if (what=="button_index") {
- filters[idx].mouse_button.button_index=p_value;
- } else if (what=="pressed") {
- filters[idx].mouse_button.pressed=p_value;
- } else if (what=="doubleclicked") {
- filters[idx].mouse_button.doubleclick=p_value;
+ if (what == "button_index") {
+ filters[idx].mouse_button.button_index = p_value;
+ } else if (what == "pressed") {
+ filters[idx].mouse_button.pressed = p_value;
+ } else if (what == "doubleclicked") {
+ filters[idx].mouse_button.doubleclick = p_value;
- } else if (what=="mod_alt") {
- filters[idx].mouse_button.mod.alt=p_value;
+ } else if (what == "mod_alt") {
+ filters[idx].mouse_button.mod.alt = p_value;
- } else if (what=="mod_shift") {
- filters[idx].mouse_button.mod.shift=p_value;
+ } else if (what == "mod_shift") {
+ filters[idx].mouse_button.mod.shift = p_value;
- } else if (what=="mod_ctrl") {
- filters[idx].mouse_button.mod.control=p_value;
+ } else if (what == "mod_ctrl") {
+ filters[idx].mouse_button.mod.control = p_value;
- } else if (what=="mod_meta") {
- filters[idx].mouse_button.mod.meta=p_value;
+ } else if (what == "mod_meta") {
+ filters[idx].mouse_button.mod.meta = p_value;
} else {
return false;
}
@@ -1139,26 +1064,25 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
} break;
case InputEvent::JOYPAD_MOTION: {
- if (what=="axis") {
- filters[idx].joy_motion.axis=int(p_value)<<1|filters[idx].joy_motion.axis;
- } else if (what=="mode") {
- filters[idx].joy_motion.axis|=int(p_value);
- } else if (what=="treshold") {
- filters[idx].joy_motion.axis_value=p_value;
+ if (what == "axis") {
+ filters[idx].joy_motion.axis = int(p_value) << 1 | filters[idx].joy_motion.axis;
+ } else if (what == "mode") {
+ filters[idx].joy_motion.axis |= int(p_value);
+ } else if (what == "treshold") {
+ filters[idx].joy_motion.axis_value = p_value;
} else {
return false;
}
ports_changed_notify();
return true;
-
} break;
case InputEvent::JOYPAD_BUTTON: {
- if (what=="button_index") {
- filters[idx].joy_button.button_index=p_value;
- } else if (what=="pressed") {
- filters[idx].joy_button.pressed=p_value;
+ if (what == "button_index") {
+ filters[idx].joy_button.button_index = p_value;
+ } else if (what == "pressed") {
+ filters[idx].joy_button.pressed = p_value;
} else {
return false;
}
@@ -1168,10 +1092,10 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
} break;
case InputEvent::SCREEN_TOUCH: {
- if (what=="finger_index") {
- filters[idx].screen_touch.index=p_value;
- } else if (what=="pressed") {
- filters[idx].screen_touch.pressed=p_value;
+ if (what == "finger_index") {
+ filters[idx].screen_touch.index = p_value;
+ } else if (what == "pressed") {
+ filters[idx].screen_touch.pressed = p_value;
} else {
return false;
}
@@ -1179,8 +1103,8 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
return true;
} break;
case InputEvent::SCREEN_DRAG: {
- if (what=="finger_index") {
- filters[idx].screen_drag.index=p_value;
+ if (what == "finger_index") {
+ filters[idx].screen_drag.index = p_value;
} else {
return false;
}
@@ -1189,23 +1113,22 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
} break;
case InputEvent::ACTION: {
-
- if (what=="action_name") {
+ if (what == "action_name") {
List<PropertyInfo> pinfo;
GlobalConfig::get_singleton()->get_property_list(&pinfo);
- int index=1;
+ int index = 1;
- for(List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
- const PropertyInfo &pi=E->get();
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
+ const PropertyInfo &pi = E->get();
if (!pi.name.begins_with("input/"))
continue;
- String name = pi.name.substr(pi.name.find("/")+1,pi.name.length());
- if (name==String(p_value)) {
+ String name = pi.name.substr(pi.name.find("/") + 1, pi.name.length());
+ if (name == String(p_value)) {
- filters[idx].action.action=index;
+ filters[idx].action.action = index;
ports_changed_notify();
return true;
}
@@ -1213,92 +1136,87 @@ bool VisualScriptInputFilter::_set(const StringName& p_name, const Variant& p_va
index++;
}
- filters[idx].action.action=0;
+ filters[idx].action.action = 0;
ports_changed_notify();
return false;
- } else if (what=="pressed") {
+ } else if (what == "pressed") {
- filters[idx].action.pressed=p_value;
+ filters[idx].action.pressed = p_value;
ports_changed_notify();
return true;
}
-
} break;
-
}
}
return false;
}
-bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) const{
+bool VisualScriptInputFilter::_get(const StringName &p_name, Variant &r_ret) const {
- if (p_name=="filter_count") {
- r_ret=filters.size();
+ if (p_name == "filter_count") {
+ r_ret = filters.size();
return true;
}
-
if (String(p_name).begins_with("filter_")) {
- int idx = String(p_name).replace_first("filters_","").get_slice("/",0).to_int();
-
- ERR_FAIL_INDEX_V(idx,filters.size(),false);
+ int idx = String(p_name).replace_first("filters_", "").get_slice("/", 0).to_int();
- String what = String(p_name).get_slice("/",1);
+ ERR_FAIL_INDEX_V(idx, filters.size(), false);
+ String what = String(p_name).get_slice("/", 1);
- if (what=="type") {
- r_ret=filters[idx].type;
+ if (what == "type") {
+ r_ret = filters[idx].type;
return true;
}
- if (what=="device") {
- r_ret=filters[idx].device;
+ if (what == "device") {
+ r_ret = filters[idx].device;
return true;
}
- switch(filters[idx].type) {
+ switch (filters[idx].type) {
case InputEvent::KEY: {
- if (what=="scancode") {
- if (filters[idx].key.scancode==0)
- r_ret=String();
+ if (what == "scancode") {
+ if (filters[idx].key.scancode == 0)
+ r_ret = String();
else {
- r_ret=keycode_get_string(filters[idx].key.scancode);
+ r_ret = keycode_get_string(filters[idx].key.scancode);
}
- } else if (what=="unicode") {
+ } else if (what == "unicode") {
-
- if (filters[idx].key.unicode==0) {
- r_ret=String();
+ if (filters[idx].key.unicode == 0) {
+ r_ret = String();
} else {
- CharType str[2]={ (CharType)filters[idx].key.unicode, 0};
- r_ret=String(str);
+ CharType str[2] = { (CharType)filters[idx].key.unicode, 0 };
+ r_ret = String(str);
}
- } else if (what=="pressed") {
+ } else if (what == "pressed") {
- r_ret=filters[idx].key.pressed;
- } else if (what=="echo") {
+ r_ret = filters[idx].key.pressed;
+ } else if (what == "echo") {
- r_ret=filters[idx].key.echo;
+ r_ret = filters[idx].key.echo;
- } else if (what=="mod_alt") {
- r_ret=filters[idx].key.mod.alt;
+ } else if (what == "mod_alt") {
+ r_ret = filters[idx].key.mod.alt;
- } else if (what=="mod_shift") {
- r_ret=filters[idx].key.mod.shift;
+ } else if (what == "mod_shift") {
+ r_ret = filters[idx].key.mod.shift;
- } else if (what=="mod_ctrl") {
- r_ret=filters[idx].key.mod.control;
+ } else if (what == "mod_ctrl") {
+ r_ret = filters[idx].key.mod.control;
- } else if (what=="mod_meta") {
- r_ret=filters[idx].key.mod.meta;
+ } else if (what == "mod_meta") {
+ r_ret = filters[idx].key.mod.meta;
} else {
return false;
}
@@ -1307,21 +1225,20 @@ bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) cons
} break;
case InputEvent::MOUSE_MOTION: {
+ if (what == "button_mask") {
+ r_ret = filters[idx].mouse_motion.button_mask;
- if (what=="button_mask") {
- r_ret=filters[idx].mouse_motion.button_mask;
-
- } else if (what=="mod_alt") {
- r_ret=filters[idx].mouse_motion.mod.alt;
+ } else if (what == "mod_alt") {
+ r_ret = filters[idx].mouse_motion.mod.alt;
- } else if (what=="mod_shift") {
- r_ret=filters[idx].mouse_motion.mod.shift;
+ } else if (what == "mod_shift") {
+ r_ret = filters[idx].mouse_motion.mod.shift;
- } else if (what=="mod_ctrl") {
- r_ret=filters[idx].mouse_motion.mod.control;
+ } else if (what == "mod_ctrl") {
+ r_ret = filters[idx].mouse_motion.mod.control;
- } else if (what=="mod_meta") {
- r_ret=filters[idx].mouse_motion.mod.meta;
+ } else if (what == "mod_meta") {
+ r_ret = filters[idx].mouse_motion.mod.meta;
} else {
return false;
}
@@ -1331,24 +1248,24 @@ bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) cons
} break;
case InputEvent::MOUSE_BUTTON: {
- if (what=="button_index") {
- r_ret=filters[idx].mouse_button.button_index;
- } else if (what=="pressed") {
- r_ret=filters[idx].mouse_button.pressed;
- } else if (what=="doubleclicked") {
- r_ret=filters[idx].mouse_button.doubleclick;
+ if (what == "button_index") {
+ r_ret = filters[idx].mouse_button.button_index;
+ } else if (what == "pressed") {
+ r_ret = filters[idx].mouse_button.pressed;
+ } else if (what == "doubleclicked") {
+ r_ret = filters[idx].mouse_button.doubleclick;
- } else if (what=="mod_alt") {
- r_ret=filters[idx].mouse_button.mod.alt;
+ } else if (what == "mod_alt") {
+ r_ret = filters[idx].mouse_button.mod.alt;
- } else if (what=="mod_shift") {
- r_ret=filters[idx].mouse_button.mod.shift;
+ } else if (what == "mod_shift") {
+ r_ret = filters[idx].mouse_button.mod.shift;
- } else if (what=="mod_ctrl") {
- r_ret=filters[idx].mouse_button.mod.control;
+ } else if (what == "mod_ctrl") {
+ r_ret = filters[idx].mouse_button.mod.control;
- } else if (what=="mod_meta") {
- r_ret=filters[idx].mouse_button.mod.meta;
+ } else if (what == "mod_meta") {
+ r_ret = filters[idx].mouse_button.mod.meta;
} else {
return false;
}
@@ -1357,25 +1274,24 @@ bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) cons
} break;
case InputEvent::JOYPAD_MOTION: {
- if (what=="axis_index") {
- r_ret=filters[idx].joy_motion.axis>>1;
- } else if (what=="mode") {
- r_ret=filters[idx].joy_motion.axis&1;
- } else if (what=="treshold") {
- r_ret=filters[idx].joy_motion.axis_value;
+ if (what == "axis_index") {
+ r_ret = filters[idx].joy_motion.axis >> 1;
+ } else if (what == "mode") {
+ r_ret = filters[idx].joy_motion.axis & 1;
+ } else if (what == "treshold") {
+ r_ret = filters[idx].joy_motion.axis_value;
} else {
return false;
}
return true;
-
} break;
case InputEvent::JOYPAD_BUTTON: {
- if (what=="button_index") {
- r_ret=filters[idx].joy_button.button_index;
- } else if (what=="pressed") {
- r_ret=filters[idx].joy_button.pressed;
+ if (what == "button_index") {
+ r_ret = filters[idx].joy_button.button_index;
+ } else if (what == "pressed") {
+ r_ret = filters[idx].joy_button.pressed;
} else {
return false;
}
@@ -1384,18 +1300,18 @@ bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) cons
} break;
case InputEvent::SCREEN_TOUCH: {
- if (what=="finger_index") {
- r_ret=filters[idx].screen_touch.index;
- } else if (what=="pressed") {
- r_ret=filters[idx].screen_touch.pressed;
+ if (what == "finger_index") {
+ r_ret = filters[idx].screen_touch.index;
+ } else if (what == "pressed") {
+ r_ret = filters[idx].screen_touch.pressed;
} else {
return false;
}
return true;
} break;
case InputEvent::SCREEN_DRAG: {
- if (what=="finger_index") {
- r_ret=filters[idx].screen_drag.index;
+ if (what == "finger_index") {
+ r_ret = filters[idx].screen_drag.index;
} else {
return false;
}
@@ -1403,45 +1319,41 @@ bool VisualScriptInputFilter::_get(const StringName& p_name,Variant &r_ret) cons
} break;
case InputEvent::ACTION: {
-
- if (what=="action_name") {
+ if (what == "action_name") {
List<PropertyInfo> pinfo;
GlobalConfig::get_singleton()->get_property_list(&pinfo);
- int index=1;
+ int index = 1;
- for(List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
- const PropertyInfo &pi=E->get();
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
+ const PropertyInfo &pi = E->get();
if (!pi.name.begins_with("input/"))
continue;
-
- if (filters[idx].action.action==index) {
- r_ret=pi.name.substr(pi.name.find("/")+1,pi.name.length());
+ if (filters[idx].action.action == index) {
+ r_ret = pi.name.substr(pi.name.find("/") + 1, pi.name.length());
return true;
}
index++;
}
- r_ret="None"; //no index
+ r_ret = "None"; //no index
return false;
- } else if (what=="pressed") {
+ } else if (what == "pressed") {
- r_ret=filters[idx].action.pressed;
+ r_ret = filters[idx].action.pressed;
return true;
}
-
} break;
-
}
}
return false;
}
-static const char* event_type_names[InputEvent::TYPE_MAX]={
+static const char *event_type_names[InputEvent::TYPE_MAX] = {
"None",
"Key",
"MouseMotion",
@@ -1453,186 +1365,175 @@ static const char* event_type_names[InputEvent::TYPE_MAX]={
"Action"
};
-void VisualScriptInputFilter::_get_property_list( List<PropertyInfo> *p_list) const {
+void VisualScriptInputFilter::_get_property_list(List<PropertyInfo> *p_list) const {
- p_list->push_back(PropertyInfo(Variant::INT,"filter_count",PROPERTY_HINT_RANGE,"0,64"));
+ p_list->push_back(PropertyInfo(Variant::INT, "filter_count", PROPERTY_HINT_RANGE, "0,64"));
String et;
- for(int i=0;i<InputEvent::TYPE_MAX;i++) {
- if (i>0)
- et+=",";
+ for (int i = 0; i < InputEvent::TYPE_MAX; i++) {
+ if (i > 0)
+ et += ",";
- et+=event_type_names[i];
+ et += event_type_names[i];
}
String kc;
String actions;
+ for (int i = 0; i < filters.size(); i++) {
-
- for(int i=0;i<filters.size();i++) {
-
- String base = "filter_"+itos(i)+"/";
- p_list->push_back(PropertyInfo(Variant::INT,base+"type",PROPERTY_HINT_ENUM,et));
- p_list->push_back(PropertyInfo(Variant::INT,base+"device"));
- switch(filters[i].type) {
+ String base = "filter_" + itos(i) + "/";
+ p_list->push_back(PropertyInfo(Variant::INT, base + "type", PROPERTY_HINT_ENUM, et));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "device"));
+ switch (filters[i].type) {
case InputEvent::NONE: {
} break;
case InputEvent::KEY: {
- if (kc==String()) {
+ if (kc == String()) {
int kcc = keycode_get_count();
- kc="None";
- for(int i=0;i<kcc;i++) {
- kc+=",";
- kc+=String(keycode_get_name_by_index(i));
+ kc = "None";
+ for (int i = 0; i < kcc; i++) {
+ kc += ",";
+ kc += String(keycode_get_name_by_index(i));
}
}
- p_list->push_back(PropertyInfo(Variant::STRING,base+"scancode",PROPERTY_HINT_ENUM,kc));
- p_list->push_back(PropertyInfo(Variant::STRING,base+"unicode"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"pressed"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"echo"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_alt"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_shift"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_ctrl"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_meta"));
-
+ p_list->push_back(PropertyInfo(Variant::STRING, base + "scancode", PROPERTY_HINT_ENUM, kc));
+ p_list->push_back(PropertyInfo(Variant::STRING, base + "unicode"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "echo"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta"));
} break;
case InputEvent::MOUSE_MOTION: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"button_mask",PROPERTY_HINT_FLAGS,"Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_alt"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_shift"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_ctrl"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_meta"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "button_mask", PROPERTY_HINT_FLAGS, "Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta"));
} break;
case InputEvent::MOUSE_BUTTON: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"button_index",PROPERTY_HINT_ENUM,"Any,Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"pressed"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"doubleclicked"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_alt"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_shift"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_ctrl"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"mod_meta"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "button_index", PROPERTY_HINT_ENUM, "Any,Left,Right,Middle,WheelUp,WheelDown,WheelLeft,WheelRight"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "doubleclicked"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_alt"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_shift"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_ctrl"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "mod_meta"));
} break;
case InputEvent::JOYPAD_MOTION: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"axis_index"));
- p_list->push_back(PropertyInfo(Variant::INT,base+"mode",PROPERTY_HINT_ENUM,"Min,Max"));
- p_list->push_back(PropertyInfo(Variant::REAL,base+"treshold",PROPERTY_HINT_RANGE,"0,1,0.01"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "axis_index"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "mode", PROPERTY_HINT_ENUM, "Min,Max"));
+ p_list->push_back(PropertyInfo(Variant::REAL, base + "treshold", PROPERTY_HINT_RANGE, "0,1,0.01"));
} break;
case InputEvent::JOYPAD_BUTTON: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"button_index"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"pressed"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "button_index"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed"));
} break;
case InputEvent::SCREEN_TOUCH: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"finger_index"));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"pressed"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "finger_index"));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed"));
} break;
case InputEvent::SCREEN_DRAG: {
- p_list->push_back(PropertyInfo(Variant::INT,base+"finger_index"));
+ p_list->push_back(PropertyInfo(Variant::INT, base + "finger_index"));
} break;
case InputEvent::ACTION: {
+ if (actions == String()) {
-
- if (actions==String()) {
-
- actions="None";
+ actions = "None";
List<PropertyInfo> pinfo;
GlobalConfig::get_singleton()->get_property_list(&pinfo);
Vector<String> al;
- for(List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
- const PropertyInfo &pi=E->get();
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
+ const PropertyInfo &pi = E->get();
if (!pi.name.begins_with("input/"))
continue;
- String name = pi.name.substr(pi.name.find("/")+1,pi.name.length());
-
+ String name = pi.name.substr(pi.name.find("/") + 1, pi.name.length());
al.push_back(name);
}
- for(int i=0;i<al.size();i++) {
- actions+=",";
- actions+=al[i];
+ for (int i = 0; i < al.size(); i++) {
+ actions += ",";
+ actions += al[i];
}
}
- p_list->push_back(PropertyInfo(Variant::STRING,base+"action_name",PROPERTY_HINT_ENUM,actions));
- p_list->push_back(PropertyInfo(Variant::BOOL,base+"pressed"));
+ p_list->push_back(PropertyInfo(Variant::STRING, base + "action_name", PROPERTY_HINT_ENUM, actions));
+ p_list->push_back(PropertyInfo(Variant::BOOL, base + "pressed"));
} break;
-
}
}
}
class VisualScriptNodeInstanceInputFilter : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
Vector<InputEvent> filters;
//virtual int get_working_memory_size() const { return 0; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_inputs[0]->get_type()!=Variant::INPUT_EVENT) {
- r_error_str="Input value not of type event";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ if (p_inputs[0]->get_type() != Variant::INPUT_EVENT) {
+ r_error_str = "Input value not of type event";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
InputEvent event = *p_inputs[0];
-
- for(int i=0;i<filters.size();i++) {
+ for (int i = 0; i < filters.size(); i++) {
const InputEvent &ie = filters[i];
- if (ie.type!=event.type)
+ if (ie.type != event.type)
continue;
- bool match=false;
+ bool match = false;
- switch(ie.type) {
+ switch (ie.type) {
case InputEvent::NONE: {
- match=true;
+ match = true;
} break;
case InputEvent::KEY: {
InputEventKey k = ie.key;
InputEventKey k2 = event.key;
- if (k.scancode==0 && k.unicode==0 && k2.scancode==0 && k2.unicode==0) {
- match=true;
+ if (k.scancode == 0 && k.unicode == 0 && k2.scancode == 0 && k2.unicode == 0) {
+ match = true;
} else {
- if ( (k.scancode!=0 && k.scancode==k2.scancode) || (k.unicode!=0 && k.unicode==k2.unicode)) {
+ if ((k.scancode != 0 && k.scancode == k2.scancode) || (k.unicode != 0 && k.unicode == k2.unicode)) {
//key valid
if (
- k.pressed==k2.pressed &&
- k.echo==k2.echo &&
- k.mod == k2.mod
- ) {
- match=true;
+ k.pressed == k2.pressed &&
+ k.echo == k2.echo &&
+ k.mod == k2.mod) {
+ match = true;
}
}
-
}
} break;
@@ -1640,10 +1541,9 @@ public:
InputEventMouseMotion mm = ie.mouse_motion;
InputEventMouseMotion mm2 = event.mouse_motion;
- if ( mm.button_mask==mm2.button_mask &&
- mm.mod==mm2.mod
- ) {
- match=true;
+ if (mm.button_mask == mm2.button_mask &&
+ mm.mod == mm2.mod) {
+ match = true;
}
} break;
@@ -1652,56 +1552,53 @@ public:
InputEventMouseButton mb = ie.mouse_button;
InputEventMouseButton mb2 = event.mouse_button;
- if ( mb.button_index==mb2.button_index &&
- mb.pressed==mb2.pressed &&
- mb.doubleclick==mb2.doubleclick &&
- mb.mod==mb2.mod) {
- match=true;
+ if (mb.button_index == mb2.button_index &&
+ mb.pressed == mb2.pressed &&
+ mb.doubleclick == mb2.doubleclick &&
+ mb.mod == mb2.mod) {
+ match = true;
}
-
} break;
case InputEvent::JOYPAD_MOTION: {
InputEventJoypadMotion jm = ie.joy_motion;
InputEventJoypadMotion jm2 = event.joy_motion;
- int axis = jm.axis>>1;
+ int axis = jm.axis >> 1;
- if (axis==jm2.axis) {
+ if (axis == jm2.axis) {
- if (jm.axis&1) {
+ if (jm.axis & 1) {
//greater
if (jm2.axis_value > jm.axis_value) {
- match=true;
+ match = true;
}
} else {
//less
if (jm2.axis_value < -jm.axis_value) {
- match=true;
+ match = true;
}
}
}
-
} break;
case InputEvent::JOYPAD_BUTTON: {
InputEventJoypadButton jb = ie.joy_button;
InputEventJoypadButton jb2 = event.joy_button;
- if ( jb.button_index==jb2.button_index &&
- jb.pressed == jb2.pressed
- ) {
- match=true;
+ if (jb.button_index == jb2.button_index &&
+ jb.pressed == jb2.pressed) {
+ match = true;
}
} break;
case InputEvent::SCREEN_TOUCH: {
InputEventScreenTouch st = ie.screen_touch;
InputEventScreenTouch st2 = event.screen_touch;
- if ( st.index==st2.index &&
- st.pressed==st2.pressed) {
- match=true;
+ if (st.index == st2.index &&
+ st.pressed == st2.pressed) {
+ match = true;
}
} break;
@@ -1709,8 +1606,8 @@ public:
InputEventScreenDrag sd = ie.screen_drag;
InputEventScreenDrag sd2 = event.screen_drag;
- if (sd.index==sd2.index) {
- match=true;
+ if (sd.index == sd2.index) {
+ match = true;
}
} break;
case InputEvent::ACTION: {
@@ -1718,88 +1615,72 @@ public:
InputEventAction ia = ie.action;
InputEventAction ia2 = event.action;
- if ( ia.action==ia2.action &&
- ia.pressed==ia2.pressed) {
- match=true;
+ if (ia.action == ia2.action &&
+ ia.pressed == ia2.pressed) {
+ match = true;
}
} break;
-
}
*p_outputs[0] = event;
if (match)
return i; //go through match output
-
}
return STEP_NO_ADVANCE_BIT; //none found, don't advance
-
-
}
-
-
};
+VisualScriptNodeInstance *VisualScriptInputFilter::instance(VisualScriptInstance *p_instance) {
-VisualScriptNodeInstance* VisualScriptInputFilter::instance(VisualScriptInstance* p_instance) {
-
- VisualScriptNodeInstanceInputFilter * instance = memnew(VisualScriptNodeInstanceInputFilter );
- instance->instance=p_instance;
- instance->filters=filters;
+ VisualScriptNodeInstanceInputFilter *instance = memnew(VisualScriptNodeInstanceInputFilter);
+ instance->instance = p_instance;
+ instance->filters = filters;
return instance;
}
-
-
-
VisualScriptInputFilter::VisualScriptInputFilter() {
-
-
}
-
//////////////////////////////////////////
////////////////TYPE CAST///////////
//////////////////////////////////////////
-
int VisualScriptTypeCast::get_output_sequence_port_count() const {
return 2;
}
-bool VisualScriptTypeCast::has_input_sequence_port() const{
+bool VisualScriptTypeCast::has_input_sequence_port() const {
return true;
}
-int VisualScriptTypeCast::get_input_value_port_count() const{
-
+int VisualScriptTypeCast::get_input_value_port_count() const {
return 1;
}
-int VisualScriptTypeCast::get_output_value_port_count() const{
+int VisualScriptTypeCast::get_output_value_port_count() const {
return 1;
}
String VisualScriptTypeCast::get_output_sequence_port_text(int p_port) const {
- return p_port==0 ? "yes" : "no";
+ return p_port == 0 ? "yes" : "no";
}
-PropertyInfo VisualScriptTypeCast::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptTypeCast::get_input_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"instance");
+ return PropertyInfo(Variant::OBJECT, "instance");
}
-PropertyInfo VisualScriptTypeCast::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptTypeCast::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"");
+ return PropertyInfo(Variant::OBJECT, "");
}
-
String VisualScriptTypeCast::get_caption() const {
return "TypeCast";
@@ -1807,47 +1688,44 @@ String VisualScriptTypeCast::get_caption() const {
String VisualScriptTypeCast::get_text() const {
- if (script!=String())
- return "Is "+script.get_file()+"?";
+ if (script != String())
+ return "Is " + script.get_file() + "?";
else
- return "Is "+base_type+"?";
+ return "Is " + base_type + "?";
}
-void VisualScriptTypeCast::set_base_type(const StringName& p_type) {
+void VisualScriptTypeCast::set_base_type(const StringName &p_type) {
- if (base_type==p_type)
+ if (base_type == p_type)
return;
- base_type=p_type;
+ base_type = p_type;
_change_notify();
ports_changed_notify();
}
-StringName VisualScriptTypeCast::get_base_type() const{
+StringName VisualScriptTypeCast::get_base_type() const {
return base_type;
}
-void VisualScriptTypeCast::set_base_script(const String& p_path){
+void VisualScriptTypeCast::set_base_script(const String &p_path) {
- if (script==p_path)
+ if (script == p_path)
return;
- script=p_path;
+ script = p_path;
_change_notify();
ports_changed_notify();
-
}
-String VisualScriptTypeCast::get_base_script() const{
+String VisualScriptTypeCast::get_base_script() const {
return script;
}
-
class VisualScriptNodeInstanceTypeCast : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
StringName base_type;
String script;
@@ -1855,19 +1733,19 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
Object *obj = *p_inputs[0];
- *p_outputs[0]=Variant();
+ *p_outputs[0] = Variant();
if (!obj) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Instance is null";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Instance is null";
return 0;
}
- if (script!=String()) {
+ if (script != String()) {
Ref<Script> obj_script = obj->get_script();
if (!obj_script.is_valid()) {
@@ -1880,90 +1758,79 @@ public:
}
Ref<Script> cast_script = Ref<Resource>(ResourceCache::get(script));
if (!cast_script.is_valid()) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Script path is not a script: "+script;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Script path is not a script: " + script;
return 1;
}
- while(obj_script.is_valid()) {
+ while (obj_script.is_valid()) {
- if (cast_script==obj_script) {
- *p_outputs[0]=*p_inputs[0]; //copy
+ if (cast_script == obj_script) {
+ *p_outputs[0] = *p_inputs[0]; //copy
return 0; // it is the script, yey
}
- obj_script=obj_script->get_base_script();
+ obj_script = obj_script->get_base_script();
}
return 1; //not found sorry
}
- if (ClassDB::is_parent_class(obj->get_class_name(),base_type)) {
- *p_outputs[0]=*p_inputs[0]; //copy
+ if (ClassDB::is_parent_class(obj->get_class_name(), base_type)) {
+ *p_outputs[0] = *p_inputs[0]; //copy
return 0;
} else
return 1;
-
}
-
-
};
-VisualScriptNodeInstance* VisualScriptTypeCast::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptTypeCast::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceTypeCast * instance = memnew(VisualScriptNodeInstanceTypeCast );
- instance->instance=p_instance;
- instance->base_type=base_type;
- instance->script=script;
+ VisualScriptNodeInstanceTypeCast *instance = memnew(VisualScriptNodeInstanceTypeCast);
+ instance->instance = p_instance;
+ instance->base_type = base_type;
+ instance->script = script;
return instance;
}
-
-
void VisualScriptTypeCast::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_base_type","type"),&VisualScriptTypeCast::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptTypeCast::get_base_type);
-
- ClassDB::bind_method(D_METHOD("set_base_script","path"),&VisualScriptTypeCast::set_base_script);
- ClassDB::bind_method(D_METHOD("get_base_script"),&VisualScriptTypeCast::get_base_script);
+ ClassDB::bind_method(D_METHOD("set_base_type", "type"), &VisualScriptTypeCast::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptTypeCast::get_base_type);
+ ClassDB::bind_method(D_METHOD("set_base_script", "path"), &VisualScriptTypeCast::set_base_script);
+ ClassDB::bind_method(D_METHOD("get_base_script"), &VisualScriptTypeCast::get_base_script);
List<String> script_extensions;
- for(int i=0;i>ScriptServer::get_language_count();i++) {
+ for (int i = 0; i > ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->get_recognized_extensions(&script_extensions);
}
String script_ext_hint;
- for (List<String>::Element *E=script_extensions.front();E;E=E->next()) {
- if (script_ext_hint!=String())
- script_ext_hint+=",";
- script_ext_hint+="*."+E->get();
+ for (List<String>::Element *E = script_extensions.front(); E; E = E->next()) {
+ if (script_ext_hint != String())
+ script_ext_hint += ",";
+ script_ext_hint += "*." + E->get();
}
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"function/base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/base_script",PROPERTY_HINT_FILE,script_ext_hint),"set_base_script","get_base_script");
-
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "function/base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/base_script", PROPERTY_HINT_FILE, script_ext_hint), "set_base_script", "get_base_script");
}
VisualScriptTypeCast::VisualScriptTypeCast() {
- base_type="Object";
+ base_type = "Object";
}
-
void register_visual_script_flow_control_nodes() {
- VisualScriptLanguage::singleton->add_register_func("flow_control/return",create_return_node<false>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/return_with_value",create_return_node<true>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/condition",create_node_generic<VisualScriptCondition>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/while",create_node_generic<VisualScriptWhile>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/iterator",create_node_generic<VisualScriptIterator>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/sequence",create_node_generic<VisualScriptSequence>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/switch",create_node_generic<VisualScriptSwitch>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/input_filter",create_node_generic<VisualScriptInputFilter>);
- VisualScriptLanguage::singleton->add_register_func("flow_control/type_cast",create_node_generic<VisualScriptTypeCast>);
-
-
-
+ VisualScriptLanguage::singleton->add_register_func("flow_control/return", create_return_node<false>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/return_with_value", create_return_node<true>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/condition", create_node_generic<VisualScriptCondition>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/while", create_node_generic<VisualScriptWhile>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/iterator", create_node_generic<VisualScriptIterator>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/sequence", create_node_generic<VisualScriptSequence>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/switch", create_node_generic<VisualScriptSwitch>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/input_filter", create_node_generic<VisualScriptInputFilter>);
+ VisualScriptLanguage::singleton->add_register_func("flow_control/type_cast", create_node_generic<VisualScriptTypeCast>);
}
diff --git a/modules/visual_script/visual_script_flow_control.h b/modules/visual_script/visual_script_flow_control.h
index 8406bb5a5b..1739f67b5b 100644
--- a/modules/visual_script/visual_script_flow_control.h
+++ b/modules/visual_script/visual_script_flow_control.h
@@ -33,27 +33,23 @@
class VisualScriptReturn : public VisualScriptNode {
- GDCLASS(VisualScriptReturn,VisualScriptNode)
-
+ GDCLASS(VisualScriptReturn, VisualScriptNode)
Variant::Type type;
bool with_value;
-protected:
+protected:
static void _bind_methods();
-public:
+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;
@@ -67,35 +63,27 @@ public:
void set_enable_return_value(bool p_enable);
bool is_return_value_enabled() const;
-
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptReturn();
};
-
class VisualScriptCondition : public VisualScriptNode {
- GDCLASS(VisualScriptCondition,VisualScriptNode)
-
-
+ GDCLASS(VisualScriptCondition, VisualScriptNode)
protected:
-
static void _bind_methods();
-public:
+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;
@@ -103,35 +91,27 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
-
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptCondition();
};
-
class VisualScriptWhile : public VisualScriptNode {
- GDCLASS(VisualScriptWhile,VisualScriptNode)
-
-
+ GDCLASS(VisualScriptWhile, VisualScriptNode)
protected:
-
static void _bind_methods();
-public:
+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;
@@ -139,36 +119,27 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
-
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptWhile();
};
-
-
class VisualScriptIterator : public VisualScriptNode {
- GDCLASS(VisualScriptIterator,VisualScriptNode)
-
-
+ GDCLASS(VisualScriptIterator, VisualScriptNode)
protected:
-
static void _bind_methods();
-public:
+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;
@@ -176,37 +147,29 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
-
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptIterator();
};
-
-
class VisualScriptSequence : public VisualScriptNode {
- GDCLASS(VisualScriptSequence,VisualScriptNode)
-
+ GDCLASS(VisualScriptSequence, VisualScriptNode)
int steps;
protected:
-
static void _bind_methods();
-public:
+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;
@@ -217,47 +180,41 @@ public:
void set_steps(int p_steps);
int get_steps() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptSequence();
};
-
-
-
class VisualScriptSwitch : public VisualScriptNode {
- GDCLASS(VisualScriptSwitch,VisualScriptNode)
+ GDCLASS(VisualScriptSwitch, VisualScriptNode)
struct Case {
Variant::Type type;
- Case() { type=Variant::NIL; }
+ Case() { type = Variant::NIL; }
};
Vector<Case> case_values;
-friend class VisualScriptNodeInstanceSwitch;
-protected:
+ friend class VisualScriptNodeInstanceSwitch;
- 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;
+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:
+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 bool has_mixed_input_and_sequence_ports() const { return true; }
-
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;
@@ -265,40 +222,31 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptSwitch();
};
-
-
-
class VisualScriptInputFilter : public VisualScriptNode {
- GDCLASS(VisualScriptInputFilter,VisualScriptNode)
+ GDCLASS(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;
+ 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;
@@ -306,40 +254,30 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptInputFilter();
};
-
-
-
-
class VisualScriptTypeCast : public VisualScriptNode {
- GDCLASS(VisualScriptTypeCast,VisualScriptNode)
-
+ GDCLASS(VisualScriptTypeCast, VisualScriptNode)
StringName base_type;
String script;
protected:
-
static void _bind_methods();
-public:
+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;
@@ -347,23 +285,17 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
- void set_base_type(const StringName& p_type);
+ void set_base_type(const StringName &p_type);
StringName get_base_type() const;
- void set_base_script(const String& p_path);
+ void set_base_script(const String &p_path);
String get_base_script() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptTypeCast();
};
-
-
-
void register_visual_script_flow_control_nodes();
-
-
#endif // VISUAL_SCRIPT_FLOW_CONTROL_H
diff --git a/modules/visual_script/visual_script_func_nodes.cpp b/modules/visual_script/visual_script_func_nodes.cpp
index c9ed49ee5c..3cd20050ce 100644
--- a/modules/visual_script/visual_script_func_nodes.cpp
+++ b/modules/visual_script/visual_script_func_nodes.cpp
@@ -28,12 +28,12 @@
/*************************************************************************/
#include "visual_script_func_nodes.h"
-#include "scene/main/scene_main_loop.h"
+#include "global_config.h"
+#include "io/resource_loader.h"
#include "os/os.h"
#include "scene/main/node.h"
+#include "scene/main/scene_main_loop.h"
#include "visual_script_nodes.h"
-#include "io/resource_loader.h"
-#include "global_config.h"
//////////////////////////////////////////
////////////////CALL//////////////////////
@@ -41,33 +41,33 @@
int VisualScriptFunctionCall::get_output_sequence_port_count() const {
- if (method_cache.flags&METHOD_FLAG_CONST || call_mode==CALL_MODE_BASIC_TYPE)
+ if (method_cache.flags & METHOD_FLAG_CONST || call_mode == CALL_MODE_BASIC_TYPE)
return 0;
else
return 1;
}
-bool VisualScriptFunctionCall::has_input_sequence_port() const{
+bool VisualScriptFunctionCall::has_input_sequence_port() const {
- if (method_cache.flags&METHOD_FLAG_CONST || call_mode==CALL_MODE_BASIC_TYPE)
+ if (method_cache.flags & METHOD_FLAG_CONST || call_mode == CALL_MODE_BASIC_TYPE)
return false;
else
return true;
}
#ifdef TOOLS_ENABLED
-static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const Ref<Script> &script) {
+static Node *_find_script_node(Node *p_edited_scene, Node *p_current_node, const Ref<Script> &script) {
- if (p_edited_scene!=p_current_node && p_current_node->get_owner()!=p_edited_scene)
+ if (p_edited_scene != p_current_node && p_current_node->get_owner() != p_edited_scene)
return NULL;
Ref<Script> scr = p_current_node->get_script();
- if (scr.is_valid() && scr==script)
+ if (scr.is_valid() && scr == script)
return p_current_node;
- for(int i=0;i<p_current_node->get_child_count();i++) {
- Node *n = _find_script_node(p_edited_scene,p_current_node->get_child(i),script);
+ for (int i = 0; i < p_current_node->get_child_count(); i++) {
+ Node *n = _find_script_node(p_edited_scene, p_current_node->get_child(i), script);
if (n)
return n;
}
@@ -83,7 +83,7 @@ Node *VisualScriptFunctionCall::_get_base_node() const {
if (!script.is_valid())
return NULL;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return NULL;
@@ -97,7 +97,7 @@ Node *VisualScriptFunctionCall::_get_base_node() const {
if (!edited_scene)
return NULL;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return NULL;
@@ -116,55 +116,51 @@ Node *VisualScriptFunctionCall::_get_base_node() const {
StringName VisualScriptFunctionCall::_get_base_type() const {
- if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid())
+ if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid())
return get_visual_script()->get_instance_base_type();
- else if (call_mode==CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
+ else if (call_mode == CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
Node *path = _get_base_node();
if (path)
return path->get_class();
-
}
return base_type;
}
+int VisualScriptFunctionCall::get_input_value_port_count() const {
-int VisualScriptFunctionCall::get_input_value_port_count() const{
-
- if (call_mode==CALL_MODE_BASIC_TYPE) {
-
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- Vector<StringName> names = Variant::get_method_argument_names(basic_type,function);
- return names.size() + (rpc_call_mode>=RPC_RELIABLE_TO_ID?1:0) + 1;
+ Vector<StringName> names = Variant::get_method_argument_names(basic_type, function);
+ return names.size() + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) + 1;
} else {
- MethodBind *mb = ClassDB::get_method(_get_base_type(),function);
+ MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
- return mb->get_argument_count() + (call_mode==CALL_MODE_INSTANCE?1:0) + (rpc_call_mode>=RPC_RELIABLE_TO_ID?1:0) - use_default_args;
+ return mb->get_argument_count() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - use_default_args;
}
- return method_cache.arguments.size() + (call_mode==CALL_MODE_INSTANCE?1:0) + (rpc_call_mode>=RPC_RELIABLE_TO_ID?1:0) - use_default_args;
+ return method_cache.arguments.size() + (call_mode == CALL_MODE_INSTANCE ? 1 : 0) + (rpc_call_mode >= RPC_RELIABLE_TO_ID ? 1 : 0) - use_default_args;
}
-
}
-int VisualScriptFunctionCall::get_output_value_port_count() const{
+int VisualScriptFunctionCall::get_output_value_port_count() const {
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- bool returns=false;
- Variant::get_method_return_type(basic_type,function,&returns);
- return returns?1:0;
+ bool returns = false;
+ Variant::get_method_return_type(basic_type, function, &returns);
+ return returns ? 1 : 0;
} else {
int ret;
- MethodBind *mb = ClassDB::get_method(_get_base_type(),function);
+ MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
ret = mb->has_return() ? 1 : 0;
} else
ret = 1; //it is assumed that script always returns something
- if (call_mode==CALL_MODE_INSTANCE) {
+ if (call_mode == CALL_MODE_INSTANCE) {
ret++;
}
@@ -177,46 +173,44 @@ String VisualScriptFunctionCall::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptFunctionCall::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptFunctionCall::get_input_value_port_info(int p_idx) const {
- if (call_mode==CALL_MODE_INSTANCE || call_mode==CALL_MODE_BASIC_TYPE) {
- if (p_idx==0) {
+ if (call_mode == CALL_MODE_INSTANCE || call_mode == CALL_MODE_BASIC_TYPE) {
+ if (p_idx == 0) {
PropertyInfo pi;
- pi.type=(call_mode==CALL_MODE_INSTANCE?Variant::OBJECT:basic_type);
- pi.name=(call_mode==CALL_MODE_INSTANCE?String("instance"):Variant::get_type_name(basic_type).to_lower());
+ pi.type = (call_mode == CALL_MODE_INSTANCE ? Variant::OBJECT : basic_type);
+ pi.name = (call_mode == CALL_MODE_INSTANCE ? String("instance") : Variant::get_type_name(basic_type).to_lower());
return pi;
} else {
p_idx--;
}
}
- if (rpc_call_mode>=RPC_RELIABLE_TO_ID) {
+ if (rpc_call_mode >= RPC_RELIABLE_TO_ID) {
- if (p_idx==0) {
- return PropertyInfo(Variant::INT,"peer_id");
+ if (p_idx == 0) {
+ return PropertyInfo(Variant::INT, "peer_id");
} else {
p_idx--;
}
-
}
#ifdef DEBUG_METHODS_ENABLED
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
-
- Vector<StringName> names = Variant::get_method_argument_names(basic_type,function);
- Vector<Variant::Type> types = Variant::get_method_argument_types(basic_type,function);
- return PropertyInfo(types[p_idx],names[p_idx]);
+ Vector<StringName> names = Variant::get_method_argument_names(basic_type, function);
+ Vector<Variant::Type> types = Variant::get_method_argument_types(basic_type, function);
+ return PropertyInfo(types[p_idx], names[p_idx]);
} else {
- MethodBind *mb = ClassDB::get_method(_get_base_type(),function);
+ MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
return mb->get_argument_info(p_idx);
}
- if (p_idx>=0 && p_idx < method_cache.arguments.size()) {
+ if (p_idx >= 0 && p_idx < method_cache.arguments.size()) {
return method_cache.arguments[p_idx];
}
@@ -225,23 +219,20 @@ PropertyInfo VisualScriptFunctionCall::get_input_value_port_info(int p_idx) cons
#else
return PropertyInfo();
#endif
-
}
-PropertyInfo VisualScriptFunctionCall::get_output_value_port_info(int p_idx) const{
-
+PropertyInfo VisualScriptFunctionCall::get_output_value_port_info(int p_idx) const {
#ifdef DEBUG_METHODS_ENABLED
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
-
- return PropertyInfo(Variant::get_method_return_type(basic_type,function),"");
+ return PropertyInfo(Variant::get_method_return_type(basic_type, function), "");
} else {
- if (call_mode==CALL_MODE_INSTANCE) {
- if (p_idx==0) {
- return PropertyInfo(Variant::OBJECT,"pass");
+ if (call_mode == CALL_MODE_INSTANCE) {
+ if (p_idx == 0) {
+ return PropertyInfo(Variant::OBJECT, "pass");
} else {
p_idx--;
}
@@ -259,24 +250,21 @@ PropertyInfo VisualScriptFunctionCall::get_output_value_port_info(int p_idx) con
//}
- if (call_mode==CALL_MODE_INSTANCE) {
- ret.name="return";
+ if (call_mode == CALL_MODE_INSTANCE) {
+ ret.name = "return";
} else {
- ret.name="";
+ ret.name = "";
}
return ret;
-
-
}
#else
return PropertyInfo();
#endif
}
-
String VisualScriptFunctionCall::get_caption() const {
- static const char*cname[5]= {
+ static const char *cname[5] = {
"CallSelf",
"CallNode",
"CallInstance",
@@ -287,7 +275,7 @@ String VisualScriptFunctionCall::get_caption() const {
String caption = cname[call_mode];
if (rpc_call_mode) {
- caption+=" (RPC)";
+ caption += " (RPC)";
}
return caption;
@@ -295,57 +283,54 @@ String VisualScriptFunctionCall::get_caption() const {
String VisualScriptFunctionCall::get_text() const {
- if (call_mode==CALL_MODE_SELF)
- return " "+String(function)+"()";
- if (call_mode==CALL_MODE_SINGLETON)
- return String(singleton)+":"+String(function)+"()";
- else if (call_mode==CALL_MODE_BASIC_TYPE)
- return Variant::get_type_name(basic_type)+"."+String(function)+"()";
- else if (call_mode==CALL_MODE_NODE_PATH)
- return " ["+String(base_path.simplified())+"]."+String(function)+"()";
+ if (call_mode == CALL_MODE_SELF)
+ return " " + String(function) + "()";
+ if (call_mode == CALL_MODE_SINGLETON)
+ return String(singleton) + ":" + String(function) + "()";
+ else if (call_mode == CALL_MODE_BASIC_TYPE)
+ return Variant::get_type_name(basic_type) + "." + String(function) + "()";
+ else if (call_mode == CALL_MODE_NODE_PATH)
+ return " [" + String(base_path.simplified()) + "]." + String(function) + "()";
else
- return " "+base_type+"."+String(function)+"()";
-
+ return " " + base_type + "." + String(function) + "()";
}
-
void VisualScriptFunctionCall::set_basic_type(Variant::Type p_type) {
- if (basic_type==p_type)
+ if (basic_type == p_type)
return;
- basic_type=p_type;
-
+ basic_type = p_type;
_change_notify();
ports_changed_notify();
}
-Variant::Type VisualScriptFunctionCall::get_basic_type() const{
+Variant::Type VisualScriptFunctionCall::get_basic_type() const {
return basic_type;
}
-void VisualScriptFunctionCall::set_base_type(const StringName& p_type) {
+void VisualScriptFunctionCall::set_base_type(const StringName &p_type) {
- if (base_type==p_type)
+ if (base_type == p_type)
return;
- base_type=p_type;
+ base_type = p_type;
_change_notify();
ports_changed_notify();
}
-StringName VisualScriptFunctionCall::get_base_type() const{
+StringName VisualScriptFunctionCall::get_base_type() const {
return base_type;
}
-void VisualScriptFunctionCall::set_base_script(const String& p_path) {
+void VisualScriptFunctionCall::set_base_script(const String &p_path) {
- if (base_script==p_path)
+ if (base_script == p_path)
return;
- base_script=p_path;
+ base_script = p_path;
_change_notify();
ports_changed_notify();
}
@@ -355,15 +340,15 @@ String VisualScriptFunctionCall::get_base_script() const {
return base_script;
}
-void VisualScriptFunctionCall::set_singleton(const StringName& p_path) {
+void VisualScriptFunctionCall::set_singleton(const StringName &p_path) {
- if (singleton==p_path)
+ if (singleton == p_path)
return;
- singleton=p_path;
+ singleton = p_path;
Object *obj = GlobalConfig::get_singleton()->get_singleton_object(singleton);
if (obj) {
- base_type=obj->get_class();
+ base_type = obj->get_class();
}
_change_notify();
@@ -375,40 +360,38 @@ StringName VisualScriptFunctionCall::get_singleton() const {
return singleton;
}
-
-
void VisualScriptFunctionCall::_update_method_cache() {
StringName type;
Ref<Script> script;
- if (call_mode==CALL_MODE_NODE_PATH) {
+ if (call_mode == CALL_MODE_NODE_PATH) {
- Node* node=_get_base_node();
+ Node *node = _get_base_node();
if (node) {
- type=node->get_class();
- base_type=type; //cache, too
+ type = node->get_class();
+ base_type = type; //cache, too
script = node->get_script();
}
- } else if (call_mode==CALL_MODE_SELF) {
+ } else if (call_mode == CALL_MODE_SELF) {
if (get_visual_script().is_valid()) {
- type=get_visual_script()->get_instance_base_type();
- base_type=type; //cache, too
- script=get_visual_script();
+ type = get_visual_script()->get_instance_base_type();
+ base_type = type; //cache, too
+ script = get_visual_script();
}
- } else if (call_mode==CALL_MODE_SINGLETON) {
+ } else if (call_mode == CALL_MODE_SINGLETON) {
Object *obj = GlobalConfig::get_singleton()->get_singleton_object(singleton);
if (obj) {
- type=obj->get_class();
- script=obj->get_script();
+ type = obj->get_class();
+ script = obj->get_script();
}
- } else if (call_mode==CALL_MODE_INSTANCE) {
+ } else if (call_mode == CALL_MODE_INSTANCE) {
- type=base_type;
- if (base_script!=String()) {
+ type = base_type;
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
@@ -417,20 +400,19 @@ void VisualScriptFunctionCall::_update_method_cache() {
if (ResourceCache::has(base_script)) {
- script = Ref<Resource>( ResourceCache::get(base_script) );
+ script = Ref<Resource>(ResourceCache::get(base_script));
} else {
return;
}
}
}
-
//print_line("BASE: "+String(type)+" FUNC: "+String(function));
- MethodBind *mb = ClassDB::get_method(type,function);
+ MethodBind *mb = ClassDB::get_method(type, function);
if (mb) {
- use_default_args=mb->get_default_argument_count();
+ use_default_args = mb->get_default_argument_count();
method_cache = MethodInfo();
- for(int i=0;i<mb->get_argument_count();i++) {
+ for (int i = 0; i < mb->get_argument_count(); i++) {
#ifdef DEBUG_METHODS_ENABLED
method_cache.arguments.push_back(mb->get_argument_info(i));
#else
@@ -439,7 +421,7 @@ void VisualScriptFunctionCall::_update_method_cache() {
}
if (mb->is_const()) {
- method_cache.flags|=METHOD_FLAG_CONST;
+ method_cache.flags |= METHOD_FLAG_CONST;
}
#ifdef DEBUG_METHODS_ENABLED
@@ -449,50 +431,47 @@ void VisualScriptFunctionCall::_update_method_cache() {
if (mb->is_vararg()) {
//for vararg just give it 10 arguments (should be enough for most use cases)
- for(int i=0;i<10;i++) {
- method_cache.arguments.push_back(PropertyInfo(Variant::NIL,"arg"+itos(i)));
+ for (int i = 0; i < 10; i++) {
+ method_cache.arguments.push_back(PropertyInfo(Variant::NIL, "arg" + itos(i)));
use_default_args++;
}
}
} else if (script.is_valid() && script->has_method(function)) {
method_cache = script->get_method_info(function);
- use_default_args=method_cache.default_arguments.size();
+ use_default_args = method_cache.default_arguments.size();
}
}
-void VisualScriptFunctionCall::set_function(const StringName& p_type){
+void VisualScriptFunctionCall::set_function(const StringName &p_type) {
- if (function==p_type)
+ if (function == p_type)
return;
- function=p_type;
+ function = p_type;
- if (call_mode==CALL_MODE_BASIC_TYPE) {
- use_default_args = Variant::get_method_default_arguments(basic_type,function).size();
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
+ use_default_args = Variant::get_method_default_arguments(basic_type, function).size();
} else {
//update all caches
_update_method_cache();
-
}
-
_change_notify();
ports_changed_notify();
}
StringName VisualScriptFunctionCall::get_function() const {
-
return function;
}
-void VisualScriptFunctionCall::set_base_path(const NodePath& p_type) {
+void VisualScriptFunctionCall::set_base_path(const NodePath &p_type) {
- if (base_path==p_type)
+ if (base_path == p_type)
return;
- base_path=p_type;
+ base_path = p_type;
_change_notify();
ports_changed_notify();
}
@@ -502,16 +481,14 @@ NodePath VisualScriptFunctionCall::get_base_path() const {
return base_path;
}
-
void VisualScriptFunctionCall::set_call_mode(CallMode p_mode) {
- if (call_mode==p_mode)
+ if (call_mode == p_mode)
return;
- call_mode=p_mode;
+ call_mode = p_mode;
_change_notify();
ports_changed_notify();
-
}
VisualScriptFunctionCall::CallMode VisualScriptFunctionCall::get_call_mode() const {
@@ -520,39 +497,35 @@ VisualScriptFunctionCall::CallMode VisualScriptFunctionCall::get_call_mode() con
void VisualScriptFunctionCall::set_use_default_args(int p_amount) {
- if (use_default_args==p_amount)
+ if (use_default_args == p_amount)
return;
- use_default_args=p_amount;
+ use_default_args = p_amount;
ports_changed_notify();
-
-
}
void VisualScriptFunctionCall::set_rpc_call_mode(VisualScriptFunctionCall::RPCCallMode p_mode) {
- if (rpc_call_mode==p_mode)
+ if (rpc_call_mode == p_mode)
return;
- rpc_call_mode=p_mode;
+ rpc_call_mode = p_mode;
ports_changed_notify();
_change_notify();
}
-VisualScriptFunctionCall::RPCCallMode VisualScriptFunctionCall::get_rpc_call_mode() const{
+VisualScriptFunctionCall::RPCCallMode VisualScriptFunctionCall::get_rpc_call_mode() const {
return rpc_call_mode;
}
-
-int VisualScriptFunctionCall::get_use_default_args() const{
+int VisualScriptFunctionCall::get_use_default_args() const {
return use_default_args;
}
-
void VisualScriptFunctionCall::set_validate(bool p_amount) {
- validate=p_amount;
+ validate = p_amount;
}
bool VisualScriptFunctionCall::get_validate() const {
@@ -560,11 +533,9 @@ bool VisualScriptFunctionCall::get_validate() const {
return validate;
}
-
-void VisualScriptFunctionCall::_set_argument_cache(const Dictionary& p_cache) {
+void VisualScriptFunctionCall::_set_argument_cache(const Dictionary &p_cache) {
//so everything works in case all else fails
- method_cache=MethodInfo::from_dict(p_cache);
-
+ method_cache = MethodInfo::from_dict(p_cache);
}
Dictionary VisualScriptFunctionCall::_get_argument_cache() const {
@@ -572,84 +543,82 @@ Dictionary VisualScriptFunctionCall::_get_argument_cache() const {
return method_cache;
}
-void VisualScriptFunctionCall::_validate_property(PropertyInfo& property) const {
+void VisualScriptFunctionCall::_validate_property(PropertyInfo &property) const {
- if (property.name=="function/base_type") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=PROPERTY_USAGE_NOEDITOR;
+ if (property.name == "function/base_type") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = PROPERTY_USAGE_NOEDITOR;
}
}
- if (property.name=="function/base_script") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=0;
+ if (property.name == "function/base_script") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = 0;
}
}
- if (property.name=="function/basic_type") {
- if (call_mode!=CALL_MODE_BASIC_TYPE) {
- property.usage=0;
+ if (property.name == "function/basic_type") {
+ if (call_mode != CALL_MODE_BASIC_TYPE) {
+ property.usage = 0;
}
}
- if (property.name=="function/singleton") {
- if (call_mode!=CALL_MODE_SINGLETON) {
- property.usage=0;
+ if (property.name == "function/singleton") {
+ if (call_mode != CALL_MODE_SINGLETON) {
+ property.usage = 0;
} else {
List<GlobalConfig::Singleton> names;
GlobalConfig::get_singleton()->get_singletons(&names);
- property.hint=PROPERTY_HINT_ENUM;
+ property.hint = PROPERTY_HINT_ENUM;
String sl;
- for (List<GlobalConfig::Singleton>::Element *E=names.front();E;E=E->next()) {
- if (sl!=String())
- sl+=",";
- sl+=E->get().name;
+ for (List<GlobalConfig::Singleton>::Element *E = names.front(); E; E = E->next()) {
+ if (sl != String())
+ sl += ",";
+ sl += E->get().name;
}
- property.hint_string=sl;
-
+ property.hint_string = sl;
}
}
- if (property.name=="function/node_path") {
- if (call_mode!=CALL_MODE_NODE_PATH) {
- property.usage=0;
+ if (property.name == "function/node_path") {
+ if (call_mode != CALL_MODE_NODE_PATH) {
+ property.usage = 0;
} else {
Node *bnode = _get_base_node();
if (bnode) {
- property.hint_string=bnode->get_path(); //convert to loong string
+ property.hint_string = bnode->get_path(); //convert to loong string
} else {
-
}
}
}
- if (property.name=="function/function") {
+ if (property.name == "function/function") {
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- property.hint=PROPERTY_HINT_METHOD_OF_VARIANT_TYPE;
- property.hint_string=Variant::get_type_name(basic_type);
+ property.hint = PROPERTY_HINT_METHOD_OF_VARIANT_TYPE;
+ property.hint_string = Variant::get_type_name(basic_type);
- } else if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid()) {
- property.hint=PROPERTY_HINT_METHOD_OF_SCRIPT;
- property.hint_string=itos(get_visual_script()->get_instance_ID());
- } else if (call_mode==CALL_MODE_SINGLETON) {
+ } else if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid()) {
+ property.hint = PROPERTY_HINT_METHOD_OF_SCRIPT;
+ property.hint_string = itos(get_visual_script()->get_instance_ID());
+ } else if (call_mode == CALL_MODE_SINGLETON) {
Object *obj = GlobalConfig::get_singleton()->get_singleton_object(singleton);
if (obj) {
- property.hint=PROPERTY_HINT_METHOD_OF_INSTANCE;
- property.hint_string=itos(obj->get_instance_ID());
+ property.hint = PROPERTY_HINT_METHOD_OF_INSTANCE;
+ property.hint_string = itos(obj->get_instance_ID());
} else {
- property.hint=PROPERTY_HINT_METHOD_OF_BASE_TYPE;
- property.hint_string=base_type;//should be cached
+ property.hint = PROPERTY_HINT_METHOD_OF_BASE_TYPE;
+ property.hint_string = base_type; //should be cached
}
- } else if (call_mode==CALL_MODE_INSTANCE) {
- property.hint=PROPERTY_HINT_METHOD_OF_BASE_TYPE;
- property.hint_string=base_type;
+ } else if (call_mode == CALL_MODE_INSTANCE) {
+ property.hint = PROPERTY_HINT_METHOD_OF_BASE_TYPE;
+ property.hint_string = base_type;
- if (base_script!=String()) {
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
ScriptServer::edit_request_func(base_script); //make sure it's loaded
@@ -657,143 +626,134 @@ void VisualScriptFunctionCall::_validate_property(PropertyInfo& property) const
if (ResourceCache::has(base_script)) {
- Ref<Script> script = Ref<Resource>( ResourceCache::get(base_script) );
+ Ref<Script> script = Ref<Resource>(ResourceCache::get(base_script));
if (script.is_valid()) {
- property.hint=PROPERTY_HINT_METHOD_OF_SCRIPT;
- property.hint_string=itos(script->get_instance_ID());
+ property.hint = PROPERTY_HINT_METHOD_OF_SCRIPT;
+ property.hint_string = itos(script->get_instance_ID());
}
}
}
- } else if (call_mode==CALL_MODE_NODE_PATH) {
+ } else if (call_mode == CALL_MODE_NODE_PATH) {
Node *node = _get_base_node();
if (node) {
- property.hint=PROPERTY_HINT_METHOD_OF_INSTANCE;
- property.hint_string=itos(node->get_instance_ID());
+ property.hint = PROPERTY_HINT_METHOD_OF_INSTANCE;
+ property.hint_string = itos(node->get_instance_ID());
} else {
- property.hint=PROPERTY_HINT_METHOD_OF_BASE_TYPE;
- property.hint_string=get_base_type();
+ property.hint = PROPERTY_HINT_METHOD_OF_BASE_TYPE;
+ property.hint_string = get_base_type();
}
-
}
-
}
- if (property.name=="function/use_default_args") {
+ if (property.name == "function/use_default_args") {
- property.hint=PROPERTY_HINT_RANGE;
+ property.hint = PROPERTY_HINT_RANGE;
- int mc=0;
+ int mc = 0;
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- mc = Variant::get_method_default_arguments(basic_type,function).size();
+ mc = Variant::get_method_default_arguments(basic_type, function).size();
} else {
- MethodBind *mb = ClassDB::get_method(_get_base_type(),function);
+ MethodBind *mb = ClassDB::get_method(_get_base_type(), function);
if (mb) {
- mc=mb->get_default_argument_count();
+ mc = mb->get_default_argument_count();
}
}
- if (mc==0) {
- property.usage=0; //do not show
+ if (mc == 0) {
+ property.usage = 0; //do not show
} else {
- property.hint_string="0,"+itos(mc)+",1";
+ property.hint_string = "0," + itos(mc) + ",1";
}
}
- if (property.name=="rpc/call_mode") {
- if (call_mode==CALL_MODE_BASIC_TYPE) {
- property.usage=0;
+ if (property.name == "rpc/call_mode") {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
+ property.usage = 0;
}
}
-
}
-
void VisualScriptFunctionCall::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_base_type","base_type"),&VisualScriptFunctionCall::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptFunctionCall::get_base_type);
+ ClassDB::bind_method(D_METHOD("set_base_type", "base_type"), &VisualScriptFunctionCall::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptFunctionCall::get_base_type);
- ClassDB::bind_method(D_METHOD("set_base_script","base_script"),&VisualScriptFunctionCall::set_base_script);
- ClassDB::bind_method(D_METHOD("get_base_script"),&VisualScriptFunctionCall::get_base_script);
+ ClassDB::bind_method(D_METHOD("set_base_script", "base_script"), &VisualScriptFunctionCall::set_base_script);
+ ClassDB::bind_method(D_METHOD("get_base_script"), &VisualScriptFunctionCall::get_base_script);
- ClassDB::bind_method(D_METHOD("set_basic_type","basic_type"),&VisualScriptFunctionCall::set_basic_type);
- ClassDB::bind_method(D_METHOD("get_basic_type"),&VisualScriptFunctionCall::get_basic_type);
+ ClassDB::bind_method(D_METHOD("set_basic_type", "basic_type"), &VisualScriptFunctionCall::set_basic_type);
+ ClassDB::bind_method(D_METHOD("get_basic_type"), &VisualScriptFunctionCall::get_basic_type);
- ClassDB::bind_method(D_METHOD("set_singleton","singleton"),&VisualScriptFunctionCall::set_singleton);
- ClassDB::bind_method(D_METHOD("get_singleton"),&VisualScriptFunctionCall::get_singleton);
+ ClassDB::bind_method(D_METHOD("set_singleton", "singleton"), &VisualScriptFunctionCall::set_singleton);
+ ClassDB::bind_method(D_METHOD("get_singleton"), &VisualScriptFunctionCall::get_singleton);
- ClassDB::bind_method(D_METHOD("set_function","function"),&VisualScriptFunctionCall::set_function);
- ClassDB::bind_method(D_METHOD("get_function"),&VisualScriptFunctionCall::get_function);
+ ClassDB::bind_method(D_METHOD("set_function", "function"), &VisualScriptFunctionCall::set_function);
+ ClassDB::bind_method(D_METHOD("get_function"), &VisualScriptFunctionCall::get_function);
- ClassDB::bind_method(D_METHOD("set_call_mode","mode"),&VisualScriptFunctionCall::set_call_mode);
- ClassDB::bind_method(D_METHOD("get_call_mode"),&VisualScriptFunctionCall::get_call_mode);
+ ClassDB::bind_method(D_METHOD("set_call_mode", "mode"), &VisualScriptFunctionCall::set_call_mode);
+ ClassDB::bind_method(D_METHOD("get_call_mode"), &VisualScriptFunctionCall::get_call_mode);
- ClassDB::bind_method(D_METHOD("set_base_path","base_path"),&VisualScriptFunctionCall::set_base_path);
- ClassDB::bind_method(D_METHOD("get_base_path"),&VisualScriptFunctionCall::get_base_path);
+ ClassDB::bind_method(D_METHOD("set_base_path", "base_path"), &VisualScriptFunctionCall::set_base_path);
+ ClassDB::bind_method(D_METHOD("get_base_path"), &VisualScriptFunctionCall::get_base_path);
- ClassDB::bind_method(D_METHOD("set_use_default_args","amount"),&VisualScriptFunctionCall::set_use_default_args);
- ClassDB::bind_method(D_METHOD("get_use_default_args"),&VisualScriptFunctionCall::get_use_default_args);
+ ClassDB::bind_method(D_METHOD("set_use_default_args", "amount"), &VisualScriptFunctionCall::set_use_default_args);
+ ClassDB::bind_method(D_METHOD("get_use_default_args"), &VisualScriptFunctionCall::get_use_default_args);
- ClassDB::bind_method(D_METHOD("_set_argument_cache","argument_cache"),&VisualScriptFunctionCall::_set_argument_cache);
- ClassDB::bind_method(D_METHOD("_get_argument_cache"),&VisualScriptFunctionCall::_get_argument_cache);
+ ClassDB::bind_method(D_METHOD("_set_argument_cache", "argument_cache"), &VisualScriptFunctionCall::_set_argument_cache);
+ ClassDB::bind_method(D_METHOD("_get_argument_cache"), &VisualScriptFunctionCall::_get_argument_cache);
- ClassDB::bind_method(D_METHOD("set_rpc_call_mode","mode"),&VisualScriptFunctionCall::set_rpc_call_mode);
- ClassDB::bind_method(D_METHOD("get_rpc_call_mode"),&VisualScriptFunctionCall::get_rpc_call_mode);
+ ClassDB::bind_method(D_METHOD("set_rpc_call_mode", "mode"), &VisualScriptFunctionCall::set_rpc_call_mode);
+ ClassDB::bind_method(D_METHOD("get_rpc_call_mode"), &VisualScriptFunctionCall::get_rpc_call_mode);
- ClassDB::bind_method(D_METHOD("set_validate","enable"),&VisualScriptFunctionCall::set_validate);
- ClassDB::bind_method(D_METHOD("get_validate"),&VisualScriptFunctionCall::get_validate);
+ ClassDB::bind_method(D_METHOD("set_validate", "enable"), &VisualScriptFunctionCall::set_validate);
+ ClassDB::bind_method(D_METHOD("get_validate"), &VisualScriptFunctionCall::get_validate);
String bt;
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- if (i>0)
- bt+=",";
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ if (i > 0)
+ bt += ",";
- bt+=Variant::get_type_name(Variant::Type(i));
+ bt += Variant::get_type_name(Variant::Type(i));
}
-
List<String> script_extensions;
- for(int i=0;i<ScriptServer::get_language_count();i++) {
+ for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->get_recognized_extensions(&script_extensions);
}
String script_ext_hint;
- for (List<String>::Element *E=script_extensions.front();E;E=E->next()) {
- if (script_ext_hint!=String())
- script_ext_hint+=",";
- script_ext_hint+="*."+E->get();
- }
-
-
-
- ADD_PROPERTY(PropertyInfo(Variant::INT,"function/call_mode",PROPERTY_HINT_ENUM,"Self,Node Path,Instance,Basic Type,Singleton"),"set_call_mode","get_call_mode");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"function/base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"function/base_script",PROPERTY_HINT_FILE,script_ext_hint),"set_base_script","get_base_script");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"function/singleton"),"set_singleton","get_singleton");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"function/basic_type",PROPERTY_HINT_ENUM,bt),"set_basic_type","get_basic_type");
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH,"function/node_path",PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE),"set_base_path","get_base_path");
- ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY,"function/argument_cache",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_argument_cache","_get_argument_cache");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"function/function"),"set_function","get_function"); //when set, if loaded properly, will override argument count.
- ADD_PROPERTY(PropertyInfo(Variant::INT,"function/use_default_args"),"set_use_default_args","get_use_default_args");
- ADD_PROPERTY(PropertyInfo(Variant::BOOL,"function/validate"),"set_validate","get_validate");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"rpc/call_mode",PROPERTY_HINT_ENUM,"Disabled,Reliable,Unreliable,ReliableToID,UnreliableToID"),"set_rpc_call_mode","get_rpc_call_mode"); //when set, if loaded properly, will override argument count.
-
- BIND_CONSTANT( CALL_MODE_SELF );
- BIND_CONSTANT( CALL_MODE_NODE_PATH);
- BIND_CONSTANT( CALL_MODE_INSTANCE);
- BIND_CONSTANT( CALL_MODE_BASIC_TYPE );
+ for (List<String>::Element *E = script_extensions.front(); E; E = E->next()) {
+ if (script_ext_hint != String())
+ script_ext_hint += ",";
+ script_ext_hint += "*." + E->get();
+ }
+
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "function/call_mode", PROPERTY_HINT_ENUM, "Self,Node Path,Instance,Basic Type,Singleton"), "set_call_mode", "get_call_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "function/base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "function/base_script", PROPERTY_HINT_FILE, script_ext_hint), "set_base_script", "get_base_script");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "function/singleton"), "set_singleton", "get_singleton");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "function/basic_type", PROPERTY_HINT_ENUM, bt), "set_basic_type", "get_basic_type");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "function/node_path", PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE), "set_base_path", "get_base_path");
+ ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "function/argument_cache", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_argument_cache", "_get_argument_cache");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "function/function"), "set_function", "get_function"); //when set, if loaded properly, will override argument count.
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "function/use_default_args"), "set_use_default_args", "get_use_default_args");
+ ADD_PROPERTY(PropertyInfo(Variant::BOOL, "function/validate"), "set_validate", "get_validate");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "rpc/call_mode", PROPERTY_HINT_ENUM, "Disabled,Reliable,Unreliable,ReliableToID,UnreliableToID"), "set_rpc_call_mode", "get_rpc_call_mode"); //when set, if loaded properly, will override argument count.
+
+ BIND_CONSTANT(CALL_MODE_SELF);
+ BIND_CONSTANT(CALL_MODE_NODE_PATH);
+ BIND_CONSTANT(CALL_MODE_INSTANCE);
+ BIND_CONSTANT(CALL_MODE_BASIC_TYPE);
}
class VisualScriptNodeInstanceFunctionCall : public VisualScriptNodeInstance {
public:
-
-
VisualScriptFunctionCall::CallMode call_mode;
NodePath node_path;
int input_args;
@@ -806,80 +766,76 @@ public:
VisualScriptFunctionCall *node;
VisualScriptInstance *instance;
-
-
//virtual int get_working_memory_size() const { return 0; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
-
- _FORCE_INLINE_ bool call_rpc(Object* p_base,const Variant** p_args,int p_argcount) {
+ _FORCE_INLINE_ bool call_rpc(Object *p_base, const Variant **p_args, int p_argcount) {
if (!p_base)
return false;
- Node * node = p_base->cast_to<Node>();
+ Node *node = p_base->cast_to<Node>();
if (!node)
return false;
- int to_id=0;
- bool reliable=true;
+ int to_id = 0;
+ bool reliable = true;
- if (rpc_mode>=VisualScriptFunctionCall::RPC_RELIABLE_TO_ID) {
+ if (rpc_mode >= VisualScriptFunctionCall::RPC_RELIABLE_TO_ID) {
to_id = *p_args[0];
- p_args+=1;
- p_argcount-=1;
- if (rpc_mode==VisualScriptFunctionCall::RPC_UNRELIABLE_TO_ID) {
- reliable=false;
+ p_args += 1;
+ p_argcount -= 1;
+ if (rpc_mode == VisualScriptFunctionCall::RPC_UNRELIABLE_TO_ID) {
+ reliable = false;
}
- } else if (rpc_mode==VisualScriptFunctionCall::RPC_UNRELIABLE) {
- reliable=false;
+ } else if (rpc_mode == VisualScriptFunctionCall::RPC_UNRELIABLE) {
+ reliable = false;
}
- node->rpcp(to_id,!reliable,function,p_args,p_argcount);
+ node->rpcp(to_id, !reliable, function, p_args, p_argcount);
return true;
}
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
-
- switch(call_mode) {
+ switch (call_mode) {
case VisualScriptFunctionCall::CALL_MODE_SELF: {
- Object *object=instance->get_owner_ptr();
+ Object *object = instance->get_owner_ptr();
if (rpc_mode) {
- call_rpc(object,p_inputs,input_args);
+ call_rpc(object, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = object->call(function,p_inputs,input_args,r_error);
+ *p_outputs[0] = object->call(function, p_inputs, input_args, r_error);
} else {
- object->call(function,p_inputs,input_args,r_error);
+ object->call(function, p_inputs, input_args, r_error);
}
} break;
case VisualScriptFunctionCall::CALL_MODE_NODE_PATH: {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Base object is not a Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Base object is not a Node!";
return 0;
}
- Node* another = node->get_node(node_path);
+ Node *another = node->get_node(node_path);
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Path does not lead Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Path does not lead Node!";
return 0;
}
if (rpc_mode) {
- call_rpc(node,p_inputs,input_args);
+ call_rpc(node, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = another->call(function,p_inputs,input_args,r_error);
+ *p_outputs[0] = another->call(function, p_inputs, input_args, r_error);
} else {
- another->call(function,p_inputs,input_args,r_error);
+ another->call(function, p_inputs, input_args, r_error);
}
} break;
@@ -891,98 +847,90 @@ public:
if (rpc_mode) {
Object *obj = v;
if (obj) {
- call_rpc(obj,p_inputs+1,input_args-1);
+ call_rpc(obj, p_inputs + 1, input_args - 1);
}
} else if (returns) {
- if (call_mode==VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
- *p_outputs[1] = v.call(function,p_inputs+1,input_args,r_error);
+ if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
+ *p_outputs[1] = v.call(function, p_inputs + 1, input_args, r_error);
} else {
- *p_outputs[0] = v.call(function,p_inputs+1,input_args,r_error);
+ *p_outputs[0] = v.call(function, p_inputs + 1, input_args, r_error);
}
} else {
- v.call(function,p_inputs+1,input_args,r_error);
+ v.call(function, p_inputs + 1, input_args, r_error);
}
- if (call_mode==VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
- *p_outputs[0]=*p_inputs[0];
+ if (call_mode == VisualScriptFunctionCall::CALL_MODE_INSTANCE) {
+ *p_outputs[0] = *p_inputs[0];
}
} break;
case VisualScriptFunctionCall::CALL_MODE_SINGLETON: {
- Object *object=GlobalConfig::get_singleton()->get_singleton_object(singleton);
+ Object *object = GlobalConfig::get_singleton()->get_singleton_object(singleton);
if (!object) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid singleton name: '"+String(singleton)+"'";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid singleton name: '" + String(singleton) + "'";
return 0;
}
if (rpc_mode) {
- call_rpc(object,p_inputs,input_args);
+ call_rpc(object, p_inputs, input_args);
} else if (returns) {
- *p_outputs[0] = object->call(function,p_inputs,input_args,r_error);
+ *p_outputs[0] = object->call(function, p_inputs, input_args, r_error);
} else {
- object->call(function,p_inputs,input_args,r_error);
+ object->call(function, p_inputs, input_args, r_error);
}
} break;
-
}
if (!validate) {
//ignore call errors if validation is disabled
- r_error.error=Variant::CallError::CALL_OK;
- r_error_str=String();
+ r_error.error = Variant::CallError::CALL_OK;
+ r_error_str = String();
}
return 0;
-
}
-
-
};
-VisualScriptNodeInstance* VisualScriptFunctionCall::instance(VisualScriptInstance* p_instance) {
-
- VisualScriptNodeInstanceFunctionCall * instance = memnew(VisualScriptNodeInstanceFunctionCall );
- instance->node=this;
- instance->instance=p_instance;
- instance->singleton=singleton;
- instance->function=function;
- instance->call_mode=call_mode;
- instance->returns=get_output_value_port_count();
- instance->node_path=base_path;
- instance->input_args = get_input_value_port_count() - ( (call_mode==CALL_MODE_BASIC_TYPE || call_mode==CALL_MODE_INSTANCE) ? 1: 0 );
- instance->rpc_mode=rpc_call_mode;
- instance->validate=validate;
+VisualScriptNodeInstance *VisualScriptFunctionCall::instance(VisualScriptInstance *p_instance) {
+
+ VisualScriptNodeInstanceFunctionCall *instance = memnew(VisualScriptNodeInstanceFunctionCall);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->singleton = singleton;
+ instance->function = function;
+ instance->call_mode = call_mode;
+ instance->returns = get_output_value_port_count();
+ instance->node_path = base_path;
+ instance->input_args = get_input_value_port_count() - ((call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0);
+ instance->rpc_mode = rpc_call_mode;
+ instance->validate = validate;
return instance;
}
+VisualScriptFunctionCall::TypeGuess VisualScriptFunctionCall::guess_output_type(TypeGuess *p_inputs, int p_output) const {
-VisualScriptFunctionCall::TypeGuess VisualScriptFunctionCall::guess_output_type(TypeGuess* p_inputs, int p_output) const {
-
- if (p_output==0 && call_mode==CALL_MODE_INSTANCE) {
+ if (p_output == 0 && call_mode == CALL_MODE_INSTANCE) {
return p_inputs[0];
}
- return VisualScriptNode::guess_output_type(p_inputs,p_output);
-
+ return VisualScriptNode::guess_output_type(p_inputs, p_output);
}
VisualScriptFunctionCall::VisualScriptFunctionCall() {
- validate=true;
- call_mode=CALL_MODE_SELF;
- basic_type=Variant::NIL;
- use_default_args=0;
- base_type="Object";
- rpc_call_mode=RPC_DISABLED;
-
-
+ validate = true;
+ call_mode = CALL_MODE_SELF;
+ basic_type = Variant::NIL;
+ use_default_args = 0;
+ base_type = "Object";
+ rpc_call_mode = RPC_DISABLED;
}
-template<VisualScriptFunctionCall::CallMode cmode>
-static Ref<VisualScriptNode> create_function_call_node(const String& p_name) {
+template <VisualScriptFunctionCall::CallMode cmode>
+static Ref<VisualScriptNode> create_function_call_node(const String &p_name) {
Ref<VisualScriptFunctionCall> node;
node.instance();
@@ -990,12 +938,11 @@ static Ref<VisualScriptNode> create_function_call_node(const String& p_name) {
return node;
}
-
//////////////////////////////////////////
////////////////SET//////////////////////
//////////////////////////////////////////
-static const char* event_type_names[InputEvent::TYPE_MAX]={
+static const char *event_type_names[InputEvent::TYPE_MAX] = {
"None",
"Key",
"MouseMotion",
@@ -1007,15 +954,14 @@ static const char* event_type_names[InputEvent::TYPE_MAX]={
"Action"
};
-
int VisualScriptPropertySet::get_output_sequence_port_count() const {
- return call_mode!=CALL_MODE_BASIC_TYPE ? 1 : 0;
+ return call_mode != CALL_MODE_BASIC_TYPE ? 1 : 0;
}
-bool VisualScriptPropertySet::has_input_sequence_port() const{
+bool VisualScriptPropertySet::has_input_sequence_port() const {
- return call_mode!=CALL_MODE_BASIC_TYPE ? true : false;
+ return call_mode != CALL_MODE_BASIC_TYPE ? true : false;
}
Node *VisualScriptPropertySet::_get_base_node() const {
@@ -1025,7 +971,7 @@ Node *VisualScriptPropertySet::_get_base_node() const {
if (!script.is_valid())
return NULL;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return NULL;
@@ -1039,7 +985,7 @@ Node *VisualScriptPropertySet::_get_base_node() const {
if (!edited_scene)
return NULL;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return NULL;
@@ -1058,27 +1004,26 @@ Node *VisualScriptPropertySet::_get_base_node() const {
StringName VisualScriptPropertySet::_get_base_type() const {
- if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid())
+ if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid())
return get_visual_script()->get_instance_base_type();
- else if (call_mode==CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
+ else if (call_mode == CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
Node *path = _get_base_node();
if (path)
return path->get_class();
-
}
return base_type;
}
-int VisualScriptPropertySet::get_input_value_port_count() const{
+int VisualScriptPropertySet::get_input_value_port_count() const {
- int pc = (call_mode==CALL_MODE_BASIC_TYPE || call_mode==CALL_MODE_INSTANCE)?2:1;
+ int pc = (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 2 : 1;
return pc;
}
-int VisualScriptPropertySet::get_output_value_port_count() const{
+int VisualScriptPropertySet::get_output_value_port_count() const {
- return (call_mode==CALL_MODE_BASIC_TYPE || call_mode==CALL_MODE_INSTANCE) ? 1 : 0;
+ return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0;
}
String VisualScriptPropertySet::get_output_sequence_port_text(int p_port) const {
@@ -1086,39 +1031,37 @@ String VisualScriptPropertySet::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptPropertySet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptPropertySet::get_input_value_port_info(int p_idx) const {
- if (call_mode==CALL_MODE_INSTANCE || call_mode==CALL_MODE_BASIC_TYPE) {
- if (p_idx==0) {
+ if (call_mode == CALL_MODE_INSTANCE || call_mode == CALL_MODE_BASIC_TYPE) {
+ if (p_idx == 0) {
PropertyInfo pi;
- pi.type=(call_mode==CALL_MODE_INSTANCE?Variant::OBJECT:basic_type);
- pi.name=(call_mode==CALL_MODE_INSTANCE?String("instance"):Variant::get_type_name(basic_type).to_lower());
+ pi.type = (call_mode == CALL_MODE_INSTANCE ? Variant::OBJECT : basic_type);
+ pi.name = (call_mode == CALL_MODE_INSTANCE ? String("instance") : Variant::get_type_name(basic_type).to_lower());
return pi;
} else {
p_idx--;
}
}
- PropertyInfo pinfo=type_cache;
- pinfo.name="value";
+ PropertyInfo pinfo = type_cache;
+ pinfo.name = "value";
return pinfo;
}
-PropertyInfo VisualScriptPropertySet::get_output_value_port_info(int p_idx) const{
- if (call_mode==CALL_MODE_BASIC_TYPE) {
- return PropertyInfo(basic_type,"out");
- } else if (call_mode==CALL_MODE_INSTANCE) {
- return PropertyInfo(Variant::OBJECT,"pass");
+PropertyInfo VisualScriptPropertySet::get_output_value_port_info(int p_idx) const {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
+ return PropertyInfo(basic_type, "out");
+ } else if (call_mode == CALL_MODE_INSTANCE) {
+ return PropertyInfo(Variant::OBJECT, "pass");
} else {
return PropertyInfo();
}
-
}
-
String VisualScriptPropertySet::get_caption() const {
- static const char*cname[4]= {
+ static const char *cname[4] = {
"SelfSet",
"NodeSet",
"InstanceSet",
@@ -1132,58 +1075,55 @@ String VisualScriptPropertySet::get_text() const {
String prop;
- if (call_mode==CALL_MODE_BASIC_TYPE)
- prop=Variant::get_type_name(basic_type)+"."+property;
- else if (call_mode==CALL_MODE_NODE_PATH)
- prop=String(base_path)+":"+property;
- else if (call_mode==CALL_MODE_SELF)
- prop=property;
- else if (call_mode==CALL_MODE_INSTANCE)
- prop=String(base_type)+":"+property;
+ if (call_mode == CALL_MODE_BASIC_TYPE)
+ prop = Variant::get_type_name(basic_type) + "." + property;
+ else if (call_mode == CALL_MODE_NODE_PATH)
+ prop = String(base_path) + ":" + property;
+ else if (call_mode == CALL_MODE_SELF)
+ prop = property;
+ else if (call_mode == CALL_MODE_INSTANCE)
+ prop = String(base_type) + ":" + property;
return prop;
-
}
void VisualScriptPropertySet::_update_base_type() {
//cache it because this information may not be available on load
- if (call_mode==CALL_MODE_NODE_PATH) {
+ if (call_mode == CALL_MODE_NODE_PATH) {
- Node* node=_get_base_node();
+ Node *node = _get_base_node();
if (node) {
- base_type=node->get_class();
+ base_type = node->get_class();
}
- } else if (call_mode==CALL_MODE_SELF) {
+ } else if (call_mode == CALL_MODE_SELF) {
if (get_visual_script().is_valid()) {
- base_type=get_visual_script()->get_instance_base_type();
+ base_type = get_visual_script()->get_instance_base_type();
}
}
-
}
void VisualScriptPropertySet::set_basic_type(Variant::Type p_type) {
- if (basic_type==p_type)
+ if (basic_type == p_type)
return;
- basic_type=p_type;
-
+ basic_type = p_type;
_change_notify();
_update_base_type();
ports_changed_notify();
}
-Variant::Type VisualScriptPropertySet::get_basic_type() const{
+Variant::Type VisualScriptPropertySet::get_basic_type() const {
return basic_type;
}
void VisualScriptPropertySet::set_event_type(InputEvent::Type p_type) {
- if (event_type==p_type)
+ if (event_type == p_type)
return;
- event_type=p_type;
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ event_type = p_type;
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
_update_cache();
}
_change_notify();
@@ -1191,34 +1131,32 @@ void VisualScriptPropertySet::set_event_type(InputEvent::Type p_type) {
ports_changed_notify();
}
-InputEvent::Type VisualScriptPropertySet::get_event_type() const{
+InputEvent::Type VisualScriptPropertySet::get_event_type() const {
return event_type;
}
+void VisualScriptPropertySet::set_base_type(const StringName &p_type) {
-void VisualScriptPropertySet::set_base_type(const StringName& p_type) {
-
- if (base_type==p_type)
+ if (base_type == p_type)
return;
- base_type=p_type;
- _change_notify();
+ base_type = p_type;
+ _change_notify();
ports_changed_notify();
}
-StringName VisualScriptPropertySet::get_base_type() const{
+StringName VisualScriptPropertySet::get_base_type() const {
return base_type;
}
+void VisualScriptPropertySet::set_base_script(const String &p_path) {
-void VisualScriptPropertySet::set_base_script(const String& p_path) {
-
- if (base_script==p_path)
+ if (base_script == p_path)
return;
- base_script=p_path;
+ base_script = p_path;
_change_notify();
ports_changed_notify();
}
@@ -1228,10 +1166,8 @@ String VisualScriptPropertySet::get_base_script() const {
return base_script;
}
-
void VisualScriptPropertySet::_update_cache() {
-
if (!OS::get_singleton()->get_main_loop())
return;
if (!OS::get_singleton()->get_main_loop()->cast_to<SceneTree>())
@@ -1240,57 +1176,56 @@ void VisualScriptPropertySet::_update_cache() {
if (!OS::get_singleton()->get_main_loop()->cast_to<SceneTree>()->is_editor_hint()) //only update cache if editor exists, it's pointless otherwise
return;
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
//not super efficient..
Variant v;
- if (basic_type==Variant::INPUT_EVENT) {
+ if (basic_type == Variant::INPUT_EVENT) {
InputEvent ev;
- ev.type=event_type;
- v=ev;
+ ev.type = event_type;
+ v = ev;
} else {
Variant::CallError ce;
- v = Variant::construct(basic_type,NULL,0,ce);
+ v = Variant::construct(basic_type, NULL, 0, ce);
}
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
- for (List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
- if (E->get().name==property) {
+ if (E->get().name == property) {
- type_cache=E->get();
+ type_cache = E->get();
}
}
} else {
-
StringName type;
Ref<Script> script;
- Node *node=NULL;
+ Node *node = NULL;
- if (call_mode==CALL_MODE_NODE_PATH) {
+ if (call_mode == CALL_MODE_NODE_PATH) {
- node=_get_base_node();
+ node = _get_base_node();
if (node) {
- type=node->get_class();
- base_type=type; //cache, too
+ type = node->get_class();
+ base_type = type; //cache, too
script = node->get_script();
}
- } else if (call_mode==CALL_MODE_SELF) {
+ } else if (call_mode == CALL_MODE_SELF) {
if (get_visual_script().is_valid()) {
- type=get_visual_script()->get_instance_base_type();
- base_type=type; //cache, too
- script=get_visual_script();
+ type = get_visual_script()->get_instance_base_type();
+ base_type = type; //cache, too
+ script = get_visual_script();
}
- } else if (call_mode==CALL_MODE_INSTANCE) {
+ } else if (call_mode == CALL_MODE_INSTANCE) {
- type=base_type;
- if (base_script!=String()) {
+ type = base_type;
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
@@ -1299,7 +1234,7 @@ void VisualScriptPropertySet::_update_cache() {
if (ResourceCache::has(base_script)) {
- script = Ref<Resource>( ResourceCache::get(base_script) );
+ script = Ref<Resource>(ResourceCache::get(base_script));
} else {
return;
}
@@ -1308,12 +1243,11 @@ void VisualScriptPropertySet::_update_cache() {
List<PropertyInfo> pinfo;
-
if (node) {
node->get_property_list(&pinfo);
} else {
- ClassDB::get_property_list(type,&pinfo);
+ ClassDB::get_property_list(type, &pinfo);
}
if (script.is_valid()) {
@@ -1321,39 +1255,37 @@ void VisualScriptPropertySet::_update_cache() {
script->get_script_property_list(&pinfo);
}
- for (List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
- if (E->get().name==property) {
- type_cache=E->get();
+ if (E->get().name == property) {
+ type_cache = E->get();
return;
}
}
-
}
}
-void VisualScriptPropertySet::set_property(const StringName& p_type){
+void VisualScriptPropertySet::set_property(const StringName &p_type) {
- if (property==p_type)
+ if (property == p_type)
return;
- property=p_type;
+ property = p_type;
_update_cache();
- _change_notify();
+ _change_notify();
ports_changed_notify();
}
StringName VisualScriptPropertySet::get_property() const {
-
return property;
}
-void VisualScriptPropertySet::set_base_path(const NodePath& p_type) {
+void VisualScriptPropertySet::set_base_path(const NodePath &p_type) {
- if (base_path==p_type)
+ if (base_path == p_type)
return;
- base_path=p_type;
+ base_path = p_type;
_update_base_type();
_change_notify();
ports_changed_notify();
@@ -1364,28 +1296,23 @@ NodePath VisualScriptPropertySet::get_base_path() const {
return base_path;
}
-
void VisualScriptPropertySet::set_call_mode(CallMode p_mode) {
- if (call_mode==p_mode)
+ if (call_mode == p_mode)
return;
- call_mode=p_mode;
+ call_mode = p_mode;
_update_base_type();
_change_notify();
ports_changed_notify();
-
}
VisualScriptPropertySet::CallMode VisualScriptPropertySet::get_call_mode() const {
return call_mode;
}
-
-
-
void VisualScriptPropertySet::_set_type_cache(const Dictionary &p_type) {
- type_cache=PropertyInfo::from_dict(p_type);
+ type_cache = PropertyInfo::from_dict(p_type);
}
Dictionary VisualScriptPropertySet::_get_type_cache() const {
@@ -1393,61 +1320,60 @@ Dictionary VisualScriptPropertySet::_get_type_cache() const {
return type_cache;
}
-void VisualScriptPropertySet::_validate_property(PropertyInfo& property) const {
+void VisualScriptPropertySet::_validate_property(PropertyInfo &property) const {
- if (property.name=="property/base_type") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=PROPERTY_USAGE_NOEDITOR;
+ if (property.name == "property/base_type") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = PROPERTY_USAGE_NOEDITOR;
}
}
- if (property.name=="property/base_script") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=0;
+ if (property.name == "property/base_script") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = 0;
}
}
- if (property.name=="property/basic_type") {
- if (call_mode!=CALL_MODE_BASIC_TYPE) {
- property.usage=0;
+ if (property.name == "property/basic_type") {
+ if (call_mode != CALL_MODE_BASIC_TYPE) {
+ property.usage = 0;
}
}
- if (property.name=="property/event_type") {
- if (call_mode!=CALL_MODE_BASIC_TYPE || basic_type!=Variant::INPUT_EVENT) {
- property.usage=0;
+ if (property.name == "property/event_type") {
+ if (call_mode != CALL_MODE_BASIC_TYPE || basic_type != Variant::INPUT_EVENT) {
+ property.usage = 0;
}
}
- if (property.name=="property/node_path") {
- if (call_mode!=CALL_MODE_NODE_PATH) {
- property.usage=0;
+ if (property.name == "property/node_path") {
+ if (call_mode != CALL_MODE_NODE_PATH) {
+ property.usage = 0;
} else {
Node *bnode = _get_base_node();
if (bnode) {
- property.hint_string=bnode->get_path(); //convert to loong string
+ property.hint_string = bnode->get_path(); //convert to loong string
} else {
-
}
}
}
- if (property.name=="property/property") {
+ if (property.name == "property/property") {
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE;
- property.hint_string=Variant::get_type_name(basic_type);
+ property.hint = PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE;
+ property.hint_string = Variant::get_type_name(basic_type);
- } else if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid()) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_SCRIPT;
- property.hint_string=itos(get_visual_script()->get_instance_ID());
- } else if (call_mode==CALL_MODE_INSTANCE) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
- property.hint_string=base_type;
+ } else if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid()) {
+ property.hint = PROPERTY_HINT_PROPERTY_OF_SCRIPT;
+ property.hint_string = itos(get_visual_script()->get_instance_ID());
+ } else if (call_mode == CALL_MODE_INSTANCE) {
+ property.hint = PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
+ property.hint_string = base_type;
- if (base_script!=String()) {
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
ScriptServer::edit_request_func(base_script); //make sure it's loaded
@@ -1455,106 +1381,98 @@ void VisualScriptPropertySet::_validate_property(PropertyInfo& property) const {
if (ResourceCache::has(base_script)) {
- Ref<Script> script = Ref<Resource>( ResourceCache::get(base_script) );
+ Ref<Script> script = Ref<Resource>(ResourceCache::get(base_script));
if (script.is_valid()) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_SCRIPT;
- property.hint_string=itos(script->get_instance_ID());
+ property.hint = PROPERTY_HINT_PROPERTY_OF_SCRIPT;
+ property.hint_string = itos(script->get_instance_ID());
}
}
}
- } else if (call_mode==CALL_MODE_NODE_PATH) {
+ } else if (call_mode == CALL_MODE_NODE_PATH) {
Node *node = _get_base_node();
if (node) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_INSTANCE;
- property.hint_string=itos(node->get_instance_ID());
+ property.hint = PROPERTY_HINT_PROPERTY_OF_INSTANCE;
+ property.hint_string = itos(node->get_instance_ID());
} else {
- property.hint=PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
- property.hint_string=get_base_type();
+ property.hint = PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
+ property.hint_string = get_base_type();
}
-
}
-
}
-
}
void VisualScriptPropertySet::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_base_type","base_type"),&VisualScriptPropertySet::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptPropertySet::get_base_type);
+ ClassDB::bind_method(D_METHOD("set_base_type", "base_type"), &VisualScriptPropertySet::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptPropertySet::get_base_type);
- ClassDB::bind_method(D_METHOD("set_base_script","base_script"),&VisualScriptPropertySet::set_base_script);
- ClassDB::bind_method(D_METHOD("get_base_script"),&VisualScriptPropertySet::get_base_script);
+ ClassDB::bind_method(D_METHOD("set_base_script", "base_script"), &VisualScriptPropertySet::set_base_script);
+ ClassDB::bind_method(D_METHOD("get_base_script"), &VisualScriptPropertySet::get_base_script);
- ClassDB::bind_method(D_METHOD("set_basic_type","basic_type"),&VisualScriptPropertySet::set_basic_type);
- ClassDB::bind_method(D_METHOD("get_basic_type"),&VisualScriptPropertySet::get_basic_type);
+ ClassDB::bind_method(D_METHOD("set_basic_type", "basic_type"), &VisualScriptPropertySet::set_basic_type);
+ ClassDB::bind_method(D_METHOD("get_basic_type"), &VisualScriptPropertySet::get_basic_type);
- ClassDB::bind_method(D_METHOD("_set_type_cache","type_cache"),&VisualScriptPropertySet::_set_type_cache);
- ClassDB::bind_method(D_METHOD("_get_type_cache"),&VisualScriptPropertySet::_get_type_cache);
+ ClassDB::bind_method(D_METHOD("_set_type_cache", "type_cache"), &VisualScriptPropertySet::_set_type_cache);
+ ClassDB::bind_method(D_METHOD("_get_type_cache"), &VisualScriptPropertySet::_get_type_cache);
- ClassDB::bind_method(D_METHOD("set_event_type","event_type"),&VisualScriptPropertySet::set_event_type);
- ClassDB::bind_method(D_METHOD("get_event_type"),&VisualScriptPropertySet::get_event_type);
+ ClassDB::bind_method(D_METHOD("set_event_type", "event_type"), &VisualScriptPropertySet::set_event_type);
+ ClassDB::bind_method(D_METHOD("get_event_type"), &VisualScriptPropertySet::get_event_type);
- ClassDB::bind_method(D_METHOD("set_property","property"),&VisualScriptPropertySet::set_property);
- ClassDB::bind_method(D_METHOD("get_property"),&VisualScriptPropertySet::get_property);
-
- ClassDB::bind_method(D_METHOD("set_call_mode","mode"),&VisualScriptPropertySet::set_call_mode);
- ClassDB::bind_method(D_METHOD("get_call_mode"),&VisualScriptPropertySet::get_call_mode);
-
- ClassDB::bind_method(D_METHOD("set_base_path","base_path"),&VisualScriptPropertySet::set_base_path);
- ClassDB::bind_method(D_METHOD("get_base_path"),&VisualScriptPropertySet::get_base_path);
+ ClassDB::bind_method(D_METHOD("set_property", "property"), &VisualScriptPropertySet::set_property);
+ ClassDB::bind_method(D_METHOD("get_property"), &VisualScriptPropertySet::get_property);
+ ClassDB::bind_method(D_METHOD("set_call_mode", "mode"), &VisualScriptPropertySet::set_call_mode);
+ ClassDB::bind_method(D_METHOD("get_call_mode"), &VisualScriptPropertySet::get_call_mode);
+ ClassDB::bind_method(D_METHOD("set_base_path", "base_path"), &VisualScriptPropertySet::set_base_path);
+ ClassDB::bind_method(D_METHOD("get_base_path"), &VisualScriptPropertySet::get_base_path);
String bt;
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- if (i>0)
- bt+=",";
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ if (i > 0)
+ bt += ",";
- bt+=Variant::get_type_name(Variant::Type(i));
+ bt += Variant::get_type_name(Variant::Type(i));
}
String et;
- for(int i=0;i<InputEvent::TYPE_MAX;i++) {
- if (i>0)
- et+=",";
+ for (int i = 0; i < InputEvent::TYPE_MAX; i++) {
+ if (i > 0)
+ et += ",";
- et+=event_type_names[i];
+ et += event_type_names[i];
}
List<String> script_extensions;
- for(int i=0;i<ScriptServer::get_language_count();i++) {
+ for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->get_recognized_extensions(&script_extensions);
}
String script_ext_hint;
- for (List<String>::Element *E=script_extensions.front();E;E=E->next()) {
- if (script_ext_hint!=String())
- script_ext_hint+=",";
- script_ext_hint+="*."+E->get();
+ for (List<String>::Element *E = script_extensions.front(); E; E = E->next()) {
+ if (script_ext_hint != String())
+ script_ext_hint += ",";
+ script_ext_hint += "*." + E->get();
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/set_mode",PROPERTY_HINT_ENUM,"Self,Node Path,Instance,Basic Type"),"set_call_mode","get_call_mode");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/base_script",PROPERTY_HINT_FILE,script_ext_hint),"set_base_script","get_base_script");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/type_cache",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_type_cache","_get_type_cache");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/basic_type",PROPERTY_HINT_ENUM,bt),"set_basic_type","get_basic_type");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/event_type",PROPERTY_HINT_ENUM,et),"set_event_type","get_event_type");
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH,"property/node_path",PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE),"set_base_path","get_base_path");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/property"),"set_property","get_property");
-
- BIND_CONSTANT( CALL_MODE_SELF );
- BIND_CONSTANT( CALL_MODE_NODE_PATH);
- BIND_CONSTANT( CALL_MODE_INSTANCE);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/set_mode", PROPERTY_HINT_ENUM, "Self,Node Path,Instance,Basic Type"), "set_call_mode", "get_call_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/base_script", PROPERTY_HINT_FILE, script_ext_hint), "set_base_script", "get_base_script");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/type_cache", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_type_cache", "_get_type_cache");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/basic_type", PROPERTY_HINT_ENUM, bt), "set_basic_type", "get_basic_type");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/event_type", PROPERTY_HINT_ENUM, et), "set_event_type", "get_event_type");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "property/node_path", PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE), "set_base_path", "get_base_path");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/property"), "set_property", "get_property");
+ BIND_CONSTANT(CALL_MODE_SELF);
+ BIND_CONSTANT(CALL_MODE_NODE_PATH);
+ BIND_CONSTANT(CALL_MODE_INSTANCE);
}
class VisualScriptNodeInstancePropertySet : public VisualScriptNodeInstance {
public:
-
-
VisualScriptPropertySet::CallMode call_mode;
NodePath node_path;
StringName property;
@@ -1562,53 +1480,50 @@ public:
VisualScriptPropertySet *node;
VisualScriptInstance *instance;
-
-
//virtual int get_working_memory_size() const { return 0; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- switch(call_mode) {
+ switch (call_mode) {
case VisualScriptPropertySet::CALL_MODE_SELF: {
- Object *object=instance->get_owner_ptr();
+ Object *object = instance->get_owner_ptr();
bool valid;
- object->set(property,*p_inputs[0],&valid);
+ object->set(property, *p_inputs[0], &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid set value '"+String(*p_inputs[0])+"' on property '"+String(property)+"' of type "+object->get_class();
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid set value '" + String(*p_inputs[0]) + "' on property '" + String(property) + "' of type " + object->get_class();
}
} break;
case VisualScriptPropertySet::CALL_MODE_NODE_PATH: {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Base object is not a Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Base object is not a Node!";
return 0;
}
- Node* another = node->get_node(node_path);
+ Node *another = node->get_node(node_path);
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Path does not lead Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Path does not lead Node!";
return 0;
}
bool valid;
- another->set(property,*p_inputs[0],&valid);
+ another->set(property, *p_inputs[0], &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid set value '"+String(*p_inputs[0])+"' on property '"+String(property)+"' of type "+another->get_class();
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid set value '" + String(*p_inputs[0]) + "' on property '" + String(property) + "' of type " + another->get_class();
}
} break;
@@ -1619,58 +1534,50 @@ public:
bool valid;
- v.set(property,*p_inputs[1],&valid);
+ v.set(property, *p_inputs[1], &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid set value '"+String(*p_inputs[1])+"' ("+Variant::get_type_name(p_inputs[1]->get_type())+") on property '"+String(property)+"' of type "+Variant::get_type_name(v.get_type());
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid set value '" + String(*p_inputs[1]) + "' (" + Variant::get_type_name(p_inputs[1]->get_type()) + ") on property '" + String(property) + "' of type " + Variant::get_type_name(v.get_type());
}
- *p_outputs[0]=v;
+ *p_outputs[0] = v;
} break;
-
}
return 0;
-
}
-
-
};
-VisualScriptNodeInstance* VisualScriptPropertySet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptPropertySet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstancePropertySet * instance = memnew(VisualScriptNodeInstancePropertySet );
- instance->node=this;
- instance->instance=p_instance;
- instance->property=property;
- instance->call_mode=call_mode;
- instance->node_path=base_path;
+ VisualScriptNodeInstancePropertySet *instance = memnew(VisualScriptNodeInstancePropertySet);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->property = property;
+ instance->call_mode = call_mode;
+ instance->node_path = base_path;
return instance;
}
+VisualScriptPropertySet::TypeGuess VisualScriptPropertySet::guess_output_type(TypeGuess *p_inputs, int p_output) const {
-
-VisualScriptPropertySet::TypeGuess VisualScriptPropertySet::guess_output_type(TypeGuess* p_inputs, int p_output) const {
-
- if (p_output==0 && call_mode==CALL_MODE_INSTANCE) {
+ if (p_output == 0 && call_mode == CALL_MODE_INSTANCE) {
return p_inputs[0];
}
- return VisualScriptNode::guess_output_type(p_inputs,p_output);
-
+ return VisualScriptNode::guess_output_type(p_inputs, p_output);
}
VisualScriptPropertySet::VisualScriptPropertySet() {
- call_mode=CALL_MODE_SELF;
- base_type="Object";
- basic_type=Variant::NIL;
- event_type=InputEvent::NONE;
-
+ call_mode = CALL_MODE_SELF;
+ base_type = "Object";
+ basic_type = Variant::NIL;
+ event_type = InputEvent::NONE;
}
-template<VisualScriptPropertySet::CallMode cmode>
-static Ref<VisualScriptNode> create_property_set_node(const String& p_name) {
+template <VisualScriptPropertySet::CallMode cmode>
+static Ref<VisualScriptNode> create_property_set_node(const String &p_name) {
Ref<VisualScriptPropertySet> node;
node.instance();
@@ -1678,35 +1585,33 @@ static Ref<VisualScriptNode> create_property_set_node(const String& p_name) {
return node;
}
-
//////////////////////////////////////////
////////////////GET//////////////////////
//////////////////////////////////////////
int VisualScriptPropertyGet::get_output_sequence_port_count() const {
- return 0;// (call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?0:1;
+ return 0; // (call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?0:1;
}
-bool VisualScriptPropertyGet::has_input_sequence_port() const{
+bool VisualScriptPropertyGet::has_input_sequence_port() const {
- return false;//(call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?false:true;
+ return false; //(call_mode==CALL_MODE_SELF || call_mode==CALL_MODE_NODE_PATH)?false:true;
}
void VisualScriptPropertyGet::_update_base_type() {
//cache it because this information may not be available on load
- if (call_mode==CALL_MODE_NODE_PATH) {
+ if (call_mode == CALL_MODE_NODE_PATH) {
- Node* node=_get_base_node();
+ Node *node = _get_base_node();
if (node) {
- base_type=node->get_class();
+ base_type = node->get_class();
}
- } else if (call_mode==CALL_MODE_SELF) {
+ } else if (call_mode == CALL_MODE_SELF) {
if (get_visual_script().is_valid()) {
- base_type=get_visual_script()->get_instance_base_type();
+ base_type = get_visual_script()->get_instance_base_type();
}
}
-
}
Node *VisualScriptPropertyGet::_get_base_node() const {
@@ -1715,7 +1620,7 @@ Node *VisualScriptPropertyGet::_get_base_node() const {
if (!script.is_valid())
return NULL;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return NULL;
@@ -1729,7 +1634,7 @@ Node *VisualScriptPropertyGet::_get_base_node() const {
if (!edited_scene)
return NULL;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return NULL;
@@ -1748,25 +1653,22 @@ Node *VisualScriptPropertyGet::_get_base_node() const {
StringName VisualScriptPropertyGet::_get_base_type() const {
- if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid())
+ if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid())
return get_visual_script()->get_instance_base_type();
- else if (call_mode==CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
+ else if (call_mode == CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
Node *path = _get_base_node();
if (path)
return path->get_class();
-
}
return base_type;
}
+int VisualScriptPropertyGet::get_input_value_port_count() const {
-int VisualScriptPropertyGet::get_input_value_port_count() const{
-
- return (call_mode==CALL_MODE_BASIC_TYPE || call_mode==CALL_MODE_INSTANCE)?1:0;
-
+ return (call_mode == CALL_MODE_BASIC_TYPE || call_mode == CALL_MODE_INSTANCE) ? 1 : 0;
}
-int VisualScriptPropertyGet::get_output_value_port_count() const{
+int VisualScriptPropertyGet::get_output_value_port_count() const {
return 1;
}
@@ -1776,31 +1678,29 @@ String VisualScriptPropertyGet::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptPropertyGet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptPropertyGet::get_input_value_port_info(int p_idx) const {
- if (call_mode==CALL_MODE_INSTANCE || call_mode==CALL_MODE_BASIC_TYPE) {
- if (p_idx==0) {
+ if (call_mode == CALL_MODE_INSTANCE || call_mode == CALL_MODE_BASIC_TYPE) {
+ if (p_idx == 0) {
PropertyInfo pi;
- pi.type=(call_mode==CALL_MODE_INSTANCE?Variant::OBJECT:basic_type);
- pi.name=(call_mode==CALL_MODE_INSTANCE?String("instance"):Variant::get_type_name(basic_type).to_lower());
+ pi.type = (call_mode == CALL_MODE_INSTANCE ? Variant::OBJECT : basic_type);
+ pi.name = (call_mode == CALL_MODE_INSTANCE ? String("instance") : Variant::get_type_name(basic_type).to_lower());
return pi;
} else {
p_idx--;
}
}
return PropertyInfo();
-
}
-PropertyInfo VisualScriptPropertyGet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptPropertyGet::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(type_cache,"value");
+ return PropertyInfo(type_cache, "value");
}
-
String VisualScriptPropertyGet::get_caption() const {
- static const char*cname[4]= {
+ static const char *cname[4] = {
"SelfGet",
"NodeGet",
"InstanceGet",
@@ -1814,39 +1714,39 @@ String VisualScriptPropertyGet::get_text() const {
String prop;
- if (call_mode==CALL_MODE_BASIC_TYPE)
- prop=Variant::get_type_name(basic_type)+"."+property;
- else if (call_mode==CALL_MODE_NODE_PATH)
- prop=String(base_path)+":"+property;
- else if (call_mode==CALL_MODE_SELF)
- prop=property;
- else if (call_mode==CALL_MODE_INSTANCE)
- prop=String(base_type)+":"+property;
+ if (call_mode == CALL_MODE_BASIC_TYPE)
+ prop = Variant::get_type_name(basic_type) + "." + property;
+ else if (call_mode == CALL_MODE_NODE_PATH)
+ prop = String(base_path) + ":" + property;
+ else if (call_mode == CALL_MODE_SELF)
+ prop = property;
+ else if (call_mode == CALL_MODE_INSTANCE)
+ prop = String(base_type) + ":" + property;
return prop;
}
-void VisualScriptPropertyGet::set_base_type(const StringName& p_type) {
+void VisualScriptPropertyGet::set_base_type(const StringName &p_type) {
- if (base_type==p_type)
+ if (base_type == p_type)
return;
- base_type=p_type;
+ base_type = p_type;
_change_notify();
ports_changed_notify();
}
-StringName VisualScriptPropertyGet::get_base_type() const{
+StringName VisualScriptPropertyGet::get_base_type() const {
return base_type;
}
-void VisualScriptPropertyGet::set_base_script(const String& p_path) {
+void VisualScriptPropertyGet::set_base_script(const String &p_path) {
- if (base_script==p_path)
+ if (base_script == p_path)
return;
- base_script=p_path;
+ base_script = p_path;
_change_notify();
ports_changed_notify();
}
@@ -1856,62 +1756,59 @@ String VisualScriptPropertyGet::get_base_script() const {
return base_script;
}
-
void VisualScriptPropertyGet::_update_cache() {
-
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
//not super efficient..
Variant v;
- if (basic_type==Variant::INPUT_EVENT) {
+ if (basic_type == Variant::INPUT_EVENT) {
InputEvent ev;
- ev.type=event_type;
- v=ev;
+ ev.type = event_type;
+ v = ev;
} else {
Variant::CallError ce;
- v = Variant::construct(basic_type,NULL,0,ce);
+ v = Variant::construct(basic_type, NULL, 0, ce);
}
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
- for (List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
- if (E->get().name==property) {
+ if (E->get().name == property) {
- type_cache=E->get().type;
+ type_cache = E->get().type;
return;
}
}
} else {
-
StringName type;
Ref<Script> script;
- Node *node=NULL;
+ Node *node = NULL;
- if (call_mode==CALL_MODE_NODE_PATH) {
+ if (call_mode == CALL_MODE_NODE_PATH) {
- node=_get_base_node();
+ node = _get_base_node();
if (node) {
- type=node->get_class();
- base_type=type; //cache, too
+ type = node->get_class();
+ base_type = type; //cache, too
script = node->get_script();
}
- } else if (call_mode==CALL_MODE_SELF) {
+ } else if (call_mode == CALL_MODE_SELF) {
if (get_visual_script().is_valid()) {
- type=get_visual_script()->get_instance_base_type();
- base_type=type; //cache, too
- script=get_visual_script();
+ type = get_visual_script()->get_instance_base_type();
+ base_type = type; //cache, too
+ script = get_visual_script();
}
- } else if (call_mode==CALL_MODE_INSTANCE) {
+ } else if (call_mode == CALL_MODE_INSTANCE) {
- type=base_type;
- if (base_script!=String()) {
+ type = base_type;
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
@@ -1920,53 +1817,51 @@ void VisualScriptPropertyGet::_update_cache() {
if (ResourceCache::has(base_script)) {
- script = Ref<Resource>( ResourceCache::get(base_script) );
+ script = Ref<Resource>(ResourceCache::get(base_script));
} else {
return;
}
}
}
-
- bool valid=false;
+ bool valid = false;
Variant::Type type_ret;
- type_ret=ClassDB::get_property_type(base_type,property,&valid);
+ type_ret = ClassDB::get_property_type(base_type, property, &valid);
if (valid) {
- type_cache=type_ret;
+ type_cache = type_ret;
return; //all dandy
}
if (node) {
- Variant prop = node->get(property,&valid);
+ Variant prop = node->get(property, &valid);
if (valid) {
- type_cache=prop.get_type();
+ type_cache = prop.get_type();
return; //all dandy again
}
}
if (script.is_valid()) {
- type_ret=script->get_static_property_type(property,&valid);
+ type_ret = script->get_static_property_type(property, &valid);
if (valid) {
- type_cache=type_ret;
+ type_cache = type_ret;
return; //all dandy
}
}
}
}
-void VisualScriptPropertyGet::set_property(const StringName& p_type){
+void VisualScriptPropertyGet::set_property(const StringName &p_type) {
- if (property==p_type)
+ if (property == p_type)
return;
- property=p_type;
-
+ property = p_type;
_update_cache();
_change_notify();
@@ -1974,16 +1869,15 @@ void VisualScriptPropertyGet::set_property(const StringName& p_type){
}
StringName VisualScriptPropertyGet::get_property() const {
-
return property;
}
-void VisualScriptPropertyGet::set_base_path(const NodePath& p_type) {
+void VisualScriptPropertyGet::set_base_path(const NodePath &p_type) {
- if (base_path==p_type)
+ if (base_path == p_type)
return;
- base_path=p_type;
+ base_path = p_type;
_change_notify();
_update_base_type();
ports_changed_notify();
@@ -1994,48 +1888,42 @@ NodePath VisualScriptPropertyGet::get_base_path() const {
return base_path;
}
-
void VisualScriptPropertyGet::set_call_mode(CallMode p_mode) {
- if (call_mode==p_mode)
+ if (call_mode == p_mode)
return;
- call_mode=p_mode;
+ call_mode = p_mode;
_change_notify();
_update_base_type();
ports_changed_notify();
-
}
VisualScriptPropertyGet::CallMode VisualScriptPropertyGet::get_call_mode() const {
return call_mode;
}
-
-
void VisualScriptPropertyGet::set_basic_type(Variant::Type p_type) {
- if (basic_type==p_type)
+ if (basic_type == p_type)
return;
- basic_type=p_type;
-
+ basic_type = p_type;
_change_notify();
ports_changed_notify();
}
-Variant::Type VisualScriptPropertyGet::get_basic_type() const{
+Variant::Type VisualScriptPropertyGet::get_basic_type() const {
return basic_type;
}
-
void VisualScriptPropertyGet::set_event_type(InputEvent::Type p_type) {
- if (event_type==p_type)
+ if (event_type == p_type)
return;
- event_type=p_type;
- if(call_mode==CALL_MODE_BASIC_TYPE) {
+ event_type = p_type;
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
_update_cache();
}
_change_notify();
@@ -2043,14 +1931,13 @@ void VisualScriptPropertyGet::set_event_type(InputEvent::Type p_type) {
ports_changed_notify();
}
-InputEvent::Type VisualScriptPropertyGet::get_event_type() const{
+InputEvent::Type VisualScriptPropertyGet::get_event_type() const {
return event_type;
}
-
void VisualScriptPropertyGet::_set_type_cache(Variant::Type p_type) {
- type_cache=p_type;
+ type_cache = p_type;
}
Variant::Type VisualScriptPropertyGet::_get_type_cache() const {
@@ -2058,61 +1945,59 @@ Variant::Type VisualScriptPropertyGet::_get_type_cache() const {
return type_cache;
}
+void VisualScriptPropertyGet::_validate_property(PropertyInfo &property) const {
-void VisualScriptPropertyGet::_validate_property(PropertyInfo& property) const {
-
- if (property.name=="property/base_type") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=PROPERTY_USAGE_NOEDITOR;
+ if (property.name == "property/base_type") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = PROPERTY_USAGE_NOEDITOR;
}
}
- if (property.name=="property/base_script") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=0;
+ if (property.name == "property/base_script") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = 0;
}
}
- if (property.name=="property/basic_type") {
- if (call_mode!=CALL_MODE_BASIC_TYPE) {
- property.usage=0;
+ if (property.name == "property/basic_type") {
+ if (call_mode != CALL_MODE_BASIC_TYPE) {
+ property.usage = 0;
}
}
- if (property.name=="property/event_type") {
- if (call_mode!=CALL_MODE_BASIC_TYPE || basic_type!=Variant::INPUT_EVENT) {
- property.usage=0;
+ if (property.name == "property/event_type") {
+ if (call_mode != CALL_MODE_BASIC_TYPE || basic_type != Variant::INPUT_EVENT) {
+ property.usage = 0;
}
}
- if (property.name=="property/node_path") {
- if (call_mode!=CALL_MODE_NODE_PATH) {
- property.usage=0;
+ if (property.name == "property/node_path") {
+ if (call_mode != CALL_MODE_NODE_PATH) {
+ property.usage = 0;
} else {
Node *bnode = _get_base_node();
if (bnode) {
- property.hint_string=bnode->get_path(); //convert to loong string
+ property.hint_string = bnode->get_path(); //convert to loong string
} else {
-
}
}
}
- if (property.name=="property/property") {
+ if (property.name == "property/property") {
- if (call_mode==CALL_MODE_BASIC_TYPE) {
+ if (call_mode == CALL_MODE_BASIC_TYPE) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE;
- property.hint_string=Variant::get_type_name(basic_type);
+ property.hint = PROPERTY_HINT_PROPERTY_OF_VARIANT_TYPE;
+ property.hint_string = Variant::get_type_name(basic_type);
- } else if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid()) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_SCRIPT;
- property.hint_string=itos(get_visual_script()->get_instance_ID());
- } else if (call_mode==CALL_MODE_INSTANCE) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
- property.hint_string=base_type;
+ } else if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid()) {
+ property.hint = PROPERTY_HINT_PROPERTY_OF_SCRIPT;
+ property.hint_string = itos(get_visual_script()->get_instance_ID());
+ } else if (call_mode == CALL_MODE_INSTANCE) {
+ property.hint = PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
+ property.hint_string = base_type;
- if (base_script!=String()) {
+ if (base_script != String()) {
if (!ResourceCache::has(base_script) && ScriptServer::edit_request_func) {
ScriptServer::edit_request_func(base_script); //make sure it's loaded
@@ -2120,103 +2005,97 @@ void VisualScriptPropertyGet::_validate_property(PropertyInfo& property) const {
if (ResourceCache::has(base_script)) {
- Ref<Script> script = Ref<Resource>( ResourceCache::get(base_script) );
+ Ref<Script> script = Ref<Resource>(ResourceCache::get(base_script));
if (script.is_valid()) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_SCRIPT;
- property.hint_string=itos(script->get_instance_ID());
+ property.hint = PROPERTY_HINT_PROPERTY_OF_SCRIPT;
+ property.hint_string = itos(script->get_instance_ID());
}
}
}
- } else if (call_mode==CALL_MODE_NODE_PATH) {
+ } else if (call_mode == CALL_MODE_NODE_PATH) {
Node *node = _get_base_node();
if (node) {
- property.hint=PROPERTY_HINT_PROPERTY_OF_INSTANCE;
- property.hint_string=itos(node->get_instance_ID());
+ property.hint = PROPERTY_HINT_PROPERTY_OF_INSTANCE;
+ property.hint_string = itos(node->get_instance_ID());
} else {
- property.hint=PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
- property.hint_string=get_base_type();
+ property.hint = PROPERTY_HINT_PROPERTY_OF_BASE_TYPE;
+ property.hint_string = get_base_type();
}
-
}
-
}
-
}
void VisualScriptPropertyGet::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_base_type","base_type"),&VisualScriptPropertyGet::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptPropertyGet::get_base_type);
-
- ClassDB::bind_method(D_METHOD("set_base_script","base_script"),&VisualScriptPropertyGet::set_base_script);
- ClassDB::bind_method(D_METHOD("get_base_script"),&VisualScriptPropertyGet::get_base_script);
+ ClassDB::bind_method(D_METHOD("set_base_type", "base_type"), &VisualScriptPropertyGet::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptPropertyGet::get_base_type);
- ClassDB::bind_method(D_METHOD("set_basic_type","basic_type"),&VisualScriptPropertyGet::set_basic_type);
- ClassDB::bind_method(D_METHOD("get_basic_type"),&VisualScriptPropertyGet::get_basic_type);
+ ClassDB::bind_method(D_METHOD("set_base_script", "base_script"), &VisualScriptPropertyGet::set_base_script);
+ ClassDB::bind_method(D_METHOD("get_base_script"), &VisualScriptPropertyGet::get_base_script);
- ClassDB::bind_method(D_METHOD("_set_type_cache","type_cache"),&VisualScriptPropertyGet::_set_type_cache);
- ClassDB::bind_method(D_METHOD("_get_type_cache"),&VisualScriptPropertyGet::_get_type_cache);
+ ClassDB::bind_method(D_METHOD("set_basic_type", "basic_type"), &VisualScriptPropertyGet::set_basic_type);
+ ClassDB::bind_method(D_METHOD("get_basic_type"), &VisualScriptPropertyGet::get_basic_type);
- ClassDB::bind_method(D_METHOD("set_event_type","event_type"),&VisualScriptPropertyGet::set_event_type);
- ClassDB::bind_method(D_METHOD("get_event_type"),&VisualScriptPropertyGet::get_event_type);
+ ClassDB::bind_method(D_METHOD("_set_type_cache", "type_cache"), &VisualScriptPropertyGet::_set_type_cache);
+ ClassDB::bind_method(D_METHOD("_get_type_cache"), &VisualScriptPropertyGet::_get_type_cache);
+ ClassDB::bind_method(D_METHOD("set_event_type", "event_type"), &VisualScriptPropertyGet::set_event_type);
+ ClassDB::bind_method(D_METHOD("get_event_type"), &VisualScriptPropertyGet::get_event_type);
- ClassDB::bind_method(D_METHOD("set_property","property"),&VisualScriptPropertyGet::set_property);
- ClassDB::bind_method(D_METHOD("get_property"),&VisualScriptPropertyGet::get_property);
+ ClassDB::bind_method(D_METHOD("set_property", "property"), &VisualScriptPropertyGet::set_property);
+ ClassDB::bind_method(D_METHOD("get_property"), &VisualScriptPropertyGet::get_property);
- ClassDB::bind_method(D_METHOD("set_call_mode","mode"),&VisualScriptPropertyGet::set_call_mode);
- ClassDB::bind_method(D_METHOD("get_call_mode"),&VisualScriptPropertyGet::get_call_mode);
+ ClassDB::bind_method(D_METHOD("set_call_mode", "mode"), &VisualScriptPropertyGet::set_call_mode);
+ ClassDB::bind_method(D_METHOD("get_call_mode"), &VisualScriptPropertyGet::get_call_mode);
- ClassDB::bind_method(D_METHOD("set_base_path","base_path"),&VisualScriptPropertyGet::set_base_path);
- ClassDB::bind_method(D_METHOD("get_base_path"),&VisualScriptPropertyGet::get_base_path);
+ ClassDB::bind_method(D_METHOD("set_base_path", "base_path"), &VisualScriptPropertyGet::set_base_path);
+ ClassDB::bind_method(D_METHOD("get_base_path"), &VisualScriptPropertyGet::get_base_path);
String bt;
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- if (i>0)
- bt+=",";
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ if (i > 0)
+ bt += ",";
- bt+=Variant::get_type_name(Variant::Type(i));
+ bt += Variant::get_type_name(Variant::Type(i));
}
String et;
- for(int i=0;i<InputEvent::TYPE_MAX;i++) {
- if (i>0)
- et+=",";
+ for (int i = 0; i < InputEvent::TYPE_MAX; i++) {
+ if (i > 0)
+ et += ",";
- et+=event_type_names[i];
+ et += event_type_names[i];
}
List<String> script_extensions;
- for(int i=0;i<ScriptServer::get_language_count();i++) {
+ for (int i = 0; i < ScriptServer::get_language_count(); i++) {
ScriptServer::get_language(i)->get_recognized_extensions(&script_extensions);
}
String script_ext_hint;
- for (List<String>::Element *E=script_extensions.front();E;E=E->next()) {
- if (script_ext_hint!=String())
- script_ext_hint+=",";
- script_ext_hint+="."+E->get();
+ for (List<String>::Element *E = script_extensions.front(); E; E = E->next()) {
+ if (script_ext_hint != String())
+ script_ext_hint += ",";
+ script_ext_hint += "." + E->get();
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/set_mode",PROPERTY_HINT_ENUM,"Self,Node Path,Instance,Basic Type"),"set_call_mode","get_call_mode");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/base_script",PROPERTY_HINT_FILE,script_ext_hint),"set_base_script","get_base_script");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/type_cache",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_type_cache","_get_type_cache");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/basic_type",PROPERTY_HINT_ENUM,bt),"set_basic_type","get_basic_type");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"property/event_type",PROPERTY_HINT_ENUM,et),"set_event_type","get_event_type");
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH,"property/node_path",PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE),"set_base_path","get_base_path");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"property/property"),"set_property","get_property");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/set_mode", PROPERTY_HINT_ENUM, "Self,Node Path,Instance,Basic Type"), "set_call_mode", "get_call_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/base_script", PROPERTY_HINT_FILE, script_ext_hint), "set_base_script", "get_base_script");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/type_cache", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_type_cache", "_get_type_cache");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/basic_type", PROPERTY_HINT_ENUM, bt), "set_basic_type", "get_basic_type");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "property/event_type", PROPERTY_HINT_ENUM, et), "set_event_type", "get_event_type");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "property/node_path", PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE), "set_base_path", "get_base_path");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "property/property"), "set_property", "get_property");
- BIND_CONSTANT( CALL_MODE_SELF );
- BIND_CONSTANT( CALL_MODE_NODE_PATH);
- BIND_CONSTANT( CALL_MODE_INSTANCE);
+ BIND_CONSTANT(CALL_MODE_SELF);
+ BIND_CONSTANT(CALL_MODE_NODE_PATH);
+ BIND_CONSTANT(CALL_MODE_INSTANCE);
}
class VisualScriptNodeInstancePropertyGet : public VisualScriptNodeInstance {
public:
-
-
VisualScriptPropertyGet::CallMode call_mode;
NodePath node_path;
StringName property;
@@ -2224,51 +2103,47 @@ public:
VisualScriptPropertyGet *node;
VisualScriptInstance *instance;
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
-
-
- switch(call_mode) {
+ switch (call_mode) {
case VisualScriptPropertyGet::CALL_MODE_SELF: {
- Object *object=instance->get_owner_ptr();
+ Object *object = instance->get_owner_ptr();
bool valid;
- *p_outputs[0] = object->get(property,&valid);
+ *p_outputs[0] = object->get(property, &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Invalid index property name.");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Invalid index property name.");
return 0;
}
} break;
case VisualScriptPropertyGet::CALL_MODE_NODE_PATH: {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Base object is not a Node!");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Base object is not a Node!");
return 0;
}
- Node* another = node->get_node(node_path);
+ Node *another = node->get_node(node_path);
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Path does not lead Node!");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Path does not lead Node!");
return 0;
}
bool valid;
-
- *p_outputs[0] = another->get(property,&valid);
+ *p_outputs[0] = another->get(property, &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=vformat(RTR("Invalid index property name '%s' in node %s."),String(property),another->get_name());
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = vformat(RTR("Invalid index property name '%s' in node %s."), String(property), another->get_name());
return 0;
}
@@ -2278,48 +2153,42 @@ public:
bool valid;
Variant v = *p_inputs[0];
- *p_outputs[0] = v.get(property,&valid);
+ *p_outputs[0] = v.get(property, &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("Invalid index property name.");
-
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Invalid index property name.");
}
};
}
return 0;
}
-
-
-
-
};
-VisualScriptNodeInstance* VisualScriptPropertyGet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptPropertyGet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstancePropertyGet * instance = memnew(VisualScriptNodeInstancePropertyGet );
- instance->node=this;
- instance->instance=p_instance;
- instance->property=property;
- instance->call_mode=call_mode;
- instance->node_path=base_path;
+ VisualScriptNodeInstancePropertyGet *instance = memnew(VisualScriptNodeInstancePropertyGet);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->property = property;
+ instance->call_mode = call_mode;
+ instance->node_path = base_path;
return instance;
}
VisualScriptPropertyGet::VisualScriptPropertyGet() {
- call_mode=CALL_MODE_SELF;
- base_type="Object";
- basic_type=Variant::NIL;
- event_type=InputEvent::NONE;
- type_cache=Variant::NIL;
-
+ call_mode = CALL_MODE_SELF;
+ base_type = "Object";
+ basic_type = Variant::NIL;
+ event_type = InputEvent::NONE;
+ type_cache = Variant::NIL;
}
-template<VisualScriptPropertyGet::CallMode cmode>
-static Ref<VisualScriptNode> create_property_get_node(const String& p_name) {
+template <VisualScriptPropertyGet::CallMode cmode>
+static Ref<VisualScriptNode> create_property_get_node(const String &p_name) {
Ref<VisualScriptPropertyGet> node;
node.instance();
@@ -2327,7 +2196,6 @@ static Ref<VisualScriptNode> create_property_get_node(const String& p_name) {
return node;
}
-
//////////////////////////////////////////
////////////////EMIT//////////////////////
//////////////////////////////////////////
@@ -2337,13 +2205,12 @@ int VisualScriptEmitSignal::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptEmitSignal::has_input_sequence_port() const{
+bool VisualScriptEmitSignal::has_input_sequence_port() const {
return true;
}
-
-int VisualScriptEmitSignal::get_input_value_port_count() const{
+int VisualScriptEmitSignal::get_input_value_port_count() const {
Ref<VisualScript> vs = get_visual_script();
if (vs.is_valid()) {
@@ -2355,9 +2222,8 @@ int VisualScriptEmitSignal::get_input_value_port_count() const{
}
return 0;
-
}
-int VisualScriptEmitSignal::get_output_value_port_count() const{
+int VisualScriptEmitSignal::get_output_value_port_count() const {
return 0;
}
@@ -2366,7 +2232,7 @@ String VisualScriptEmitSignal::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptEmitSignal::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptEmitSignal::get_input_value_port_info(int p_idx) const {
Ref<VisualScript> vs = get_visual_script();
if (vs.is_valid()) {
@@ -2374,19 +2240,17 @@ PropertyInfo VisualScriptEmitSignal::get_input_value_port_info(int p_idx) const{
if (!vs->has_custom_signal(name))
return PropertyInfo();
- return PropertyInfo(vs->custom_signal_get_argument_type(name,p_idx),vs->custom_signal_get_argument_name(name,p_idx));
+ return PropertyInfo(vs->custom_signal_get_argument_type(name, p_idx), vs->custom_signal_get_argument_name(name, p_idx));
}
return PropertyInfo();
-
}
-PropertyInfo VisualScriptEmitSignal::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptEmitSignal::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptEmitSignal::get_caption() const {
return "EmitSignal";
@@ -2394,35 +2258,28 @@ String VisualScriptEmitSignal::get_caption() const {
String VisualScriptEmitSignal::get_text() const {
- return "emit "+String(name);
+ return "emit " + String(name);
}
+void VisualScriptEmitSignal::set_signal(const StringName &p_type) {
-
-void VisualScriptEmitSignal::set_signal(const StringName& p_type){
-
- if (name==p_type)
+ if (name == p_type)
return;
- name=p_type;
+ name = p_type;
_change_notify();
ports_changed_notify();
}
StringName VisualScriptEmitSignal::get_signal() const {
-
return name;
}
+void VisualScriptEmitSignal::_validate_property(PropertyInfo &property) const {
-void VisualScriptEmitSignal::_validate_property(PropertyInfo& property) const {
-
-
-
- if (property.name=="signal/signal") {
- property.hint=PROPERTY_HINT_ENUM;
-
+ if (property.name == "signal/signal") {
+ property.hint = PROPERTY_HINT_ENUM;
List<StringName> sigs;
@@ -2430,37 +2287,30 @@ void VisualScriptEmitSignal::_validate_property(PropertyInfo& property) const {
if (vs.is_valid()) {
vs->get_custom_signal_list(&sigs);
-
}
String ml;
- for (List<StringName>::Element *E=sigs.front();E;E=E->next()) {
+ for (List<StringName>::Element *E = sigs.front(); E; E = E->next()) {
- if (ml!=String())
- ml+=",";
- ml+=E->get();
+ if (ml != String())
+ ml += ",";
+ ml += E->get();
}
- property.hint_string=ml;
+ property.hint_string = ml;
}
-
}
-
void VisualScriptEmitSignal::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_signal","name"),&VisualScriptEmitSignal::set_signal);
- ClassDB::bind_method(D_METHOD("get_signal"),&VisualScriptEmitSignal::get_signal);
-
-
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"signal/signal"),"set_signal","get_signal");
-
+ ClassDB::bind_method(D_METHOD("set_signal", "name"), &VisualScriptEmitSignal::set_signal);
+ ClassDB::bind_method(D_METHOD("get_signal"), &VisualScriptEmitSignal::get_signal);
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "signal/signal"), "set_signal", "get_signal");
}
class VisualScriptNodeInstanceEmitSignal : public VisualScriptNodeInstance {
public:
-
VisualScriptEmitSignal *node;
VisualScriptInstance *instance;
int argcount;
@@ -2470,57 +2320,50 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
Object *obj = instance->get_owner_ptr();
- obj->emit_signal(name,p_inputs,argcount);
-
+ obj->emit_signal(name, p_inputs, argcount);
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptEmitSignal::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptEmitSignal::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceEmitSignal * instance = memnew(VisualScriptNodeInstanceEmitSignal );
- instance->node=this;
- instance->instance=p_instance;
- instance->name=name;
- instance->argcount=get_input_value_port_count();
+ VisualScriptNodeInstanceEmitSignal *instance = memnew(VisualScriptNodeInstanceEmitSignal);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->name = name;
+ instance->argcount = get_input_value_port_count();
return instance;
}
VisualScriptEmitSignal::VisualScriptEmitSignal() {
}
-
-
-static Ref<VisualScriptNode> create_basic_type_call_node(const String& p_name) {
+static Ref<VisualScriptNode> create_basic_type_call_node(const String &p_name) {
Vector<String> path = p_name.split("/");
- ERR_FAIL_COND_V(path.size()<4,Ref<VisualScriptNode>());
+ ERR_FAIL_COND_V(path.size() < 4, Ref<VisualScriptNode>());
String base_type = path[2];
String method = path[3];
Ref<VisualScriptFunctionCall> node;
node.instance();
- Variant::Type type=Variant::VARIANT_MAX;
+ Variant::Type type = Variant::VARIANT_MAX;
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
- if (Variant::get_type_name(Variant::Type(i))==base_type) {
- type=Variant::Type(i);
+ if (Variant::get_type_name(Variant::Type(i)) == base_type) {
+ type = Variant::Type(i);
break;
}
}
- ERR_FAIL_COND_V(type==Variant::VARIANT_MAX,Ref<VisualScriptNode>());
-
+ ERR_FAIL_COND_V(type == Variant::VARIANT_MAX, Ref<VisualScriptNode>());
node->set_call_mode(VisualScriptFunctionCall::CALL_MODE_BASIC_TYPE);
node->set_basic_type(type);
@@ -2529,29 +2372,27 @@ static Ref<VisualScriptNode> create_basic_type_call_node(const String& p_name) {
return node;
}
-
void register_visual_script_func_nodes() {
- VisualScriptLanguage::singleton->add_register_func("functions/call",create_node_generic<VisualScriptFunctionCall>);
- VisualScriptLanguage::singleton->add_register_func("functions/set",create_node_generic<VisualScriptPropertySet>);
- VisualScriptLanguage::singleton->add_register_func("functions/get",create_node_generic<VisualScriptPropertyGet>);
+ VisualScriptLanguage::singleton->add_register_func("functions/call", create_node_generic<VisualScriptFunctionCall>);
+ VisualScriptLanguage::singleton->add_register_func("functions/set", create_node_generic<VisualScriptPropertySet>);
+ VisualScriptLanguage::singleton->add_register_func("functions/get", create_node_generic<VisualScriptPropertyGet>);
//VisualScriptLanguage::singleton->add_register_func("functions/call_script/call_self",create_script_call_node<VisualScriptScriptCall::CALL_MODE_SELF>);
//VisualScriptLanguage::singleton->add_register_func("functions/call_script/call_node",create_script_call_node<VisualScriptScriptCall::CALL_MODE_NODE_PATH>);
- VisualScriptLanguage::singleton->add_register_func("functions/emit_signal",create_node_generic<VisualScriptEmitSignal>);
-
+ VisualScriptLanguage::singleton->add_register_func("functions/emit_signal", create_node_generic<VisualScriptEmitSignal>);
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
Variant::Type t = Variant::Type(i);
String type_name = Variant::get_type_name(t);
Variant::CallError ce;
- Variant vt = Variant::construct(t,NULL,0,ce);
+ Variant vt = Variant::construct(t, NULL, 0, ce);
List<MethodInfo> ml;
vt.get_method_list(&ml);
- for (List<MethodInfo>::Element *E=ml.front();E;E=E->next()) {
- VisualScriptLanguage::singleton->add_register_func("functions/by_type/"+type_name+"/"+E->get().name,create_basic_type_call_node);
+ for (List<MethodInfo>::Element *E = ml.front(); E; E = E->next()) {
+ VisualScriptLanguage::singleton->add_register_func("functions/by_type/" + type_name + "/" + E->get().name, create_basic_type_call_node);
}
}
}
diff --git a/modules/visual_script/visual_script_func_nodes.h b/modules/visual_script/visual_script_func_nodes.h
index 7c1d4511cb..3f82edc5f0 100644
--- a/modules/visual_script/visual_script_func_nodes.h
+++ b/modules/visual_script/visual_script_func_nodes.h
@@ -31,10 +31,9 @@
#include "visual_script.h"
-
class VisualScriptFunctionCall : public VisualScriptNode {
- GDCLASS(VisualScriptFunctionCall,VisualScriptNode)
+ GDCLASS(VisualScriptFunctionCall, VisualScriptNode)
public:
enum CallMode {
CALL_MODE_SELF,
@@ -53,7 +52,6 @@ public:
};
private:
-
CallMode call_mode;
StringName base_type;
String base_script;
@@ -65,34 +63,29 @@ private:
StringName singleton;
bool validate;
-
Node *_get_base_node() const;
StringName _get_base_type() const;
MethodInfo method_cache;
void _update_method_cache();
- void _set_argument_cache(const Dictionary& p_args);
+ void _set_argument_cache(const Dictionary &p_args);
Dictionary _get_argument_cache() const;
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -103,22 +96,21 @@ public:
void set_basic_type(Variant::Type p_type);
Variant::Type get_basic_type() const;
- void set_base_type(const StringName& p_type);
+ void set_base_type(const StringName &p_type);
StringName get_base_type() const;
- void set_base_script(const String& p_path);
+ void set_base_script(const String &p_path);
String get_base_script() const;
- void set_singleton(const StringName& p_type);
+ void set_singleton(const StringName &p_type);
StringName get_singleton() const;
- void set_function(const StringName& p_type);
+ void set_function(const StringName &p_type);
StringName get_function() const;
- void set_base_path(const NodePath& p_type);
+ void set_base_path(const NodePath &p_type);
NodePath get_base_path() const;
-
void set_call_mode(CallMode p_mode);
CallMode get_call_mode() const;
@@ -131,21 +123,19 @@ public:
void set_rpc_call_mode(RPCCallMode p_mode);
RPCCallMode get_rpc_call_mode() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptFunctionCall();
};
-VARIANT_ENUM_CAST(VisualScriptFunctionCall::CallMode );
-VARIANT_ENUM_CAST(VisualScriptFunctionCall::RPCCallMode );
-
+VARIANT_ENUM_CAST(VisualScriptFunctionCall::CallMode);
+VARIANT_ENUM_CAST(VisualScriptFunctionCall::RPCCallMode);
class VisualScriptPropertySet : public VisualScriptNode {
- GDCLASS(VisualScriptPropertySet,VisualScriptNode)
+ GDCLASS(VisualScriptPropertySet, VisualScriptNode)
public:
enum CallMode {
CALL_MODE_SELF,
@@ -153,14 +143,13 @@ public:
CALL_MODE_INSTANCE,
CALL_MODE_BASIC_TYPE,
-
};
-private:
+private:
PropertyInfo type_cache;
CallMode call_mode;
- Variant::Type basic_type;
+ Variant::Type basic_type;
StringName base_type;
String base_script;
NodePath base_path;
@@ -174,28 +163,23 @@ private:
void _update_cache();
- void _set_type_cache(const Dictionary& p_type);
+ void _set_type_cache(const Dictionary &p_type);
Dictionary _get_type_cache() const;
-
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -203,10 +187,10 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "functions"; }
- void set_base_type(const StringName& p_type);
+ void set_base_type(const StringName &p_type);
StringName get_base_type() const;
- void set_base_script(const String& p_path);
+ void set_base_script(const String &p_path);
String get_base_script() const;
void set_basic_type(Variant::Type p_type);
@@ -215,28 +199,26 @@ public:
void set_event_type(InputEvent::Type p_type);
InputEvent::Type get_event_type() const;
- void set_property(const StringName& p_type);
+ void set_property(const StringName &p_type);
StringName get_property() const;
- void set_base_path(const NodePath& p_type);
+ void set_base_path(const NodePath &p_type);
NodePath get_base_path() const;
void set_call_mode(CallMode p_mode);
CallMode get_call_mode() const;
-
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptPropertySet();
};
-VARIANT_ENUM_CAST(VisualScriptPropertySet::CallMode );
-
+VARIANT_ENUM_CAST(VisualScriptPropertySet::CallMode);
class VisualScriptPropertyGet : public VisualScriptNode {
- GDCLASS(VisualScriptPropertyGet,VisualScriptNode)
+ GDCLASS(VisualScriptPropertyGet, VisualScriptNode)
public:
enum CallMode {
CALL_MODE_SELF,
@@ -245,8 +227,8 @@ public:
CALL_MODE_BASIC_TYPE,
};
-private:
+private:
Variant::Type type_cache;
CallMode call_mode;
@@ -267,23 +249,19 @@ private:
Variant::Type _get_type_cache() const;
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -291,10 +269,10 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "functions"; }
- void set_base_type(const StringName& p_type);
+ void set_base_type(const StringName &p_type);
StringName get_base_type() const;
- void set_base_script(const String& p_path);
+ void set_base_script(const String &p_path);
String get_base_script() const;
void set_basic_type(Variant::Type p_type);
@@ -303,55 +281,43 @@ public:
void set_event_type(InputEvent::Type p_type);
InputEvent::Type get_event_type() const;
- void set_property(const StringName& p_type);
+ void set_property(const StringName &p_type);
StringName get_property() const;
- void set_base_path(const NodePath& p_type);
+ void set_base_path(const NodePath &p_type);
NodePath get_base_path() const;
void set_call_mode(CallMode p_mode);
CallMode get_call_mode() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptPropertyGet();
};
-
-
-
-
-VARIANT_ENUM_CAST(VisualScriptPropertyGet::CallMode );
-
-
+VARIANT_ENUM_CAST(VisualScriptPropertyGet::CallMode);
class VisualScriptEmitSignal : public VisualScriptNode {
- GDCLASS(VisualScriptEmitSignal,VisualScriptNode)
+ GDCLASS(VisualScriptEmitSignal, VisualScriptNode)
private:
-
StringName name;
-
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -359,19 +325,14 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "functions"; }
- void set_signal(const StringName& p_type);
+ void set_signal(const StringName &p_type);
StringName get_signal() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
-
-
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptEmitSignal();
};
-
-
void register_visual_script_func_nodes();
#endif // VISUAL_SCRIPT_FUNC_NODES_H
diff --git a/modules/visual_script/visual_script_nodes.cpp b/modules/visual_script/visual_script_nodes.cpp
index 824dfe88a9..68bd1e6d4c 100644
--- a/modules/visual_script/visual_script_nodes.cpp
+++ b/modules/visual_script/visual_script_nodes.cpp
@@ -28,157 +28,146 @@
/*************************************************************************/
#include "visual_script_nodes.h"
-#include "global_constants.h"
#include "global_config.h"
-#include "scene/main/scene_main_loop.h"
+#include "global_constants.h"
+#include "os/input.h"
#include "os/os.h"
#include "scene/main/node.h"
-#include "os/input.h"
+#include "scene/main/scene_main_loop.h"
//////////////////////////////////////////
////////////////FUNCTION//////////////////
//////////////////////////////////////////
+bool VisualScriptFunction::_set(const StringName &p_name, const Variant &p_value) {
-bool VisualScriptFunction::_set(const StringName& p_name, const Variant& p_value) {
-
-
- if (p_name=="argument_count") {
+ if (p_name == "argument_count") {
- int new_argc=p_value;
+ int new_argc = p_value;
int argc = arguments.size();
- if (argc==new_argc)
+ if (argc == new_argc)
return true;
arguments.resize(new_argc);
- for(int i=argc;i<new_argc;i++) {
- arguments[i].name="arg"+itos(i+1);
- arguments[i].type=Variant::NIL;
+ for (int i = argc; i < new_argc; i++) {
+ arguments[i].name = "arg" + itos(i + 1);
+ arguments[i].type = Variant::NIL;
}
ports_changed_notify();
_change_notify();
return true;
}
if (String(p_name).begins_with("argument/")) {
- int idx = String(p_name).get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V(idx,arguments.size(),false);
- String what = String(p_name).get_slice("/",2);
- if (what=="type") {
+ int idx = String(p_name).get_slice("/", 1).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, arguments.size(), false);
+ String what = String(p_name).get_slice("/", 2);
+ if (what == "type") {
Variant::Type new_type = Variant::Type(int(p_value));
- arguments[idx].type=new_type;
+ arguments[idx].type = new_type;
ports_changed_notify();
return true;
}
- if (what=="name") {
+ if (what == "name") {
- arguments[idx].name=p_value;
+ arguments[idx].name = p_value;
ports_changed_notify();
return true;
}
-
-
}
- if (p_name=="stack/stackless") {
+ if (p_name == "stack/stackless") {
set_stack_less(p_value);
return true;
}
- if (p_name=="stack/size") {
- stack_size=p_value;
+ if (p_name == "stack/size") {
+ stack_size = p_value;
return true;
}
- if (p_name=="rpc/mode") {
- rpc_mode=ScriptInstance::RPCMode(int(p_value));
+ if (p_name == "rpc/mode") {
+ rpc_mode = ScriptInstance::RPCMode(int(p_value));
return true;
}
return false;
}
-bool VisualScriptFunction::_get(const StringName& p_name,Variant &r_ret) const {
+bool VisualScriptFunction::_get(const StringName &p_name, Variant &r_ret) const {
-
- if (p_name=="argument_count") {
+ if (p_name == "argument_count") {
r_ret = arguments.size();
return true;
}
if (String(p_name).begins_with("argument/")) {
- int idx = String(p_name).get_slice("/",1).to_int()-1;
- ERR_FAIL_INDEX_V(idx,arguments.size(),false);
- String what = String(p_name).get_slice("/",2);
- if (what=="type") {
+ int idx = String(p_name).get_slice("/", 1).to_int() - 1;
+ ERR_FAIL_INDEX_V(idx, arguments.size(), false);
+ String what = String(p_name).get_slice("/", 2);
+ if (what == "type") {
r_ret = arguments[idx].type;
return true;
}
- if (what=="name") {
+ if (what == "name") {
r_ret = arguments[idx].name;
return true;
}
-
-
-
}
- if (p_name=="stack/stackless") {
- r_ret=stack_less;
+ if (p_name == "stack/stackless") {
+ r_ret = stack_less;
return true;
}
- if (p_name=="stack/size") {
- r_ret=stack_size;
+ if (p_name == "stack/size") {
+ r_ret = stack_size;
return true;
}
- if (p_name=="rpc/mode") {
- r_ret=rpc_mode;
+ if (p_name == "rpc/mode") {
+ r_ret = rpc_mode;
return true;
}
return false;
}
-void VisualScriptFunction::_get_property_list( List<PropertyInfo> *p_list) const {
-
+void VisualScriptFunction::_get_property_list(List<PropertyInfo> *p_list) const {
- p_list->push_back(PropertyInfo(Variant::INT,"argument_count",PROPERTY_HINT_RANGE,"0,256"));
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ p_list->push_back(PropertyInfo(Variant::INT, "argument_count", PROPERTY_HINT_RANGE, "0,256"));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- for(int i=0;i<arguments.size();i++) {
- p_list->push_back(PropertyInfo(Variant::INT,"argument/"+itos(i+1)+"/type",PROPERTY_HINT_ENUM,argt));
- p_list->push_back(PropertyInfo(Variant::STRING,"argument/"+itos(i+1)+"/name"));
+ for (int i = 0; i < arguments.size(); i++) {
+ p_list->push_back(PropertyInfo(Variant::INT, "argument/" + itos(i + 1) + "/type", PROPERTY_HINT_ENUM, argt));
+ p_list->push_back(PropertyInfo(Variant::STRING, "argument/" + itos(i + 1) + "/name"));
}
if (!stack_less) {
- p_list->push_back(PropertyInfo(Variant::INT,"stack/size",PROPERTY_HINT_RANGE,"1,100000"));
+ p_list->push_back(PropertyInfo(Variant::INT, "stack/size", PROPERTY_HINT_RANGE, "1,100000"));
}
- p_list->push_back(PropertyInfo(Variant::BOOL,"stack/stackless"));
- p_list->push_back(PropertyInfo(Variant::INT,"rpc/mode",PROPERTY_HINT_ENUM,"Disabled,Remote,Sync,Master,Slave"));
-
+ p_list->push_back(PropertyInfo(Variant::BOOL, "stack/stackless"));
+ p_list->push_back(PropertyInfo(Variant::INT, "rpc/mode", PROPERTY_HINT_ENUM, "Disabled,Remote,Sync,Master,Slave"));
}
-
int VisualScriptFunction::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptFunction::has_input_sequence_port() const{
+bool VisualScriptFunction::has_input_sequence_port() const {
return false;
}
-int VisualScriptFunction::get_input_value_port_count() const{
+int VisualScriptFunction::get_input_value_port_count() const {
return 0;
}
-int VisualScriptFunction::get_output_value_port_count() const{
+int VisualScriptFunction::get_output_value_port_count() const {
return arguments.size();
}
@@ -188,17 +177,17 @@ String VisualScriptFunction::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptFunction::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptFunction::get_input_value_port_info(int p_idx) const {
ERR_FAIL_V(PropertyInfo());
return PropertyInfo();
}
-PropertyInfo VisualScriptFunction::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptFunction::get_output_value_port_info(int p_idx) const {
- ERR_FAIL_INDEX_V(p_idx,arguments.size(),PropertyInfo());
+ ERR_FAIL_INDEX_V(p_idx, arguments.size(), PropertyInfo());
PropertyInfo out;
- out.type=arguments[p_idx].type;
- out.name=arguments[p_idx].name;
+ out.type = arguments[p_idx].type;
+ out.name = arguments[p_idx].name;
return out;
}
@@ -212,53 +201,48 @@ String VisualScriptFunction::get_text() const {
return get_name(); //use name as function name I guess
}
-void VisualScriptFunction::add_argument(Variant::Type p_type,const String& p_name,int p_index){
+void VisualScriptFunction::add_argument(Variant::Type p_type, const String &p_name, int p_index) {
Argument arg;
- arg.name=p_name;
- arg.type=p_type;
- if (p_index>=0)
- arguments.insert(p_index,arg);
+ arg.name = p_name;
+ arg.type = p_type;
+ if (p_index >= 0)
+ arguments.insert(p_index, arg);
else
arguments.push_back(arg);
ports_changed_notify();
-
}
-void VisualScriptFunction::set_argument_type(int p_argidx,Variant::Type p_type){
+void VisualScriptFunction::set_argument_type(int p_argidx, Variant::Type p_type) {
- ERR_FAIL_INDEX(p_argidx,arguments.size());
+ ERR_FAIL_INDEX(p_argidx, arguments.size());
- arguments[p_argidx].type=p_type;
+ arguments[p_argidx].type = p_type;
ports_changed_notify();
}
Variant::Type VisualScriptFunction::get_argument_type(int p_argidx) const {
- ERR_FAIL_INDEX_V(p_argidx,arguments.size(),Variant::NIL);
+ ERR_FAIL_INDEX_V(p_argidx, arguments.size(), Variant::NIL);
return arguments[p_argidx].type;
-
}
-void VisualScriptFunction::set_argument_name(int p_argidx,const String& p_name) {
+void VisualScriptFunction::set_argument_name(int p_argidx, const String &p_name) {
- ERR_FAIL_INDEX(p_argidx,arguments.size());
+ ERR_FAIL_INDEX(p_argidx, arguments.size());
- arguments[p_argidx].name=p_name;
+ arguments[p_argidx].name = p_name;
ports_changed_notify();
-
}
String VisualScriptFunction::get_argument_name(int p_argidx) const {
- ERR_FAIL_INDEX_V(p_argidx,arguments.size(),String());
+ ERR_FAIL_INDEX_V(p_argidx, arguments.size(), String());
return arguments[p_argidx].name;
-
}
void VisualScriptFunction::remove_argument(int p_argidx) {
- ERR_FAIL_INDEX(p_argidx,arguments.size());
+ ERR_FAIL_INDEX(p_argidx, arguments.size());
arguments.remove(p_argidx);
ports_changed_notify();
-
}
int VisualScriptFunction::get_argument_count() const {
@@ -266,68 +250,62 @@ int VisualScriptFunction::get_argument_count() const {
return arguments.size();
}
-
void VisualScriptFunction::set_rpc_mode(ScriptInstance::RPCMode p_mode) {
- rpc_mode=p_mode;
+ rpc_mode = p_mode;
}
ScriptInstance::RPCMode VisualScriptFunction::get_rpc_mode() const {
return rpc_mode;
}
-
class VisualScriptNodeInstanceFunction : public VisualScriptNodeInstance {
public:
-
VisualScriptFunction *node;
VisualScriptInstance *instance;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
int ac = node->get_argument_count();
- for(int i=0;i<ac;i++) {
+ for (int i = 0; i < ac; i++) {
#ifdef DEBUG_ENABLED
Variant::Type expected = node->get_argument_type(i);
- if (expected!=Variant::NIL) {
- if (!Variant::can_convert_strict(p_inputs[i]->get_type(),expected)) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
- r_error.expected=expected;
- r_error.argument=i;
+ if (expected != Variant::NIL) {
+ if (!Variant::can_convert_strict(p_inputs[i]->get_type(), expected)) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_ARGUMENT;
+ r_error.expected = expected;
+ r_error.argument = i;
return 0;
}
}
#endif
- *p_outputs[i]=*p_inputs[i];
+ *p_outputs[i] = *p_inputs[i];
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptFunction::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptFunction::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceFunction * instance = memnew(VisualScriptNodeInstanceFunction );
- instance->node=this;
- instance->instance=p_instance;
+ VisualScriptNodeInstanceFunction *instance = memnew(VisualScriptNodeInstanceFunction);
+ instance->node = this;
+ instance->instance = p_instance;
return instance;
}
VisualScriptFunction::VisualScriptFunction() {
- stack_size=256;
- stack_less=false;
- rpc_mode=ScriptInstance::RPC_MODE_DISABLED;
+ stack_size = 256;
+ stack_less = false;
+ rpc_mode = ScriptInstance::RPC_MODE_DISABLED;
}
-
void VisualScriptFunction::set_stack_less(bool p_enable) {
- stack_less=p_enable;
+ stack_less = p_enable;
_change_notify();
}
@@ -337,8 +315,8 @@ bool VisualScriptFunction::is_stack_less() const {
void VisualScriptFunction::set_stack_size(int p_size) {
- ERR_FAIL_COND(p_size <1 || p_size>100000);
- stack_size=p_size;
+ ERR_FAIL_COND(p_size < 1 || p_size > 100000);
+ stack_size = p_size;
}
int VisualScriptFunction::get_stack_size() const {
@@ -346,7 +324,6 @@ int VisualScriptFunction::get_stack_size() const {
return stack_size;
}
-
//////////////////////////////////////////
////////////////OPERATOR//////////////////
//////////////////////////////////////////
@@ -356,16 +333,16 @@ int VisualScriptOperator::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptOperator::has_input_sequence_port() const{
+bool VisualScriptOperator::has_input_sequence_port() const {
return false;
}
-int VisualScriptOperator::get_input_value_port_count() const{
+int VisualScriptOperator::get_input_value_port_count() const {
- return (op==Variant::OP_BIT_NEGATE || op==Variant::OP_NOT || op==Variant::OP_NEGATE || op==Variant::OP_POSITIVE) ? 1 : 2;
+ return (op == Variant::OP_BIT_NEGATE || op == Variant::OP_NOT || op == Variant::OP_NEGATE || op == Variant::OP_POSITIVE) ? 1 : 2;
}
-int VisualScriptOperator::get_output_value_port_count() const{
+int VisualScriptOperator::get_output_value_port_count() const {
return 1;
}
@@ -375,51 +352,51 @@ String VisualScriptOperator::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptOperator::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptOperator::get_input_value_port_info(int p_idx) const {
- static const Variant::Type port_types[Variant::OP_MAX][2]={
- {Variant::NIL,Variant::NIL}, //OP_EQUAL,
- {Variant::NIL,Variant::NIL}, //OP_NOT_EQUAL,
- {Variant::NIL,Variant::NIL}, //OP_LESS,
- {Variant::NIL,Variant::NIL}, //OP_LESS_EQUAL,
- {Variant::NIL,Variant::NIL}, //OP_GREATER,
- {Variant::NIL,Variant::NIL}, //OP_GREATER_EQUAL,
+ static const Variant::Type port_types[Variant::OP_MAX][2] = {
+ { Variant::NIL, Variant::NIL }, //OP_EQUAL,
+ { Variant::NIL, Variant::NIL }, //OP_NOT_EQUAL,
+ { Variant::NIL, Variant::NIL }, //OP_LESS,
+ { Variant::NIL, Variant::NIL }, //OP_LESS_EQUAL,
+ { Variant::NIL, Variant::NIL }, //OP_GREATER,
+ { Variant::NIL, Variant::NIL }, //OP_GREATER_EQUAL,
//mathematic
- {Variant::NIL,Variant::NIL}, //OP_ADD,
- {Variant::NIL,Variant::NIL}, //OP_SUBSTRACT,
- {Variant::NIL,Variant::NIL}, //OP_MULTIPLY,
- {Variant::NIL,Variant::NIL}, //OP_DIVIDE,
- {Variant::NIL,Variant::NIL}, //OP_NEGATE,
- {Variant::NIL,Variant::NIL}, //OP_POSITIVE,
- {Variant::INT,Variant::INT}, //OP_MODULE,
- {Variant::STRING,Variant::STRING}, //OP_STRING_CONCAT,
+ { Variant::NIL, Variant::NIL }, //OP_ADD,
+ { Variant::NIL, Variant::NIL }, //OP_SUBSTRACT,
+ { Variant::NIL, Variant::NIL }, //OP_MULTIPLY,
+ { Variant::NIL, Variant::NIL }, //OP_DIVIDE,
+ { Variant::NIL, Variant::NIL }, //OP_NEGATE,
+ { Variant::NIL, Variant::NIL }, //OP_POSITIVE,
+ { Variant::INT, Variant::INT }, //OP_MODULE,
+ { Variant::STRING, Variant::STRING }, //OP_STRING_CONCAT,
//bitwise
- {Variant::INT,Variant::INT}, //OP_SHIFT_LEFT,
- {Variant::INT,Variant::INT}, //OP_SHIFT_RIGHT,
- {Variant::INT,Variant::INT}, //OP_BIT_AND,
- {Variant::INT,Variant::INT}, //OP_BIT_OR,
- {Variant::INT,Variant::INT}, //OP_BIT_XOR,
- {Variant::INT,Variant::INT}, //OP_BIT_NEGATE,
+ { Variant::INT, Variant::INT }, //OP_SHIFT_LEFT,
+ { Variant::INT, Variant::INT }, //OP_SHIFT_RIGHT,
+ { Variant::INT, Variant::INT }, //OP_BIT_AND,
+ { Variant::INT, Variant::INT }, //OP_BIT_OR,
+ { Variant::INT, Variant::INT }, //OP_BIT_XOR,
+ { Variant::INT, Variant::INT }, //OP_BIT_NEGATE,
//logic
- {Variant::BOOL,Variant::BOOL}, //OP_AND,
- {Variant::BOOL,Variant::BOOL}, //OP_OR,
- {Variant::BOOL,Variant::BOOL}, //OP_XOR,
- {Variant::BOOL,Variant::BOOL}, //OP_NOT,
+ { Variant::BOOL, Variant::BOOL }, //OP_AND,
+ { Variant::BOOL, Variant::BOOL }, //OP_OR,
+ { Variant::BOOL, Variant::BOOL }, //OP_XOR,
+ { Variant::BOOL, Variant::BOOL }, //OP_NOT,
//containment
- {Variant::NIL,Variant::NIL} //OP_IN,
+ { Variant::NIL, Variant::NIL } //OP_IN,
};
- ERR_FAIL_INDEX_V(p_idx,Variant::OP_MAX,PropertyInfo());
+ ERR_FAIL_INDEX_V(p_idx, Variant::OP_MAX, PropertyInfo());
PropertyInfo pinfo;
- pinfo.name=p_idx==0?"A":"B";
- pinfo.type=port_types[op][p_idx];
- if (pinfo.type==Variant::NIL)
- pinfo.type=typed;
+ pinfo.name = p_idx == 0 ? "A" : "B";
+ pinfo.type = port_types[op][p_idx];
+ if (pinfo.type == Variant::NIL)
+ pinfo.type = typed;
return pinfo;
}
-PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const{
- static const Variant::Type port_types[Variant::OP_MAX]={
+PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const {
+ static const Variant::Type port_types[Variant::OP_MAX] = {
//comparation
Variant::BOOL, //OP_EQUAL,
Variant::BOOL, //OP_NOT_EQUAL,
@@ -453,15 +430,14 @@ PropertyInfo VisualScriptOperator::get_output_value_port_info(int p_idx) const{
};
PropertyInfo pinfo;
- pinfo.name="";
- pinfo.type=port_types[op];
- if (pinfo.type==Variant::NIL)
- pinfo.type=typed;
+ pinfo.name = "";
+ pinfo.type = port_types[op];
+ if (pinfo.type == Variant::NIL)
+ pinfo.type = typed;
return pinfo;
-
}
-static const char* op_names[]={
+static const char *op_names[] = {
//comparation
"Equal", //OP_EQUAL,
"NotEqual", //OP_NOT_EQUAL,
@@ -496,14 +472,12 @@ static const char* op_names[]={
String VisualScriptOperator::get_caption() const {
-
-
return op_names[op];
}
String VisualScriptOperator::get_text() const {
- static const wchar_t* op_names[]={
+ static const wchar_t *op_names[] = {
//comparation
L"A = B", //OP_EQUAL,
L"A \u2260 B", //OP_NOT_EQUAL,
@@ -539,24 +513,23 @@ String VisualScriptOperator::get_text() const {
void VisualScriptOperator::set_operator(Variant::Operator p_op) {
- if (op==p_op)
+ if (op == p_op)
return;
- op=p_op;
+ op = p_op;
ports_changed_notify();
-
}
-Variant::Operator VisualScriptOperator::get_operator() const{
+Variant::Operator VisualScriptOperator::get_operator() const {
return op;
}
void VisualScriptOperator::set_typed(Variant::Type p_op) {
- if (typed==p_op)
+ if (typed == p_op)
return;
- typed=p_op;
+ typed = p_op;
ports_changed_notify();
}
@@ -565,87 +538,80 @@ Variant::Type VisualScriptOperator::get_typed() const {
return typed;
}
-
void VisualScriptOperator::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_operator","op"),&VisualScriptOperator::set_operator);
- ClassDB::bind_method(D_METHOD("get_operator"),&VisualScriptOperator::get_operator);
+ ClassDB::bind_method(D_METHOD("set_operator", "op"), &VisualScriptOperator::set_operator);
+ ClassDB::bind_method(D_METHOD("get_operator"), &VisualScriptOperator::get_operator);
- ClassDB::bind_method(D_METHOD("set_typed","type"),&VisualScriptOperator::set_typed);
- ClassDB::bind_method(D_METHOD("get_typed"),&VisualScriptOperator::get_typed);
+ ClassDB::bind_method(D_METHOD("set_typed", "type"), &VisualScriptOperator::set_typed);
+ ClassDB::bind_method(D_METHOD("get_typed"), &VisualScriptOperator::get_typed);
String types;
- for(int i=0;i<Variant::OP_MAX;i++) {
- if (i>0)
- types+=",";
- types+=op_names[i];
+ for (int i = 0; i < Variant::OP_MAX; i++) {
+ if (i > 0)
+ types += ",";
+ types += op_names[i];
}
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"operator_value/type",PROPERTY_HINT_ENUM,types),"set_operator","get_operator");
- ADD_PROPERTY(PropertyInfo(Variant::INT,"typed_value/typed",PROPERTY_HINT_ENUM,argt),"set_typed","get_typed");
-
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "operator_value/type", PROPERTY_HINT_ENUM, types), "set_operator", "get_operator");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "typed_value/typed", PROPERTY_HINT_ENUM, argt), "set_typed", "get_typed");
}
class VisualScriptNodeInstanceOperator : public VisualScriptNodeInstance {
public:
-
bool unary;
Variant::Operator op;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
bool valid;
if (unary) {
- Variant::evaluate(op,*p_inputs[0],Variant(),*p_outputs[0],valid);
+ Variant::evaluate(op, *p_inputs[0], Variant(), *p_outputs[0], valid);
} else {
- Variant::evaluate(op,*p_inputs[0],*p_inputs[1],*p_outputs[0],valid);
+ Variant::evaluate(op, *p_inputs[0], *p_inputs[1], *p_outputs[0], valid);
}
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- if (p_outputs[0]->get_type()==Variant::STRING) {
- r_error_str=*p_outputs[0];
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ if (p_outputs[0]->get_type() == Variant::STRING) {
+ r_error_str = *p_outputs[0];
} else {
if (unary)
- r_error_str=String(op_names[op])+RTR(": Invalid argument of type: ")+Variant::get_type_name(p_inputs[0]->get_type());
+ r_error_str = String(op_names[op]) + RTR(": Invalid argument of type: ") + Variant::get_type_name(p_inputs[0]->get_type());
else
- r_error_str=String(op_names[op])+RTR(": Invalid arguments: ")+"A: "+Variant::get_type_name(p_inputs[0]->get_type())+" B: "+Variant::get_type_name(p_inputs[1]->get_type());
+ r_error_str = String(op_names[op]) + RTR(": Invalid arguments: ") + "A: " + Variant::get_type_name(p_inputs[0]->get_type()) + " B: " + Variant::get_type_name(p_inputs[1]->get_type());
}
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptOperator::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptOperator::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceOperator * instance = memnew(VisualScriptNodeInstanceOperator );
- instance->unary=get_input_value_port_count()==1;
- instance->op=op;
+ VisualScriptNodeInstanceOperator *instance = memnew(VisualScriptNodeInstanceOperator);
+ instance->unary = get_input_value_port_count() == 1;
+ instance->op = op;
return instance;
}
VisualScriptOperator::VisualScriptOperator() {
- op=Variant::OP_ADD;
- typed=Variant::NIL;
+ op = Variant::OP_ADD;
+ typed = Variant::NIL;
}
-
-
-template<Variant::Operator OP>
-static Ref<VisualScriptNode> create_op_node(const String& p_name) {
+template <Variant::Operator OP>
+static Ref<VisualScriptNode> create_op_node(const String &p_name) {
Ref<VisualScriptOperator> node;
node.instance();
@@ -662,16 +628,16 @@ int VisualScriptVariableGet::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptVariableGet::has_input_sequence_port() const{
+bool VisualScriptVariableGet::has_input_sequence_port() const {
return false;
}
-int VisualScriptVariableGet::get_input_value_port_count() const{
+int VisualScriptVariableGet::get_input_value_port_count() const {
return 0;
}
-int VisualScriptVariableGet::get_output_value_port_count() const{
+int VisualScriptVariableGet::get_output_value_port_count() const {
return 1;
}
@@ -681,25 +647,24 @@ String VisualScriptVariableGet::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptVariableGet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptVariableGet::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptVariableGet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptVariableGet::get_output_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="value";
+ pinfo.name = "value";
if (get_visual_script().is_valid() && get_visual_script()->has_variable(variable)) {
PropertyInfo vinfo = get_visual_script()->get_variable_info(variable);
- pinfo.type=vinfo.type;
- pinfo.hint=vinfo.hint;
- pinfo.hint_string=vinfo.hint_string;
+ pinfo.type = vinfo.type;
+ pinfo.hint = vinfo.hint;
+ pinfo.hint_string = vinfo.hint_string;
}
return pinfo;
}
-
String VisualScriptVariableGet::get_caption() const {
return "Variable";
@@ -712,83 +677,73 @@ String VisualScriptVariableGet::get_text() const {
void VisualScriptVariableGet::set_variable(StringName p_variable) {
- if (variable==p_variable)
+ if (variable == p_variable)
return;
- variable=p_variable;
+ variable = p_variable;
ports_changed_notify();
-
}
-StringName VisualScriptVariableGet::get_variable() const{
+StringName VisualScriptVariableGet::get_variable() const {
return variable;
}
-void VisualScriptVariableGet::_validate_property(PropertyInfo& property) const {
+void VisualScriptVariableGet::_validate_property(PropertyInfo &property) const {
- if (property.name=="variable/name" && get_visual_script().is_valid()) {
+ if (property.name == "variable/name" && get_visual_script().is_valid()) {
Ref<VisualScript> vs = get_visual_script();
List<StringName> vars;
vs->get_variable_list(&vars);
String vhint;
- for (List<StringName>::Element *E=vars.front();E;E=E->next()) {
- if (vhint!=String())
- vhint+=",";
+ for (List<StringName>::Element *E = vars.front(); E; E = E->next()) {
+ if (vhint != String())
+ vhint += ",";
- vhint+=E->get().operator String();
+ vhint += E->get().operator String();
}
- property.hint=PROPERTY_HINT_ENUM;
- property.hint_string=vhint;
+ property.hint = PROPERTY_HINT_ENUM;
+ property.hint_string = vhint;
}
}
void VisualScriptVariableGet::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_variable","name"),&VisualScriptVariableGet::set_variable);
- ClassDB::bind_method(D_METHOD("get_variable"),&VisualScriptVariableGet::get_variable);
-
-
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"variable/name"),"set_variable","get_variable");
+ ClassDB::bind_method(D_METHOD("set_variable", "name"), &VisualScriptVariableGet::set_variable);
+ ClassDB::bind_method(D_METHOD("get_variable"), &VisualScriptVariableGet::get_variable);
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "variable/name"), "set_variable", "get_variable");
}
class VisualScriptNodeInstanceVariableGet : public VisualScriptNodeInstance {
public:
-
VisualScriptVariableGet *node;
VisualScriptInstance *instance;
StringName variable;
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
- if (instance->get_variable(variable,p_outputs[0])==false) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("VariableGet not found in script: ")+"'"+String(variable)+"'";
+ if (instance->get_variable(variable, p_outputs[0]) == false) {
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("VariableGet not found in script: ") + "'" + String(variable) + "'";
return false;
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptVariableGet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptVariableGet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceVariableGet * instance = memnew(VisualScriptNodeInstanceVariableGet );
- instance->node=this;
- instance->instance=p_instance;
- instance->variable=variable;
+ VisualScriptNodeInstanceVariableGet *instance = memnew(VisualScriptNodeInstanceVariableGet);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->variable = variable;
return instance;
}
VisualScriptVariableGet::VisualScriptVariableGet() {
-
-
}
-
//////////////////////////////////////////
////////////////VARIABLE SET//////////////////
//////////////////////////////////////////
@@ -798,16 +753,16 @@ int VisualScriptVariableSet::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptVariableSet::has_input_sequence_port() const{
+bool VisualScriptVariableSet::has_input_sequence_port() const {
return true;
}
-int VisualScriptVariableSet::get_input_value_port_count() const{
+int VisualScriptVariableSet::get_input_value_port_count() const {
return 1;
}
-int VisualScriptVariableSet::get_output_value_port_count() const{
+int VisualScriptVariableSet::get_output_value_port_count() const {
return 0;
}
@@ -817,25 +772,24 @@ String VisualScriptVariableSet::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptVariableSet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptVariableSet::get_input_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="set";
+ pinfo.name = "set";
if (get_visual_script().is_valid() && get_visual_script()->has_variable(variable)) {
PropertyInfo vinfo = get_visual_script()->get_variable_info(variable);
- pinfo.type=vinfo.type;
- pinfo.hint=vinfo.hint;
- pinfo.hint_string=vinfo.hint_string;
+ pinfo.type = vinfo.type;
+ pinfo.hint = vinfo.hint;
+ pinfo.hint_string = vinfo.hint_string;
}
return pinfo;
}
-PropertyInfo VisualScriptVariableSet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptVariableSet::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptVariableSet::get_caption() const {
return "VariableSet";
@@ -848,87 +802,76 @@ String VisualScriptVariableSet::get_text() const {
void VisualScriptVariableSet::set_variable(StringName p_variable) {
- if (variable==p_variable)
+ if (variable == p_variable)
return;
- variable=p_variable;
+ variable = p_variable;
ports_changed_notify();
-
}
-StringName VisualScriptVariableSet::get_variable() const{
+StringName VisualScriptVariableSet::get_variable() const {
return variable;
}
-void VisualScriptVariableSet::_validate_property(PropertyInfo& property) const {
+void VisualScriptVariableSet::_validate_property(PropertyInfo &property) const {
- if (property.name=="variable/name" && get_visual_script().is_valid()) {
+ if (property.name == "variable/name" && get_visual_script().is_valid()) {
Ref<VisualScript> vs = get_visual_script();
List<StringName> vars;
vs->get_variable_list(&vars);
String vhint;
- for (List<StringName>::Element *E=vars.front();E;E=E->next()) {
- if (vhint!=String())
- vhint+=",";
+ for (List<StringName>::Element *E = vars.front(); E; E = E->next()) {
+ if (vhint != String())
+ vhint += ",";
- vhint+=E->get().operator String();
+ vhint += E->get().operator String();
}
- property.hint=PROPERTY_HINT_ENUM;
- property.hint_string=vhint;
+ property.hint = PROPERTY_HINT_ENUM;
+ property.hint_string = vhint;
}
}
void VisualScriptVariableSet::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_variable","name"),&VisualScriptVariableSet::set_variable);
- ClassDB::bind_method(D_METHOD("get_variable"),&VisualScriptVariableSet::get_variable);
-
-
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"variable/name"),"set_variable","get_variable");
+ ClassDB::bind_method(D_METHOD("set_variable", "name"), &VisualScriptVariableSet::set_variable);
+ ClassDB::bind_method(D_METHOD("get_variable"), &VisualScriptVariableSet::get_variable);
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "variable/name"), "set_variable", "get_variable");
}
class VisualScriptNodeInstanceVariableSet : public VisualScriptNodeInstance {
public:
-
VisualScriptVariableSet *node;
VisualScriptInstance *instance;
StringName variable;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
- if (instance->set_variable(variable,*p_inputs[0])==false) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
+ if (instance->set_variable(variable, *p_inputs[0]) == false) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str=RTR("VariableSet not found in script: ")+"'"+String(variable)+"'";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("VariableSet not found in script: ") + "'" + String(variable) + "'";
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptVariableSet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptVariableSet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceVariableSet * instance = memnew(VisualScriptNodeInstanceVariableSet );
- instance->node=this;
- instance->instance=p_instance;
- instance->variable=variable;
+ VisualScriptNodeInstanceVariableSet *instance = memnew(VisualScriptNodeInstanceVariableSet);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->variable = variable;
return instance;
}
VisualScriptVariableSet::VisualScriptVariableSet() {
-
-
}
-
-
//////////////////////////////////////////
////////////////CONSTANT//////////////////
//////////////////////////////////////////
@@ -938,16 +881,16 @@ int VisualScriptConstant::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptConstant::has_input_sequence_port() const{
+bool VisualScriptConstant::has_input_sequence_port() const {
return false;
}
-int VisualScriptConstant::get_input_value_port_count() const{
+int VisualScriptConstant::get_input_value_port_count() const {
return 0;
}
-int VisualScriptConstant::get_output_value_port_count() const{
+int VisualScriptConstant::get_output_value_port_count() const {
return 1;
}
@@ -957,20 +900,19 @@ String VisualScriptConstant::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptConstant::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptConstant::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptConstant::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptConstant::get_output_value_port_info(int p_idx) const {
PropertyInfo pinfo;
- pinfo.name="get";
- pinfo.type=type;
+ pinfo.name = "get";
+ pinfo.type = type;
return pinfo;
}
-
String VisualScriptConstant::get_caption() const {
return "Constant";
@@ -983,90 +925,82 @@ String VisualScriptConstant::get_text() const {
void VisualScriptConstant::set_constant_type(Variant::Type p_type) {
- if (type==p_type)
+ if (type == p_type)
return;
- type=p_type;
+ type = p_type;
ports_changed_notify();
Variant::CallError ce;
- value=Variant::construct(type,NULL,0,ce);
+ value = Variant::construct(type, NULL, 0, ce);
_change_notify();
-
}
-Variant::Type VisualScriptConstant::get_constant_type() const{
+Variant::Type VisualScriptConstant::get_constant_type() const {
return type;
}
-void VisualScriptConstant::set_constant_value(Variant p_value){
+void VisualScriptConstant::set_constant_value(Variant p_value) {
- if (value==p_value)
+ if (value == p_value)
return;
- value=p_value;
+ value = p_value;
ports_changed_notify();
}
-Variant VisualScriptConstant::get_constant_value() const{
+Variant VisualScriptConstant::get_constant_value() const {
return value;
}
-void VisualScriptConstant::_validate_property(PropertyInfo& property) const {
-
+void VisualScriptConstant::_validate_property(PropertyInfo &property) const {
- if (property.name=="constant/value") {
- property.type=type;
- if (type==Variant::NIL)
- property.usage=0; //do not save if nil
+ if (property.name == "constant/value") {
+ property.type = type;
+ if (type == Variant::NIL)
+ property.usage = 0; //do not save if nil
}
}
void VisualScriptConstant::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_constant_type","type"),&VisualScriptConstant::set_constant_type);
- ClassDB::bind_method(D_METHOD("get_constant_type"),&VisualScriptConstant::get_constant_type);
+ ClassDB::bind_method(D_METHOD("set_constant_type", "type"), &VisualScriptConstant::set_constant_type);
+ ClassDB::bind_method(D_METHOD("get_constant_type"), &VisualScriptConstant::get_constant_type);
- ClassDB::bind_method(D_METHOD("set_constant_value","value"),&VisualScriptConstant::set_constant_value);
- ClassDB::bind_method(D_METHOD("get_constant_value"),&VisualScriptConstant::get_constant_value);
+ ClassDB::bind_method(D_METHOD("set_constant_value", "value"), &VisualScriptConstant::set_constant_value);
+ ClassDB::bind_method(D_METHOD("get_constant_value"), &VisualScriptConstant::get_constant_value);
- String argt="Null";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Null";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
-
- ADD_PROPERTY(PropertyInfo(Variant::INT,"constant/type",PROPERTY_HINT_ENUM,argt),"set_constant_type","get_constant_type");
- ADD_PROPERTY(PropertyInfo(Variant::NIL,"constant/value"),"set_constant_value","get_constant_value");
-
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "constant/type", PROPERTY_HINT_ENUM, argt), "set_constant_type", "get_constant_type");
+ ADD_PROPERTY(PropertyInfo(Variant::NIL, "constant/value"), "set_constant_value", "get_constant_value");
}
class VisualScriptNodeInstanceConstant : public VisualScriptNodeInstance {
public:
-
Variant constant;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_outputs[0]=constant;
+ *p_outputs[0] = constant;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptConstant::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptConstant::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceConstant * instance = memnew(VisualScriptNodeInstanceConstant );
- instance->constant=value;
+ VisualScriptNodeInstanceConstant *instance = memnew(VisualScriptNodeInstanceConstant);
+ instance->constant = value;
return instance;
}
VisualScriptConstant::VisualScriptConstant() {
- type=Variant::NIL;
-
+ type = Variant::NIL;
}
//////////////////////////////////////////
@@ -1078,16 +1012,16 @@ int VisualScriptPreload::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptPreload::has_input_sequence_port() const{
+bool VisualScriptPreload::has_input_sequence_port() const {
return false;
}
-int VisualScriptPreload::get_input_value_port_count() const{
+int VisualScriptPreload::get_input_value_port_count() const {
return 0;
}
-int VisualScriptPreload::get_output_value_port_count() const{
+int VisualScriptPreload::get_output_value_port_count() const {
return 1;
}
@@ -1097,23 +1031,22 @@ String VisualScriptPreload::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptPreload::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptPreload::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptPreload::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptPreload::get_output_value_port_info(int p_idx) const {
- PropertyInfo pinfo=PropertyInfo(Variant::OBJECT,"res");
+ PropertyInfo pinfo = PropertyInfo(Variant::OBJECT, "res");
if (preload.is_valid()) {
- pinfo.hint=PROPERTY_HINT_RESOURCE_TYPE;
- pinfo.hint_string=preload->get_class();
+ pinfo.hint = PROPERTY_HINT_RESOURCE_TYPE;
+ pinfo.hint_string = preload->get_class();
}
return pinfo;
}
-
String VisualScriptPreload::get_caption() const {
return "Preload";
@@ -1124,7 +1057,7 @@ String VisualScriptPreload::get_text() const {
if (preload.is_valid()) {
if (preload->get_path().is_resource_file()) {
return preload->get_path();
- } else if (preload->get_name()!=String()) {
+ } else if (preload->get_name() != String()) {
return preload->get_name();
} else {
return preload->get_class();
@@ -1134,61 +1067,49 @@ String VisualScriptPreload::get_text() const {
}
}
+void VisualScriptPreload::set_preload(const Ref<Resource> &p_preload) {
-void VisualScriptPreload::set_preload(const Ref<Resource>& p_preload){
-
- if (preload==p_preload)
+ if (preload == p_preload)
return;
- preload=p_preload;
+ preload = p_preload;
ports_changed_notify();
}
-Ref<Resource> VisualScriptPreload::get_preload() const{
+Ref<Resource> VisualScriptPreload::get_preload() const {
return preload;
}
-
void VisualScriptPreload::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_preload", "resource"), &VisualScriptPreload::set_preload);
+ ClassDB::bind_method(D_METHOD("get_preload"), &VisualScriptPreload::get_preload);
- ClassDB::bind_method(D_METHOD("set_preload","resource"),&VisualScriptPreload::set_preload);
- ClassDB::bind_method(D_METHOD("get_preload"),&VisualScriptPreload::get_preload);
-
-
- ADD_PROPERTY(PropertyInfo(Variant::OBJECT,"resource",PROPERTY_HINT_RESOURCE_TYPE,"Resource"),"set_preload","get_preload");
-
+ ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "resource", PROPERTY_HINT_RESOURCE_TYPE, "Resource"), "set_preload", "get_preload");
}
class VisualScriptNodeInstancePreload : public VisualScriptNodeInstance {
public:
-
Ref<Resource> preload;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_outputs[0]=preload;
+ *p_outputs[0] = preload;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptPreload::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptPreload::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstancePreload * instance = memnew(VisualScriptNodeInstancePreload );
- instance->preload=preload;
+ VisualScriptNodeInstancePreload *instance = memnew(VisualScriptNodeInstancePreload);
+ instance->preload = preload;
return instance;
}
VisualScriptPreload::VisualScriptPreload() {
-
}
-
-
-
//////////////////////////////////////////
////////////////INDEX////////////////////
//////////////////////////////////////////
@@ -1198,16 +1119,16 @@ int VisualScriptIndexGet::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptIndexGet::has_input_sequence_port() const{
+bool VisualScriptIndexGet::has_input_sequence_port() const {
return false;
}
-int VisualScriptIndexGet::get_input_value_port_count() const{
+int VisualScriptIndexGet::get_input_value_port_count() const {
return 2;
}
-int VisualScriptIndexGet::get_output_value_port_count() const{
+int VisualScriptIndexGet::get_output_value_port_count() const {
return 1;
}
@@ -1217,22 +1138,20 @@ String VisualScriptIndexGet::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptIndexGet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIndexGet::get_input_value_port_info(int p_idx) const {
- if (p_idx==0) {
- return PropertyInfo(Variant::NIL,"base");
+ if (p_idx == 0) {
+ return PropertyInfo(Variant::NIL, "base");
} else {
- return PropertyInfo(Variant::NIL,"index");
-
+ return PropertyInfo(Variant::NIL, "index");
}
}
-PropertyInfo VisualScriptIndexGet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIndexGet::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptIndexGet::get_caption() const {
return "IndexGet";
@@ -1243,37 +1162,29 @@ String VisualScriptIndexGet::get_text() const {
return String("get");
}
-
class VisualScriptNodeInstanceIndexGet : public VisualScriptNodeInstance {
public:
-
-
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
bool valid;
- *p_outputs[0] = p_inputs[0]->get(*p_inputs[1],&valid);
+ *p_outputs[0] = p_inputs[0]->get(*p_inputs[1], &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid get: "+p_inputs[0]->get_construct_string();
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid get: " + p_inputs[0]->get_construct_string();
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptIndexGet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptIndexGet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceIndexGet * instance = memnew(VisualScriptNodeInstanceIndexGet );
+ VisualScriptNodeInstanceIndexGet *instance = memnew(VisualScriptNodeInstanceIndexGet);
return instance;
}
VisualScriptIndexGet::VisualScriptIndexGet() {
-
-
-
}
//////////////////////////////////////////
@@ -1285,16 +1196,16 @@ int VisualScriptIndexSet::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptIndexSet::has_input_sequence_port() const{
+bool VisualScriptIndexSet::has_input_sequence_port() const {
return true;
}
-int VisualScriptIndexSet::get_input_value_port_count() const{
+int VisualScriptIndexSet::get_input_value_port_count() const {
return 3;
}
-int VisualScriptIndexSet::get_output_value_port_count() const{
+int VisualScriptIndexSet::get_output_value_port_count() const {
return 0;
}
@@ -1304,25 +1215,23 @@ String VisualScriptIndexSet::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptIndexSet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIndexSet::get_input_value_port_info(int p_idx) const {
- if (p_idx==0) {
- return PropertyInfo(Variant::NIL,"base");
- } else if (p_idx==1){
- return PropertyInfo(Variant::NIL,"index");
+ if (p_idx == 0) {
+ return PropertyInfo(Variant::NIL, "base");
+ } else if (p_idx == 1) {
+ return PropertyInfo(Variant::NIL, "index");
} else {
- return PropertyInfo(Variant::NIL,"value");
-
+ return PropertyInfo(Variant::NIL, "value");
}
}
-PropertyInfo VisualScriptIndexSet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptIndexSet::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptIndexSet::get_caption() const {
return "IndexSet";
@@ -1333,41 +1242,32 @@ String VisualScriptIndexSet::get_text() const {
return String("set");
}
-
class VisualScriptNodeInstanceIndexSet : public VisualScriptNodeInstance {
public:
-
-
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
bool valid;
- *p_outputs[0]=*p_inputs[0];
- p_outputs[0]->set(*p_inputs[1],*p_inputs[2],&valid);
+ *p_outputs[0] = *p_inputs[0];
+ p_outputs[0]->set(*p_inputs[1], *p_inputs[2], &valid);
if (!valid) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Invalid set: "+p_inputs[1]->get_construct_string();
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid set: " + p_inputs[1]->get_construct_string();
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptIndexSet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptIndexSet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceIndexSet * instance = memnew(VisualScriptNodeInstanceIndexSet );
+ VisualScriptNodeInstanceIndexSet *instance = memnew(VisualScriptNodeInstanceIndexSet);
return instance;
}
VisualScriptIndexSet::VisualScriptIndexSet() {
-
-
-
}
-
//////////////////////////////////////////
////////////////GLOBALCONSTANT///////////
//////////////////////////////////////////
@@ -1377,16 +1277,16 @@ int VisualScriptGlobalConstant::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptGlobalConstant::has_input_sequence_port() const{
+bool VisualScriptGlobalConstant::has_input_sequence_port() const {
return false;
}
-int VisualScriptGlobalConstant::get_input_value_port_count() const{
+int VisualScriptGlobalConstant::get_input_value_port_count() const {
return 0;
}
-int VisualScriptGlobalConstant::get_output_value_port_count() const{
+int VisualScriptGlobalConstant::get_output_value_port_count() const {
return 1;
}
@@ -1396,17 +1296,16 @@ String VisualScriptGlobalConstant::get_output_sequence_port_text(int p_port) con
return String();
}
-PropertyInfo VisualScriptGlobalConstant::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptGlobalConstant::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptGlobalConstant::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptGlobalConstant::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::REAL,"value");
+ return PropertyInfo(Variant::REAL, "value");
}
-
String VisualScriptGlobalConstant::get_caption() const {
return "GlobalConst";
@@ -1419,7 +1318,7 @@ String VisualScriptGlobalConstant::get_text() const {
void VisualScriptGlobalConstant::set_global_constant(int p_which) {
- index=p_which;
+ index = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1428,49 +1327,44 @@ int VisualScriptGlobalConstant::get_global_constant() {
return index;
}
-
class VisualScriptNodeInstanceGlobalConstant : public VisualScriptNodeInstance {
public:
-
int index;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
*p_outputs[0] = GlobalConstants::get_global_constant_value(index);
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptGlobalConstant::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptGlobalConstant::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceGlobalConstant * instance = memnew(VisualScriptNodeInstanceGlobalConstant );
- instance->index=index;
+ VisualScriptNodeInstanceGlobalConstant *instance = memnew(VisualScriptNodeInstanceGlobalConstant);
+ instance->index = index;
return instance;
}
void VisualScriptGlobalConstant::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_global_constant","index"),&VisualScriptGlobalConstant::set_global_constant);
- ClassDB::bind_method(D_METHOD("get_global_constant"),&VisualScriptGlobalConstant::get_global_constant);
+ ClassDB::bind_method(D_METHOD("set_global_constant", "index"), &VisualScriptGlobalConstant::set_global_constant);
+ ClassDB::bind_method(D_METHOD("get_global_constant"), &VisualScriptGlobalConstant::get_global_constant);
String cc;
- for(int i=0;i<GlobalConstants::get_global_constant_count();i++) {
+ for (int i = 0; i < GlobalConstants::get_global_constant_count(); i++) {
- if (i>0)
- cc+=",";
- cc+=GlobalConstants::get_global_constant_name(i);
+ if (i > 0)
+ cc += ",";
+ cc += GlobalConstants::get_global_constant_name(i);
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"constant",PROPERTY_HINT_ENUM,cc),"set_global_constant","get_global_constant");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "constant", PROPERTY_HINT_ENUM, cc), "set_global_constant", "get_global_constant");
}
VisualScriptGlobalConstant::VisualScriptGlobalConstant() {
- index=0;
+ index = 0;
}
//////////////////////////////////////////
@@ -1482,16 +1376,16 @@ int VisualScriptClassConstant::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptClassConstant::has_input_sequence_port() const{
+bool VisualScriptClassConstant::has_input_sequence_port() const {
return false;
}
-int VisualScriptClassConstant::get_input_value_port_count() const{
+int VisualScriptClassConstant::get_input_value_port_count() const {
return 0;
}
-int VisualScriptClassConstant::get_output_value_port_count() const{
+int VisualScriptClassConstant::get_output_value_port_count() const {
return 1;
}
@@ -1501,17 +1395,16 @@ String VisualScriptClassConstant::get_output_sequence_port_text(int p_port) cons
return String();
}
-PropertyInfo VisualScriptClassConstant::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptClassConstant::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptClassConstant::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptClassConstant::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::INT,"value");
+ return PropertyInfo(Variant::INT, "value");
}
-
String VisualScriptClassConstant::get_caption() const {
return "ClassConst";
@@ -1519,12 +1412,12 @@ String VisualScriptClassConstant::get_caption() const {
String VisualScriptClassConstant::get_text() const {
- return String(base_type)+"."+String(name);
+ return String(base_type) + "." + String(name);
}
-void VisualScriptClassConstant::set_class_constant(const StringName& p_which) {
+void VisualScriptClassConstant::set_class_constant(const StringName &p_which) {
- name=p_which;
+ name = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1533,10 +1426,9 @@ StringName VisualScriptClassConstant::get_class_constant() {
return name;
}
+void VisualScriptClassConstant::set_base_type(const StringName &p_which) {
-void VisualScriptClassConstant::set_base_type(const StringName& p_which) {
-
- base_type=p_which;
+ base_type = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1547,67 +1439,63 @@ StringName VisualScriptClassConstant::get_base_type() {
class VisualScriptNodeInstanceClassConstant : public VisualScriptNodeInstance {
public:
-
int value;
bool valid;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (!valid) {
- r_error_str="Invalid constant name, pick a valid class constant.";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid constant name, pick a valid class constant.";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
}
*p_outputs[0] = value;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptClassConstant::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptClassConstant::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceClassConstant * instance = memnew(VisualScriptNodeInstanceClassConstant );
- instance->value=ClassDB::get_integer_constant(base_type,name,&instance->valid);
+ VisualScriptNodeInstanceClassConstant *instance = memnew(VisualScriptNodeInstanceClassConstant);
+ instance->value = ClassDB::get_integer_constant(base_type, name, &instance->valid);
return instance;
}
-void VisualScriptClassConstant::_validate_property(PropertyInfo& property) const {
+void VisualScriptClassConstant::_validate_property(PropertyInfo &property) const {
- if (property.name=="constant") {
+ if (property.name == "constant") {
List<String> constants;
- ClassDB::get_integer_constant_list(base_type,&constants,true);
+ ClassDB::get_integer_constant_list(base_type, &constants, true);
- property.hint_string="";
- for(List<String>::Element *E=constants.front();E;E=E->next()) {
- if (property.hint_string!=String()) {
- property.hint_string+=",";
+ property.hint_string = "";
+ for (List<String>::Element *E = constants.front(); E; E = E->next()) {
+ if (property.hint_string != String()) {
+ property.hint_string += ",";
}
- property.hint_string+=E->get();
+ property.hint_string += E->get();
}
}
}
void VisualScriptClassConstant::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_class_constant","name"),&VisualScriptClassConstant::set_class_constant);
- ClassDB::bind_method(D_METHOD("get_class_constant"),&VisualScriptClassConstant::get_class_constant);
+ ClassDB::bind_method(D_METHOD("set_class_constant", "name"), &VisualScriptClassConstant::set_class_constant);
+ ClassDB::bind_method(D_METHOD("get_class_constant"), &VisualScriptClassConstant::get_class_constant);
- ClassDB::bind_method(D_METHOD("set_base_type","name"),&VisualScriptClassConstant::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptClassConstant::get_base_type);
+ ClassDB::bind_method(D_METHOD("set_base_type", "name"), &VisualScriptClassConstant::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptClassConstant::get_base_type);
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"constant",PROPERTY_HINT_ENUM,""),"set_class_constant","get_class_constant");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "constant", PROPERTY_HINT_ENUM, ""), "set_class_constant", "get_class_constant");
}
VisualScriptClassConstant::VisualScriptClassConstant() {
- base_type="Object";
+ base_type = "Object";
}
-
//////////////////////////////////////////
////////////////BASICTYPECONSTANT///////////
//////////////////////////////////////////
@@ -1617,16 +1505,16 @@ int VisualScriptBasicTypeConstant::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptBasicTypeConstant::has_input_sequence_port() const{
+bool VisualScriptBasicTypeConstant::has_input_sequence_port() const {
return false;
}
-int VisualScriptBasicTypeConstant::get_input_value_port_count() const{
+int VisualScriptBasicTypeConstant::get_input_value_port_count() const {
return 0;
}
-int VisualScriptBasicTypeConstant::get_output_value_port_count() const{
+int VisualScriptBasicTypeConstant::get_output_value_port_count() const {
return 1;
}
@@ -1636,17 +1524,16 @@ String VisualScriptBasicTypeConstant::get_output_sequence_port_text(int p_port)
return String();
}
-PropertyInfo VisualScriptBasicTypeConstant::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptBasicTypeConstant::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptBasicTypeConstant::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptBasicTypeConstant::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::INT,"value");
+ return PropertyInfo(Variant::INT, "value");
}
-
String VisualScriptBasicTypeConstant::get_caption() const {
return "BasicConst";
@@ -1654,12 +1541,12 @@ String VisualScriptBasicTypeConstant::get_caption() const {
String VisualScriptBasicTypeConstant::get_text() const {
- return Variant::get_type_name(type)+"."+String(name);
+ return Variant::get_type_name(type) + "." + String(name);
}
-void VisualScriptBasicTypeConstant::set_basic_type_constant(const StringName& p_which) {
+void VisualScriptBasicTypeConstant::set_basic_type_constant(const StringName &p_which) {
- name=p_which;
+ name = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1668,10 +1555,9 @@ StringName VisualScriptBasicTypeConstant::get_basic_type_constant() const {
return name;
}
-
void VisualScriptBasicTypeConstant::set_basic_type(Variant::Type p_which) {
- type=p_which;
+ type = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1682,85 +1568,77 @@ Variant::Type VisualScriptBasicTypeConstant::get_basic_type() const {
class VisualScriptNodeInstanceBasicTypeConstant : public VisualScriptNodeInstance {
public:
-
int value;
bool valid;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (!valid) {
- r_error_str="Invalid constant name, pick a valid basic type constant.";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Invalid constant name, pick a valid basic type constant.";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
}
*p_outputs[0] = value;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptBasicTypeConstant::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptBasicTypeConstant::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceBasicTypeConstant * instance = memnew(VisualScriptNodeInstanceBasicTypeConstant );
- instance->value=Variant::get_numeric_constant_value(type,name,&instance->valid);
+ VisualScriptNodeInstanceBasicTypeConstant *instance = memnew(VisualScriptNodeInstanceBasicTypeConstant);
+ instance->value = Variant::get_numeric_constant_value(type, name, &instance->valid);
return instance;
}
-void VisualScriptBasicTypeConstant::_validate_property(PropertyInfo& property) const {
+void VisualScriptBasicTypeConstant::_validate_property(PropertyInfo &property) const {
- if (property.name=="constant") {
+ if (property.name == "constant") {
List<StringName> constants;
- Variant::get_numeric_constants_for_type(type,&constants);
+ Variant::get_numeric_constants_for_type(type, &constants);
- if (constants.size()==0) {
- property.usage=0;
+ if (constants.size() == 0) {
+ property.usage = 0;
return;
}
- property.hint_string="";
- for(List<StringName>::Element *E=constants.front();E;E=E->next()) {
- if (property.hint_string!=String()) {
- property.hint_string+=",";
+ property.hint_string = "";
+ for (List<StringName>::Element *E = constants.front(); E; E = E->next()) {
+ if (property.hint_string != String()) {
+ property.hint_string += ",";
}
- property.hint_string+=String(E->get());
+ property.hint_string += String(E->get());
}
-
}
}
void VisualScriptBasicTypeConstant::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_basic_type","name"),&VisualScriptBasicTypeConstant::set_basic_type);
- ClassDB::bind_method(D_METHOD("get_basic_type"),&VisualScriptBasicTypeConstant::get_basic_type);
-
- ClassDB::bind_method(D_METHOD("set_basic_type_constant","name"),&VisualScriptBasicTypeConstant::set_basic_type_constant);
- ClassDB::bind_method(D_METHOD("get_basic_type_constant"),&VisualScriptBasicTypeConstant::get_basic_type_constant);
+ ClassDB::bind_method(D_METHOD("set_basic_type", "name"), &VisualScriptBasicTypeConstant::set_basic_type);
+ ClassDB::bind_method(D_METHOD("get_basic_type"), &VisualScriptBasicTypeConstant::get_basic_type);
+ ClassDB::bind_method(D_METHOD("set_basic_type_constant", "name"), &VisualScriptBasicTypeConstant::set_basic_type_constant);
+ ClassDB::bind_method(D_METHOD("get_basic_type_constant"), &VisualScriptBasicTypeConstant::get_basic_type_constant);
- String argt="Null";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Null";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"basic_type",PROPERTY_HINT_ENUM,argt),"set_basic_type","get_basic_type");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"constant",PROPERTY_HINT_ENUM,""),"set_basic_type_constant","get_basic_type_constant");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "basic_type", PROPERTY_HINT_ENUM, argt), "set_basic_type", "get_basic_type");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "constant", PROPERTY_HINT_ENUM, ""), "set_basic_type_constant", "get_basic_type_constant");
}
VisualScriptBasicTypeConstant::VisualScriptBasicTypeConstant() {
- type=Variant::NIL;
+ type = Variant::NIL;
}
-
-
//////////////////////////////////////////
////////////////MATHCONSTANT///////////
//////////////////////////////////////////
-
-const char* VisualScriptMathConstant::const_name[MATH_CONSTANT_MAX]={
+const char *VisualScriptMathConstant::const_name[MATH_CONSTANT_MAX] = {
"One",
"PI",
"PIx2",
@@ -1771,33 +1649,32 @@ const char* VisualScriptMathConstant::const_name[MATH_CONSTANT_MAX]={
"NAN"
};
-double VisualScriptMathConstant::const_value[MATH_CONSTANT_MAX]={
+double VisualScriptMathConstant::const_value[MATH_CONSTANT_MAX] = {
1.0,
Math_PI,
- Math_PI*2,
- Math_PI*0.5,
+ Math_PI * 2,
+ Math_PI * 0.5,
2.71828182845904523536,
Math::sqrt(2.0),
Math_INF,
Math_NAN
};
-
int VisualScriptMathConstant::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptMathConstant::has_input_sequence_port() const{
+bool VisualScriptMathConstant::has_input_sequence_port() const {
return false;
}
-int VisualScriptMathConstant::get_input_value_port_count() const{
+int VisualScriptMathConstant::get_input_value_port_count() const {
return 0;
}
-int VisualScriptMathConstant::get_output_value_port_count() const{
+int VisualScriptMathConstant::get_output_value_port_count() const {
return 1;
}
@@ -1807,17 +1684,16 @@ String VisualScriptMathConstant::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptMathConstant::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptMathConstant::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptMathConstant::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptMathConstant::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::REAL,"value");
+ return PropertyInfo(Variant::REAL, "value");
}
-
String VisualScriptMathConstant::get_caption() const {
return "MathConst";
@@ -1830,7 +1706,7 @@ String VisualScriptMathConstant::get_text() const {
void VisualScriptMathConstant::set_math_constant(MathConstant p_which) {
- constant=p_which;
+ constant = p_which;
_change_notify();
ports_changed_notify();
}
@@ -1841,50 +1717,44 @@ VisualScriptMathConstant::MathConstant VisualScriptMathConstant::get_math_consta
class VisualScriptNodeInstanceMathConstant : public VisualScriptNodeInstance {
public:
-
float value;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_outputs[0]=value;
+ *p_outputs[0] = value;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptMathConstant::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptMathConstant::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceMathConstant * instance = memnew(VisualScriptNodeInstanceMathConstant );
- instance->value=const_value[constant];
+ VisualScriptNodeInstanceMathConstant *instance = memnew(VisualScriptNodeInstanceMathConstant);
+ instance->value = const_value[constant];
return instance;
}
-
void VisualScriptMathConstant::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_math_constant","which"),&VisualScriptMathConstant::set_math_constant);
- ClassDB::bind_method(D_METHOD("get_math_constant"),&VisualScriptMathConstant::get_math_constant);
+ ClassDB::bind_method(D_METHOD("set_math_constant", "which"), &VisualScriptMathConstant::set_math_constant);
+ ClassDB::bind_method(D_METHOD("get_math_constant"), &VisualScriptMathConstant::get_math_constant);
String cc;
- for(int i=0;i<MATH_CONSTANT_MAX;i++) {
+ for (int i = 0; i < MATH_CONSTANT_MAX; i++) {
- if (i>0)
- cc+=",";
- cc+=const_name[i];
+ if (i > 0)
+ cc += ",";
+ cc += const_name[i];
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"constant",PROPERTY_HINT_ENUM,cc),"set_math_constant","get_math_constant");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "constant", PROPERTY_HINT_ENUM, cc), "set_math_constant", "get_math_constant");
}
VisualScriptMathConstant::VisualScriptMathConstant() {
- constant=MATH_CONSTANT_ONE;
+ constant = MATH_CONSTANT_ONE;
}
-
-
//////////////////////////////////////////
////////////////GLOBALSINGLETON///////////
//////////////////////////////////////////
@@ -1894,16 +1764,16 @@ int VisualScriptEngineSingleton::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptEngineSingleton::has_input_sequence_port() const{
+bool VisualScriptEngineSingleton::has_input_sequence_port() const {
return false;
}
-int VisualScriptEngineSingleton::get_input_value_port_count() const{
+int VisualScriptEngineSingleton::get_input_value_port_count() const {
return 0;
}
-int VisualScriptEngineSingleton::get_output_value_port_count() const{
+int VisualScriptEngineSingleton::get_output_value_port_count() const {
return 1;
}
@@ -1913,17 +1783,16 @@ String VisualScriptEngineSingleton::get_output_sequence_port_text(int p_port) co
return String();
}
-PropertyInfo VisualScriptEngineSingleton::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptEngineSingleton::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptEngineSingleton::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptEngineSingleton::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"instance");
+ return PropertyInfo(Variant::OBJECT, "instance");
}
-
String VisualScriptEngineSingleton::get_caption() const {
return "EngineSingleton";
@@ -1934,9 +1803,9 @@ String VisualScriptEngineSingleton::get_text() const {
return singleton;
}
-void VisualScriptEngineSingleton::set_singleton(const String& p_string) {
+void VisualScriptEngineSingleton::set_singleton(const String &p_string) {
- singleton=p_string;
+ singleton = p_string;
_change_notify();
ports_changed_notify();
@@ -1946,48 +1815,43 @@ String VisualScriptEngineSingleton::get_singleton() {
return singleton;
}
-
-
class VisualScriptNodeInstanceEngineSingleton : public VisualScriptNodeInstance {
public:
-
- Object* singleton;
+ Object *singleton;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_outputs[0]=singleton;
+ *p_outputs[0] = singleton;
return 0;
}
-
};
-VisualScriptNodeInstance* VisualScriptEngineSingleton::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptEngineSingleton::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceEngineSingleton * instance = memnew(VisualScriptNodeInstanceEngineSingleton );
- instance->singleton=GlobalConfig::get_singleton()->get_singleton_object(singleton);
+ VisualScriptNodeInstanceEngineSingleton *instance = memnew(VisualScriptNodeInstanceEngineSingleton);
+ instance->singleton = GlobalConfig::get_singleton()->get_singleton_object(singleton);
return instance;
}
-VisualScriptEngineSingleton::TypeGuess VisualScriptEngineSingleton::guess_output_type(TypeGuess* p_inputs, int p_output) const {
+VisualScriptEngineSingleton::TypeGuess VisualScriptEngineSingleton::guess_output_type(TypeGuess *p_inputs, int p_output) const {
- Object *obj=GlobalConfig::get_singleton()->get_singleton_object(singleton);
+ Object *obj = GlobalConfig::get_singleton()->get_singleton_object(singleton);
TypeGuess tg;
- tg.type=Variant::OBJECT;
+ tg.type = Variant::OBJECT;
if (obj) {
- tg.GDCLASS=obj->get_class();
- tg.script=obj->get_script();
+ tg.GDCLASS = obj->get_class();
+ tg.script = obj->get_script();
}
return tg;
}
-
void VisualScriptEngineSingleton::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_singleton","name"),&VisualScriptEngineSingleton::set_singleton);
- ClassDB::bind_method(D_METHOD("get_singleton"),&VisualScriptEngineSingleton::get_singleton);
+ ClassDB::bind_method(D_METHOD("set_singleton", "name"), &VisualScriptEngineSingleton::set_singleton);
+ ClassDB::bind_method(D_METHOD("get_singleton"), &VisualScriptEngineSingleton::get_singleton);
String cc;
@@ -1995,25 +1859,23 @@ void VisualScriptEngineSingleton::_bind_methods() {
GlobalConfig::get_singleton()->get_singletons(&singletons);
- for (List<GlobalConfig::Singleton>::Element *E=singletons.front();E;E=E->next()) {
- if (E->get().name=="VS" || E->get().name=="PS" || E->get().name=="PS2D" || E->get().name=="AS" || E->get().name=="TS" || E->get().name=="SS" || E->get().name=="SS2D")
+ for (List<GlobalConfig::Singleton>::Element *E = singletons.front(); E; E = E->next()) {
+ if (E->get().name == "VS" || E->get().name == "PS" || E->get().name == "PS2D" || E->get().name == "AS" || E->get().name == "TS" || E->get().name == "SS" || E->get().name == "SS2D")
continue; //skip these, too simple named
- if (cc!=String())
- cc+=",";
- cc+=E->get().name;
+ if (cc != String())
+ cc += ",";
+ cc += E->get().name;
}
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"constant",PROPERTY_HINT_ENUM,cc),"set_singleton","get_singleton");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "constant", PROPERTY_HINT_ENUM, cc), "set_singleton", "get_singleton");
}
VisualScriptEngineSingleton::VisualScriptEngineSingleton() {
- singleton=String();
+ singleton = String();
}
-
-
//////////////////////////////////////////
////////////////GETNODE///////////
//////////////////////////////////////////
@@ -2023,16 +1885,16 @@ int VisualScriptSceneNode::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptSceneNode::has_input_sequence_port() const{
+bool VisualScriptSceneNode::has_input_sequence_port() const {
return false;
}
-int VisualScriptSceneNode::get_input_value_port_count() const{
+int VisualScriptSceneNode::get_input_value_port_count() const {
return 0;
}
-int VisualScriptSceneNode::get_output_value_port_count() const{
+int VisualScriptSceneNode::get_output_value_port_count() const {
return 1;
}
@@ -2042,17 +1904,16 @@ String VisualScriptSceneNode::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptSceneNode::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSceneNode::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptSceneNode::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSceneNode::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"node");
+ return PropertyInfo(Variant::OBJECT, "node");
}
-
String VisualScriptSceneNode::get_caption() const {
return "SceneNode";
@@ -2063,9 +1924,9 @@ String VisualScriptSceneNode::get_text() const {
return path.simplified();
}
-void VisualScriptSceneNode::set_node_path(const NodePath& p_path) {
+void VisualScriptSceneNode::set_node_path(const NodePath &p_path) {
- path=p_path;
+ path = p_path;
_change_notify();
ports_changed_notify();
}
@@ -2074,68 +1935,59 @@ NodePath VisualScriptSceneNode::get_node_path() {
return path;
}
-
class VisualScriptNodeInstanceSceneNode : public VisualScriptNodeInstance {
public:
-
VisualScriptSceneNode *node;
VisualScriptInstance *instance;
NodePath path;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Base object is not a Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Base object is not a Node!";
return 0;
}
-
-
- Node* another = node->get_node(path);
+ Node *another = node->get_node(path);
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Path does not lead Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Path does not lead Node!";
return 0;
}
- *p_outputs[0]=another;
+ *p_outputs[0] = another;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSceneNode::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSceneNode::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSceneNode * instance = memnew(VisualScriptNodeInstanceSceneNode );
- instance->node=this;
- instance->instance=p_instance;
- instance->path=path;
+ VisualScriptNodeInstanceSceneNode *instance = memnew(VisualScriptNodeInstanceSceneNode);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->path = path;
return instance;
}
-
-
-
#ifdef TOOLS_ENABLED
-static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const Ref<Script> &script) {
+static Node *_find_script_node(Node *p_edited_scene, Node *p_current_node, const Ref<Script> &script) {
- if (p_edited_scene!=p_current_node && p_current_node->get_owner()!=p_edited_scene)
+ if (p_edited_scene != p_current_node && p_current_node->get_owner() != p_edited_scene)
return NULL;
Ref<Script> scr = p_current_node->get_script();
- if (scr.is_valid() && scr==script)
+ if (scr.is_valid() && scr == script)
return p_current_node;
- for(int i=0;i<p_current_node->get_child_count();i++) {
- Node *n = _find_script_node(p_edited_scene,p_current_node->get_child(i),script);
+ for (int i = 0; i < p_current_node->get_child_count(); i++) {
+ Node *n = _find_script_node(p_edited_scene, p_current_node->get_child(i), script);
if (n)
return n;
}
@@ -2145,19 +1997,18 @@ static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const R
#endif
-VisualScriptSceneNode::TypeGuess VisualScriptSceneNode::guess_output_type(TypeGuess* p_inputs, int p_output) const {
-
+VisualScriptSceneNode::TypeGuess VisualScriptSceneNode::guess_output_type(TypeGuess *p_inputs, int p_output) const {
VisualScriptSceneNode::TypeGuess tg;
- tg.type=Variant::OBJECT;
- tg.GDCLASS="Node";
+ tg.type = Variant::OBJECT;
+ tg.GDCLASS = "Node";
#ifdef TOOLS_ENABLED
Ref<Script> script = get_visual_script();
if (!script.is_valid())
return tg;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return tg;
@@ -2171,33 +2022,31 @@ VisualScriptSceneNode::TypeGuess VisualScriptSceneNode::guess_output_type(TypeGu
if (!edited_scene)
return tg;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return tg;
- Node* another = script_node->get_node(path);
+ Node *another = script_node->get_node(path);
if (another) {
- tg.GDCLASS=another->get_class();
- tg.script=another->get_script();
+ tg.GDCLASS = another->get_class();
+ tg.script = another->get_script();
}
#endif
return tg;
-
}
-
-void VisualScriptSceneNode::_validate_property(PropertyInfo& property) const {
+void VisualScriptSceneNode::_validate_property(PropertyInfo &property) const {
#ifdef TOOLS_ENABLED
- if (property.name=="node_path") {
+ if (property.name == "node_path") {
Ref<Script> script = get_visual_script();
if (!script.is_valid())
return;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return;
@@ -2211,30 +2060,29 @@ void VisualScriptSceneNode::_validate_property(PropertyInfo& property) const {
if (!edited_scene)
return;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return;
- property.hint_string=script_node->get_path();
+ property.hint_string = script_node->get_path();
}
#endif
}
void VisualScriptSceneNode::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_node_path","path"),&VisualScriptSceneNode::set_node_path);
- ClassDB::bind_method(D_METHOD("get_node_path"),&VisualScriptSceneNode::get_node_path);
+ ClassDB::bind_method(D_METHOD("set_node_path", "path"), &VisualScriptSceneNode::set_node_path);
+ ClassDB::bind_method(D_METHOD("get_node_path"), &VisualScriptSceneNode::get_node_path);
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH,"node_path",PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE),"set_node_path","get_node_path");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "node_path", PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE), "set_node_path", "get_node_path");
}
VisualScriptSceneNode::VisualScriptSceneNode() {
- path=String(".");
+ path = String(".");
}
-
//////////////////////////////////////////
////////////////SceneTree///////////
//////////////////////////////////////////
@@ -2244,16 +2092,16 @@ int VisualScriptSceneTree::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptSceneTree::has_input_sequence_port() const{
+bool VisualScriptSceneTree::has_input_sequence_port() const {
return false;
}
-int VisualScriptSceneTree::get_input_value_port_count() const{
+int VisualScriptSceneTree::get_input_value_port_count() const {
return 0;
}
-int VisualScriptSceneTree::get_output_value_port_count() const{
+int VisualScriptSceneTree::get_output_value_port_count() const {
return 1;
}
@@ -2263,17 +2111,16 @@ String VisualScriptSceneTree::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptSceneTree::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSceneTree::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptSceneTree::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSceneTree::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"instance");
+ return PropertyInfo(Variant::OBJECT, "instance");
}
-
String VisualScriptSceneTree::get_caption() const {
return "SceneTree";
@@ -2284,68 +2131,60 @@ String VisualScriptSceneTree::get_text() const {
return "";
}
-
class VisualScriptNodeInstanceSceneTree : public VisualScriptNodeInstance {
public:
-
VisualScriptSceneTree *node;
VisualScriptInstance *instance;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Base object is not a Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Base object is not a Node!";
return 0;
}
- SceneTree* tree = node->get_tree();
+ SceneTree *tree = node->get_tree();
if (!tree) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Attempt to get SceneTree while node is not in the active tree.";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Attempt to get SceneTree while node is not in the active tree.";
return 0;
}
- *p_outputs[0]=tree;
+ *p_outputs[0] = tree;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSceneTree::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSceneTree::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSceneTree * instance = memnew(VisualScriptNodeInstanceSceneTree );
- instance->node=this;
- instance->instance=p_instance;
+ VisualScriptNodeInstanceSceneTree *instance = memnew(VisualScriptNodeInstanceSceneTree);
+ instance->node = this;
+ instance->instance = p_instance;
return instance;
}
-VisualScriptSceneTree::TypeGuess VisualScriptSceneTree::guess_output_type(TypeGuess* p_inputs, int p_output) const {
+VisualScriptSceneTree::TypeGuess VisualScriptSceneTree::guess_output_type(TypeGuess *p_inputs, int p_output) const {
TypeGuess tg;
- tg.type=Variant::OBJECT;
- tg.GDCLASS="SceneTree";
+ tg.type = Variant::OBJECT;
+ tg.GDCLASS = "SceneTree";
return tg;
}
-void VisualScriptSceneTree::_validate_property(PropertyInfo& property) const {
-
+void VisualScriptSceneTree::_validate_property(PropertyInfo &property) const {
}
void VisualScriptSceneTree::_bind_methods() {
-
}
VisualScriptSceneTree::VisualScriptSceneTree() {
-
}
-
//////////////////////////////////////////
////////////////RESPATH///////////
//////////////////////////////////////////
@@ -2355,16 +2194,16 @@ int VisualScriptResourcePath::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptResourcePath::has_input_sequence_port() const{
+bool VisualScriptResourcePath::has_input_sequence_port() const {
return false;
}
-int VisualScriptResourcePath::get_input_value_port_count() const{
+int VisualScriptResourcePath::get_input_value_port_count() const {
return 0;
}
-int VisualScriptResourcePath::get_output_value_port_count() const{
+int VisualScriptResourcePath::get_output_value_port_count() const {
return 1;
}
@@ -2374,17 +2213,16 @@ String VisualScriptResourcePath::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptResourcePath::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptResourcePath::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptResourcePath::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptResourcePath::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::STRING,"path");
+ return PropertyInfo(Variant::STRING, "path");
}
-
String VisualScriptResourcePath::get_caption() const {
return "ResourcePath";
@@ -2395,9 +2233,9 @@ String VisualScriptResourcePath::get_text() const {
return path;
}
-void VisualScriptResourcePath::set_resource_path(const String& p_path) {
+void VisualScriptResourcePath::set_resource_path(const String &p_path) {
- path=p_path;
+ path = p_path;
_change_notify();
ports_changed_notify();
}
@@ -2406,47 +2244,39 @@ String VisualScriptResourcePath::get_resource_path() {
return path;
}
-
class VisualScriptNodeInstanceResourcePath : public VisualScriptNodeInstance {
public:
-
String path;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
*p_outputs[0] = path;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptResourcePath::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptResourcePath::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceResourcePath * instance = memnew(VisualScriptNodeInstanceResourcePath );
- instance->path=path;
+ VisualScriptNodeInstanceResourcePath *instance = memnew(VisualScriptNodeInstanceResourcePath);
+ instance->path = path;
return instance;
}
-
-
void VisualScriptResourcePath::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_resource_path","path"),&VisualScriptResourcePath::set_resource_path);
- ClassDB::bind_method(D_METHOD("get_resource_path"),&VisualScriptResourcePath::get_resource_path);
+ ClassDB::bind_method(D_METHOD("set_resource_path", "path"), &VisualScriptResourcePath::set_resource_path);
+ ClassDB::bind_method(D_METHOD("get_resource_path"), &VisualScriptResourcePath::get_resource_path);
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"path",PROPERTY_HINT_FILE),"set_resource_path","get_resource_path");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "path", PROPERTY_HINT_FILE), "set_resource_path", "get_resource_path");
}
VisualScriptResourcePath::VisualScriptResourcePath() {
- path="";
+ path = "";
}
-
-
//////////////////////////////////////////
////////////////SELF///////////
//////////////////////////////////////////
@@ -2456,16 +2286,16 @@ int VisualScriptSelf::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptSelf::has_input_sequence_port() const{
+bool VisualScriptSelf::has_input_sequence_port() const {
return false;
}
-int VisualScriptSelf::get_input_value_port_count() const{
+int VisualScriptSelf::get_input_value_port_count() const {
return 0;
}
-int VisualScriptSelf::get_output_value_port_count() const{
+int VisualScriptSelf::get_output_value_port_count() const {
return 1;
}
@@ -2475,17 +2305,16 @@ String VisualScriptSelf::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptSelf::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSelf::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptSelf::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSelf::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::OBJECT,"instance");
+ return PropertyInfo(Variant::OBJECT, "instance");
}
-
String VisualScriptSelf::get_caption() const {
return "Self";
@@ -2499,56 +2328,46 @@ String VisualScriptSelf::get_text() const {
return "";
}
-
class VisualScriptNodeInstanceSelf : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
*p_outputs[0] = instance->get_owner_ptr();
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSelf::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSelf::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSelf * instance = memnew(VisualScriptNodeInstanceSelf );
- instance->instance=p_instance;
+ VisualScriptNodeInstanceSelf *instance = memnew(VisualScriptNodeInstanceSelf);
+ instance->instance = p_instance;
return instance;
}
-VisualScriptSelf::TypeGuess VisualScriptSelf::guess_output_type(TypeGuess* p_inputs, int p_output) const {
+VisualScriptSelf::TypeGuess VisualScriptSelf::guess_output_type(TypeGuess *p_inputs, int p_output) const {
VisualScriptSceneNode::TypeGuess tg;
- tg.type=Variant::OBJECT;
- tg.GDCLASS="Object";
+ tg.type = Variant::OBJECT;
+ tg.GDCLASS = "Object";
Ref<Script> script = get_visual_script();
if (!script.is_valid())
return tg;
- tg.GDCLASS=script->get_instance_base_type();
- tg.script=script;
+ tg.GDCLASS = script->get_instance_base_type();
+ tg.script = script;
return tg;
-
-
}
-
void VisualScriptSelf::_bind_methods() {
-
}
VisualScriptSelf::VisualScriptSelf() {
-
-
}
//////////////////////////////////////////
@@ -2563,7 +2382,7 @@ int VisualScriptCustomNode::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptCustomNode::has_input_sequence_port() const{
+bool VisualScriptCustomNode::has_input_sequence_port() const {
if (get_script_instance() && get_script_instance()->has_method("_has_input_sequence_port")) {
return get_script_instance()->call("_has_input_sequence_port");
@@ -2571,14 +2390,14 @@ bool VisualScriptCustomNode::has_input_sequence_port() const{
return false;
}
-int VisualScriptCustomNode::get_input_value_port_count() const{
+int VisualScriptCustomNode::get_input_value_port_count() const {
if (get_script_instance() && get_script_instance()->has_method("_get_input_value_port_count")) {
return get_script_instance()->call("_get_input_value_port_count");
}
return 0;
}
-int VisualScriptCustomNode::get_output_value_port_count() const{
+int VisualScriptCustomNode::get_output_value_port_count() const {
if (get_script_instance() && get_script_instance()->has_method("_get_output_value_port_count")) {
return get_script_instance()->call("_get_output_value_port_count");
@@ -2589,37 +2408,36 @@ int VisualScriptCustomNode::get_output_value_port_count() const{
String VisualScriptCustomNode::get_output_sequence_port_text(int p_port) const {
if (get_script_instance() && get_script_instance()->has_method("_get_output_sequence_port_text")) {
- return get_script_instance()->call("_get_output_sequence_port_text",p_port);
+ return get_script_instance()->call("_get_output_sequence_port_text", p_port);
}
return String();
}
-PropertyInfo VisualScriptCustomNode::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptCustomNode::get_input_value_port_info(int p_idx) const {
PropertyInfo info;
if (get_script_instance() && get_script_instance()->has_method("_get_input_value_port_type")) {
- info.type=Variant::Type(int(get_script_instance()->call("_get_input_value_port_type",p_idx)));
+ info.type = Variant::Type(int(get_script_instance()->call("_get_input_value_port_type", p_idx)));
}
if (get_script_instance() && get_script_instance()->has_method("_get_input_value_port_name")) {
- info.name=get_script_instance()->call("_get_input_value_port_name",p_idx);
+ info.name = get_script_instance()->call("_get_input_value_port_name", p_idx);
}
return info;
}
-PropertyInfo VisualScriptCustomNode::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptCustomNode::get_output_value_port_info(int p_idx) const {
PropertyInfo info;
if (get_script_instance() && get_script_instance()->has_method("_get_output_value_port_type")) {
- info.type=Variant::Type(int(get_script_instance()->call("_get_output_value_port_type",p_idx)));
+ info.type = Variant::Type(int(get_script_instance()->call("_get_output_value_port_type", p_idx)));
}
if (get_script_instance() && get_script_instance()->has_method("_get_output_value_port_name")) {
- info.name=get_script_instance()->call("_get_output_value_port_name",p_idx);
+ info.name = get_script_instance()->call("_get_output_value_port_name", p_idx);
}
return info;
}
-
String VisualScriptCustomNode::get_caption() const {
if (get_script_instance() && get_script_instance()->has_method("_get_caption")) {
@@ -2646,21 +2464,20 @@ String VisualScriptCustomNode::get_category() const {
class VisualScriptNodeInstanceCustomNode : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
VisualScriptCustomNode *node;
int in_count;
int out_count;
int work_mem_size;
virtual int get_working_memory_size() const { return work_mem_size; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (node->get_script_instance()) {
#ifdef DEBUG_ENABLED
if (!node->get_script_instance()->has_method(VisualScriptLanguage::singleton->_step)) {
- r_error_str=RTR("Custom node has no _step() method, can't process graph.");
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Custom node has no _step() method, can't process graph.");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
#endif
@@ -2670,111 +2487,102 @@ public:
in_values.resize(in_count);
- for(int i=0;i<in_count;i++) {
- in_values[i]=p_inputs[i];
+ for (int i = 0; i < in_count; i++) {
+ in_values[i] = p_inputs[i];
}
out_values.resize(in_count);
work_mem.resize(work_mem_size);
- for(int i=0;i<work_mem_size;i++) {
- work_mem[i]=p_working_mem[i];
+ for (int i = 0; i < work_mem_size; i++) {
+ work_mem[i] = p_working_mem[i];
}
int ret_out;
- Variant ret = node->get_script_instance()->call(VisualScriptLanguage::singleton->_step,in_values,out_values,p_start_mode,work_mem);
- if (ret.get_type()==Variant::STRING) {
- r_error_str=ret;
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ Variant ret = node->get_script_instance()->call(VisualScriptLanguage::singleton->_step, in_values, out_values, p_start_mode, work_mem);
+ if (ret.get_type() == Variant::STRING) {
+ r_error_str = ret;
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
} else if (ret.is_num()) {
- ret_out=ret;
+ ret_out = ret;
} else {
- r_error_str=RTR("Invalid return value from _step(), must be integer (seq out), or string (error).");
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = RTR("Invalid return value from _step(), must be integer (seq out), or string (error).");
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
- for(int i=0;i<out_count;i++) {
- if (i<out_values.size()) {
- *p_outputs[i]=out_values[i];
+ for (int i = 0; i < out_count; i++) {
+ if (i < out_values.size()) {
+ *p_outputs[i] = out_values[i];
}
}
- for(int i=0;i<work_mem_size;i++) {
- if (i<work_mem.size()) {
- p_working_mem[i]=work_mem[i];
+ for (int i = 0; i < work_mem_size; i++) {
+ if (i < work_mem.size()) {
+ p_working_mem[i] = work_mem[i];
}
}
return ret_out;
-
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptCustomNode::instance(VisualScriptInstance* p_instance) {
-
- VisualScriptNodeInstanceCustomNode * instance = memnew(VisualScriptNodeInstanceCustomNode );
- instance->instance=p_instance;
- instance->in_count=get_input_value_port_count();
- instance->out_count=get_output_value_port_count();
+VisualScriptNodeInstance *VisualScriptCustomNode::instance(VisualScriptInstance *p_instance) {
+ VisualScriptNodeInstanceCustomNode *instance = memnew(VisualScriptNodeInstanceCustomNode);
+ instance->instance = p_instance;
+ instance->in_count = get_input_value_port_count();
+ instance->out_count = get_output_value_port_count();
if (get_script_instance() && get_script_instance()->has_method("_get_working_memory_size")) {
instance->work_mem_size = get_script_instance()->call("_get_working_memory_size");
} else {
- instance->work_mem_size=0;
+ instance->work_mem_size = 0;
}
return instance;
}
-
-
void VisualScriptCustomNode::_bind_methods() {
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_output_sequence_port_count") );
- BIND_VMETHOD( MethodInfo(Variant::BOOL,"_has_input_sequence_port") );
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_output_sequence_port_count"));
+ BIND_VMETHOD(MethodInfo(Variant::BOOL, "_has_input_sequence_port"));
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_output_sequence_port_text",PropertyInfo(Variant::INT,"idx")) );
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_input_value_port_count") );
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_output_value_port_count") );
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_output_sequence_port_text", PropertyInfo(Variant::INT, "idx")));
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_input_value_port_count"));
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_output_value_port_count"));
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_input_value_port_type",PropertyInfo(Variant::INT,"idx")) );
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_input_value_port_name",PropertyInfo(Variant::INT,"idx")) );
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_input_value_port_type", PropertyInfo(Variant::INT, "idx")));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_input_value_port_name", PropertyInfo(Variant::INT, "idx")));
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_output_value_port_type",PropertyInfo(Variant::INT,"idx")) );
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_output_value_port_name",PropertyInfo(Variant::INT,"idx")) );
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_output_value_port_type", PropertyInfo(Variant::INT, "idx")));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_output_value_port_name", PropertyInfo(Variant::INT, "idx")));
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_caption") );
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_text") );
- BIND_VMETHOD( MethodInfo(Variant::STRING,"_get_category") );
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_caption"));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_text"));
+ BIND_VMETHOD(MethodInfo(Variant::STRING, "_get_category"));
- BIND_VMETHOD( MethodInfo(Variant::INT,"_get_working_memory_size") );
- BIND_VMETHOD( MethodInfo(Variant::NIL,"_step:Variant",PropertyInfo(Variant::ARRAY,"inputs"),PropertyInfo(Variant::ARRAY,"outputs"),PropertyInfo(Variant::INT,"start_mode"),PropertyInfo(Variant::ARRAY,"working_mem")) );
+ BIND_VMETHOD(MethodInfo(Variant::INT, "_get_working_memory_size"));
+ BIND_VMETHOD(MethodInfo(Variant::NIL, "_step:Variant", PropertyInfo(Variant::ARRAY, "inputs"), PropertyInfo(Variant::ARRAY, "outputs"), PropertyInfo(Variant::INT, "start_mode"), PropertyInfo(Variant::ARRAY, "working_mem")));
- BIND_CONSTANT( START_MODE_BEGIN_SEQUENCE );
- BIND_CONSTANT( START_MODE_CONTINUE_SEQUENCE );
- BIND_CONSTANT( START_MODE_RESUME_YIELD );
-
- BIND_CONSTANT( STEP_PUSH_STACK_BIT );
- BIND_CONSTANT( STEP_GO_BACK_BIT );
- BIND_CONSTANT( STEP_NO_ADVANCE_BIT );
- BIND_CONSTANT( STEP_EXIT_FUNCTION_BIT );
- BIND_CONSTANT( STEP_YIELD_BIT );
+ BIND_CONSTANT(START_MODE_BEGIN_SEQUENCE);
+ BIND_CONSTANT(START_MODE_CONTINUE_SEQUENCE);
+ BIND_CONSTANT(START_MODE_RESUME_YIELD);
+ BIND_CONSTANT(STEP_PUSH_STACK_BIT);
+ BIND_CONSTANT(STEP_GO_BACK_BIT);
+ BIND_CONSTANT(STEP_NO_ADVANCE_BIT);
+ BIND_CONSTANT(STEP_EXIT_FUNCTION_BIT);
+ BIND_CONSTANT(STEP_YIELD_BIT);
}
VisualScriptCustomNode::VisualScriptCustomNode() {
-
-
}
//////////////////////////////////////////
@@ -2786,12 +2594,12 @@ int VisualScriptSubCall::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptSubCall::has_input_sequence_port() const{
+bool VisualScriptSubCall::has_input_sequence_port() const {
return true;
}
-int VisualScriptSubCall::get_input_value_port_count() const{
+int VisualScriptSubCall::get_input_value_port_count() const {
Ref<Script> script = get_script();
@@ -2803,7 +2611,7 @@ int VisualScriptSubCall::get_input_value_port_count() const{
return 0;
}
-int VisualScriptSubCall::get_output_value_port_count() const{
+int VisualScriptSubCall::get_output_value_port_count() const {
return 1;
}
@@ -2813,7 +2621,7 @@ String VisualScriptSubCall::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptSubCall::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSubCall::get_input_value_port_info(int p_idx) const {
Ref<Script> script = get_script();
if (script.is_valid() && script->has_method(VisualScriptLanguage::singleton->_subcall)) {
@@ -2825,7 +2633,7 @@ PropertyInfo VisualScriptSubCall::get_input_value_port_info(int p_idx) const{
return PropertyInfo();
}
-PropertyInfo VisualScriptSubCall::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptSubCall::get_output_value_port_info(int p_idx) const {
Ref<Script> script = get_script();
if (script.is_valid() && script->has_method(VisualScriptLanguage::singleton->_subcall)) {
@@ -2835,18 +2643,16 @@ PropertyInfo VisualScriptSubCall::get_output_value_port_info(int p_idx) const{
return PropertyInfo();
}
-
String VisualScriptSubCall::get_caption() const {
return "SubCall";
}
-
String VisualScriptSubCall::get_text() const {
Ref<Script> script = get_script();
if (script.is_valid()) {
- if (script->get_name()!=String())
+ if (script->get_name() != String())
return script->get_name();
if (script->get_path().is_resource_file())
return script->get_path().get_file();
@@ -2862,53 +2668,45 @@ String VisualScriptSubCall::get_category() const {
class VisualScriptNodeInstanceSubCall : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
VisualScriptSubCall *subcall;
int input_args;
bool valid;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
if (!valid) {
- r_error_str="Node requires a script with a _subcall(<args>) method to work.";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Node requires a script with a _subcall(<args>) method to work.";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
- *p_outputs[0]=subcall->call(VisualScriptLanguage::singleton->_subcall,p_inputs,input_args,r_error_str);
+ *p_outputs[0] = subcall->call(VisualScriptLanguage::singleton->_subcall, p_inputs, input_args, r_error_str);
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptSubCall::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptSubCall::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceSubCall * instance = memnew(VisualScriptNodeInstanceSubCall );
- instance->instance=p_instance;
+ VisualScriptNodeInstanceSubCall *instance = memnew(VisualScriptNodeInstanceSubCall);
+ instance->instance = p_instance;
Ref<Script> script = get_script();
if (script.is_valid() && script->has_method(VisualScriptLanguage::singleton->_subcall)) {
- instance->valid=true;
- instance->input_args=get_input_value_port_count();
+ instance->valid = true;
+ instance->input_args = get_input_value_port_count();
} else {
- instance->valid=false;
+ instance->valid = false;
}
return instance;
}
-
-
void VisualScriptSubCall::_bind_methods() {
- BIND_VMETHOD( MethodInfo(Variant::NIL,"_subcall",PropertyInfo(Variant::NIL,"arguments:Variant")) );
-
+ BIND_VMETHOD(MethodInfo(Variant::NIL, "_subcall", PropertyInfo(Variant::NIL, "arguments:Variant")));
}
VisualScriptSubCall::VisualScriptSubCall() {
-
-
}
//////////////////////////////////////////
@@ -2920,15 +2718,15 @@ int VisualScriptComment::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptComment::has_input_sequence_port() const{
+bool VisualScriptComment::has_input_sequence_port() const {
return false;
}
-int VisualScriptComment::get_input_value_port_count() const{
+int VisualScriptComment::get_input_value_port_count() const {
return 0;
}
-int VisualScriptComment::get_output_value_port_count() const{
+int VisualScriptComment::get_output_value_port_count() const {
return 0;
}
@@ -2938,69 +2736,63 @@ String VisualScriptComment::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptComment::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptComment::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptComment::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptComment::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptComment::get_caption() const {
return title;
}
-
String VisualScriptComment::get_text() const {
return description;
}
-void VisualScriptComment::set_title(const String& p_title) {
-
+void VisualScriptComment::set_title(const String &p_title) {
- if (title==p_title)
+ if (title == p_title)
return;
- title=p_title;
+ title = p_title;
ports_changed_notify();
}
-String VisualScriptComment::get_title() const{
+String VisualScriptComment::get_title() const {
return title;
}
-void VisualScriptComment::set_description(const String& p_description){
+void VisualScriptComment::set_description(const String &p_description) {
- if (description==p_description)
+ if (description == p_description)
return;
- description=p_description;
+ description = p_description;
ports_changed_notify();
-
}
-String VisualScriptComment::get_description() const{
+String VisualScriptComment::get_description() const {
return description;
}
-void VisualScriptComment::set_size(const Size2& p_size){
+void VisualScriptComment::set_size(const Size2 &p_size) {
- if (size==p_size)
+ if (size == p_size)
return;
- size=p_size;
+ size = p_size;
ports_changed_notify();
-
}
-Size2 VisualScriptComment::get_size() const{
+Size2 VisualScriptComment::get_size() const {
return size;
}
-
String VisualScriptComment::get_category() const {
return "data";
@@ -3008,54 +2800,45 @@ String VisualScriptComment::get_category() const {
class VisualScriptNodeInstanceComment : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
-
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptComment::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptComment::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceComment * instance = memnew(VisualScriptNodeInstanceComment );
- instance->instance=p_instance;
+ VisualScriptNodeInstanceComment *instance = memnew(VisualScriptNodeInstanceComment);
+ instance->instance = p_instance;
return instance;
}
-
-
void VisualScriptComment::_bind_methods() {
+ ClassDB::bind_method(D_METHOD("set_title", "title"), &VisualScriptComment::set_title);
+ ClassDB::bind_method(D_METHOD("get_title"), &VisualScriptComment::get_title);
- ClassDB::bind_method(D_METHOD("set_title","title"),&VisualScriptComment::set_title);
- ClassDB::bind_method(D_METHOD("get_title"),&VisualScriptComment::get_title);
+ ClassDB::bind_method(D_METHOD("set_description", "description"), &VisualScriptComment::set_description);
+ ClassDB::bind_method(D_METHOD("get_description"), &VisualScriptComment::get_description);
- ClassDB::bind_method(D_METHOD("set_description","description"),&VisualScriptComment::set_description);
- ClassDB::bind_method(D_METHOD("get_description"),&VisualScriptComment::get_description);
-
- ClassDB::bind_method(D_METHOD("set_size","size"),&VisualScriptComment::set_size);
- ClassDB::bind_method(D_METHOD("get_size"),&VisualScriptComment::get_size);
-
- ADD_PROPERTY( PropertyInfo(Variant::STRING,"title"),"set_title","get_title");
- ADD_PROPERTY( PropertyInfo(Variant::STRING,"description",PROPERTY_HINT_MULTILINE_TEXT),"set_description","get_description");
- ADD_PROPERTY( PropertyInfo(Variant::VECTOR2,"size"),"set_size","get_size");
+ ClassDB::bind_method(D_METHOD("set_size", "size"), &VisualScriptComment::set_size);
+ ClassDB::bind_method(D_METHOD("get_size"), &VisualScriptComment::get_size);
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "title"), "set_title", "get_title");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "description", PROPERTY_HINT_MULTILINE_TEXT), "set_description", "get_description");
+ ADD_PROPERTY(PropertyInfo(Variant::VECTOR2, "size"), "set_size", "get_size");
}
VisualScriptComment::VisualScriptComment() {
- title="Comment";
- size=Size2(150,150);
+ title = "Comment";
+ size = Size2(150, 150);
}
-
//////////////////////////////////////////
////////////////Constructor///////////
//////////////////////////////////////////
@@ -3065,15 +2848,15 @@ int VisualScriptConstructor::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptConstructor::has_input_sequence_port() const{
+bool VisualScriptConstructor::has_input_sequence_port() const {
return false;
}
-int VisualScriptConstructor::get_input_value_port_count() const{
+int VisualScriptConstructor::get_input_value_port_count() const {
return constructor.arguments.size();
}
-int VisualScriptConstructor::get_output_value_port_count() const{
+int VisualScriptConstructor::get_output_value_port_count() const {
return 1;
}
@@ -3083,29 +2866,26 @@ String VisualScriptConstructor::get_output_sequence_port_text(int p_port) const
return "";
}
-PropertyInfo VisualScriptConstructor::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptConstructor::get_input_value_port_info(int p_idx) const {
return constructor.arguments[p_idx];
}
-PropertyInfo VisualScriptConstructor::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptConstructor::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(type,"value");
+ return PropertyInfo(type, "value");
}
-
String VisualScriptConstructor::get_caption() const {
return "Construct";
}
-
String VisualScriptConstructor::get_text() const {
- return "new "+Variant::get_type_name(type)+"()";
+ return "new " + Variant::get_type_name(type) + "()";
}
-
String VisualScriptConstructor::get_category() const {
return "functions";
@@ -3113,10 +2893,10 @@ String VisualScriptConstructor::get_category() const {
void VisualScriptConstructor::set_constructor_type(Variant::Type p_type) {
- if (type==p_type)
+ if (type == p_type)
return;
- type=p_type;
+ type = p_type;
ports_changed_notify();
}
@@ -3125,9 +2905,9 @@ Variant::Type VisualScriptConstructor::get_constructor_type() const {
return type;
}
-void VisualScriptConstructor::set_constructor(const Dictionary& p_info) {
+void VisualScriptConstructor::set_constructor(const Dictionary &p_info) {
- constructor=MethodInfo::from_dict(p_info);
+ constructor = MethodInfo::from_dict(p_info);
ports_changed_notify();
}
@@ -3136,65 +2916,57 @@ Dictionary VisualScriptConstructor::get_constructor() const {
return constructor;
}
-
class VisualScriptNodeInstanceConstructor : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
Variant::Type type;
int argcount;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
Variant::CallError ce;
- *p_outputs[0]=Variant::construct(type,p_inputs,argcount,ce);
- if (ce.error!=Variant::CallError::CALL_OK) {
- r_error_str="Invalid arguments for constructor";
+ *p_outputs[0] = Variant::construct(type, p_inputs, argcount, ce);
+ if (ce.error != Variant::CallError::CALL_OK) {
+ r_error_str = "Invalid arguments for constructor";
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptConstructor::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptConstructor::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceConstructor * instance = memnew(VisualScriptNodeInstanceConstructor );
- instance->instance=p_instance;
- instance->type=type;
- instance->argcount=constructor.arguments.size();
+ VisualScriptNodeInstanceConstructor *instance = memnew(VisualScriptNodeInstanceConstructor);
+ instance->instance = p_instance;
+ instance->type = type;
+ instance->argcount = constructor.arguments.size();
return instance;
}
-
-
void VisualScriptConstructor::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_constructor_type","type"),&VisualScriptConstructor::set_constructor_type);
- ClassDB::bind_method(D_METHOD("get_constructor_type"),&VisualScriptConstructor::get_constructor_type);
-
- ClassDB::bind_method(D_METHOD("set_constructor","constructor"),&VisualScriptConstructor::set_constructor);
- ClassDB::bind_method(D_METHOD("get_constructor"),&VisualScriptConstructor::get_constructor);
+ ClassDB::bind_method(D_METHOD("set_constructor_type", "type"), &VisualScriptConstructor::set_constructor_type);
+ ClassDB::bind_method(D_METHOD("get_constructor_type"), &VisualScriptConstructor::get_constructor_type);
- ADD_PROPERTY( PropertyInfo(Variant::INT,"type",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"set_constructor_type","get_constructor_type");
- ADD_PROPERTY( PropertyInfo(Variant::DICTIONARY,"constructor",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"set_constructor","get_constructor");
+ ClassDB::bind_method(D_METHOD("set_constructor", "constructor"), &VisualScriptConstructor::set_constructor);
+ ClassDB::bind_method(D_METHOD("get_constructor"), &VisualScriptConstructor::get_constructor);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_constructor_type", "get_constructor_type");
+ ADD_PROPERTY(PropertyInfo(Variant::DICTIONARY, "constructor", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "set_constructor", "get_constructor");
}
VisualScriptConstructor::VisualScriptConstructor() {
- type=Variant::NIL;
-
+ type = Variant::NIL;
}
-static Map<String,Pair<Variant::Type,MethodInfo> > constructor_map;
+static Map<String, Pair<Variant::Type, MethodInfo> > constructor_map;
-static Ref<VisualScriptNode> create_constructor_node(const String& p_name) {
+static Ref<VisualScriptNode> create_constructor_node(const String &p_name) {
- ERR_FAIL_COND_V(!constructor_map.has(p_name),Ref<VisualScriptNode>());
+ ERR_FAIL_COND_V(!constructor_map.has(p_name), Ref<VisualScriptNode>());
Ref<VisualScriptConstructor> vsc;
vsc.instance();
@@ -3213,15 +2985,15 @@ int VisualScriptLocalVar::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptLocalVar::has_input_sequence_port() const{
+bool VisualScriptLocalVar::has_input_sequence_port() const {
return false;
}
-int VisualScriptLocalVar::get_input_value_port_count() const{
+int VisualScriptLocalVar::get_input_value_port_count() const {
return 0;
}
-int VisualScriptLocalVar::get_output_value_port_count() const{
+int VisualScriptLocalVar::get_output_value_port_count() const {
return 1;
}
@@ -3231,42 +3003,37 @@ String VisualScriptLocalVar::get_output_sequence_port_text(int p_port) const {
return "";
}
-PropertyInfo VisualScriptLocalVar::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptLocalVar::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptLocalVar::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptLocalVar::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(type,"get");
+ return PropertyInfo(type, "get");
}
-
String VisualScriptLocalVar::get_caption() const {
return "LocalVarGet";
}
-
String VisualScriptLocalVar::get_text() const {
return name;
}
-
String VisualScriptLocalVar::get_category() const {
return "data";
}
+void VisualScriptLocalVar::set_var_name(const StringName &p_name) {
-void VisualScriptLocalVar::set_var_name(const StringName& p_name) {
-
- if (name==p_name)
+ if (name == p_name)
return;
- name=p_name;
+ name = p_name;
ports_changed_notify();
-
}
StringName VisualScriptLocalVar::get_var_name() const {
@@ -3276,7 +3043,7 @@ StringName VisualScriptLocalVar::get_var_name() const {
void VisualScriptLocalVar::set_var_type(Variant::Type p_type) {
- type=p_type;
+ type = p_type;
ports_changed_notify();
}
@@ -3285,59 +3052,49 @@ Variant::Type VisualScriptLocalVar::get_var_type() const {
return type;
}
-
class VisualScriptNodeInstanceLocalVar : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
StringName name;
-
virtual int get_working_memory_size() const { return 1; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_outputs[0]=*p_working_mem;
+ *p_outputs[0] = *p_working_mem;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptLocalVar::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptLocalVar::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceLocalVar * instance = memnew(VisualScriptNodeInstanceLocalVar );
- instance->instance=p_instance;
- instance->name=name;
+ VisualScriptNodeInstanceLocalVar *instance = memnew(VisualScriptNodeInstanceLocalVar);
+ instance->instance = p_instance;
+ instance->name = name;
return instance;
}
-
-
void VisualScriptLocalVar::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_var_name","name"),&VisualScriptLocalVar::set_var_name);
- ClassDB::bind_method(D_METHOD("get_var_name"),&VisualScriptLocalVar::get_var_name);
+ ClassDB::bind_method(D_METHOD("set_var_name", "name"), &VisualScriptLocalVar::set_var_name);
+ ClassDB::bind_method(D_METHOD("get_var_name"), &VisualScriptLocalVar::get_var_name);
- ClassDB::bind_method(D_METHOD("set_var_type","type"),&VisualScriptLocalVar::set_var_type);
- ClassDB::bind_method(D_METHOD("get_var_type"),&VisualScriptLocalVar::get_var_type);
+ ClassDB::bind_method(D_METHOD("set_var_type", "type"), &VisualScriptLocalVar::set_var_type);
+ ClassDB::bind_method(D_METHOD("get_var_type"), &VisualScriptLocalVar::get_var_type);
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY( PropertyInfo(Variant::STRING,"variable/name"),"set_var_name","get_var_name");
- ADD_PROPERTY( PropertyInfo(Variant::INT,"variable/type",PROPERTY_HINT_ENUM,argt),"set_var_type","get_var_type");
-
-
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "variable/name"), "set_var_name", "get_var_name");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "variable/type", PROPERTY_HINT_ENUM, argt), "set_var_type", "get_var_type");
}
VisualScriptLocalVar::VisualScriptLocalVar() {
- name="new_local";
- type=Variant::NIL;
-
+ name = "new_local";
+ type = Variant::NIL;
}
//////////////////////////////////////////
@@ -3349,15 +3106,15 @@ int VisualScriptLocalVarSet::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptLocalVarSet::has_input_sequence_port() const{
+bool VisualScriptLocalVarSet::has_input_sequence_port() const {
return true;
}
-int VisualScriptLocalVarSet::get_input_value_port_count() const{
+int VisualScriptLocalVarSet::get_input_value_port_count() const {
return 1;
}
-int VisualScriptLocalVarSet::get_output_value_port_count() const{
+int VisualScriptLocalVarSet::get_output_value_port_count() const {
return 1;
}
@@ -3367,42 +3124,37 @@ String VisualScriptLocalVarSet::get_output_sequence_port_text(int p_port) const
return "";
}
-PropertyInfo VisualScriptLocalVarSet::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptLocalVarSet::get_input_value_port_info(int p_idx) const {
- return PropertyInfo(type,"set");
+ return PropertyInfo(type, "set");
}
-PropertyInfo VisualScriptLocalVarSet::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptLocalVarSet::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(type,"get");
+ return PropertyInfo(type, "get");
}
-
String VisualScriptLocalVarSet::get_caption() const {
return "LocalVarSet";
}
-
String VisualScriptLocalVarSet::get_text() const {
return name;
}
-
String VisualScriptLocalVarSet::get_category() const {
return "data";
}
+void VisualScriptLocalVarSet::set_var_name(const StringName &p_name) {
-void VisualScriptLocalVarSet::set_var_name(const StringName& p_name) {
-
- if (name==p_name)
+ if (name == p_name)
return;
- name=p_name;
+ name = p_name;
ports_changed_notify();
-
}
StringName VisualScriptLocalVarSet::get_var_name() const {
@@ -3412,7 +3164,7 @@ StringName VisualScriptLocalVarSet::get_var_name() const {
void VisualScriptLocalVarSet::set_var_type(Variant::Type p_type) {
- type=p_type;
+ type = p_type;
ports_changed_notify();
}
@@ -3421,63 +3173,52 @@ Variant::Type VisualScriptLocalVarSet::get_var_type() const {
return type;
}
-
class VisualScriptNodeInstanceLocalVarSet : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
StringName name;
-
virtual int get_working_memory_size() const { return 1; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- *p_working_mem=*p_inputs[0];
- *p_outputs[0]=*p_working_mem;
+ *p_working_mem = *p_inputs[0];
+ *p_outputs[0] = *p_working_mem;
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptLocalVarSet::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptLocalVarSet::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceLocalVarSet * instance = memnew(VisualScriptNodeInstanceLocalVarSet );
- instance->instance=p_instance;
- instance->name=name;
+ VisualScriptNodeInstanceLocalVarSet *instance = memnew(VisualScriptNodeInstanceLocalVarSet);
+ instance->instance = p_instance;
+ instance->name = name;
return instance;
}
-
-
void VisualScriptLocalVarSet::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_var_name","name"),&VisualScriptLocalVarSet::set_var_name);
- ClassDB::bind_method(D_METHOD("get_var_name"),&VisualScriptLocalVarSet::get_var_name);
+ ClassDB::bind_method(D_METHOD("set_var_name", "name"), &VisualScriptLocalVarSet::set_var_name);
+ ClassDB::bind_method(D_METHOD("get_var_name"), &VisualScriptLocalVarSet::get_var_name);
- ClassDB::bind_method(D_METHOD("set_var_type","type"),&VisualScriptLocalVarSet::set_var_type);
- ClassDB::bind_method(D_METHOD("get_var_type"),&VisualScriptLocalVarSet::get_var_type);
+ ClassDB::bind_method(D_METHOD("set_var_type", "type"), &VisualScriptLocalVarSet::set_var_type);
+ ClassDB::bind_method(D_METHOD("get_var_type"), &VisualScriptLocalVarSet::get_var_type);
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY( PropertyInfo(Variant::STRING,"variable/name"),"set_var_name","get_var_name");
- ADD_PROPERTY( PropertyInfo(Variant::INT,"variable/type",PROPERTY_HINT_ENUM,argt),"set_var_type","get_var_type");
-
-
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "variable/name"), "set_var_name", "get_var_name");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "variable/type", PROPERTY_HINT_ENUM, argt), "set_var_type", "get_var_type");
}
VisualScriptLocalVarSet::VisualScriptLocalVarSet() {
- name="new_local";
- type=Variant::NIL;
-
+ name = "new_local";
+ type = Variant::NIL;
}
-
//////////////////////////////////////////
////////////////LocalVar///////////
//////////////////////////////////////////
@@ -3487,15 +3228,15 @@ int VisualScriptInputAction::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptInputAction::has_input_sequence_port() const{
+bool VisualScriptInputAction::has_input_sequence_port() const {
return false;
}
-int VisualScriptInputAction::get_input_value_port_count() const{
+int VisualScriptInputAction::get_input_value_port_count() const {
return 0;
}
-int VisualScriptInputAction::get_output_value_port_count() const{
+int VisualScriptInputAction::get_output_value_port_count() const {
return 1;
}
@@ -3505,58 +3246,52 @@ String VisualScriptInputAction::get_output_sequence_port_text(int p_port) const
return "";
}
-PropertyInfo VisualScriptInputAction::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptInputAction::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptInputAction::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptInputAction::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(Variant::BOOL,"pressed");
+ return PropertyInfo(Variant::BOOL, "pressed");
}
-
String VisualScriptInputAction::get_caption() const {
-
return "Action";
}
-
String VisualScriptInputAction::get_text() const {
- switch(mode) {
+ switch (mode) {
case MODE_PRESSED: {
return name;
} break;
case MODE_RELEASED: {
- return "not "+name;
+ return "not " + name;
} break;
case MODE_JUST_PRESSED: {
- return String(name)+" "+TTR("just pressed");
+ return String(name) + " " + TTR("just pressed");
} break;
case MODE_JUST_RELEASED: {
- return String(name)+" "+TTR("just released");
+ return String(name) + " " + TTR("just released");
} break;
}
return String();
}
-
String VisualScriptInputAction::get_category() const {
return "data";
}
+void VisualScriptInputAction::set_action_name(const StringName &p_name) {
-void VisualScriptInputAction::set_action_name(const StringName& p_name) {
-
- if (name==p_name)
+ if (name == p_name)
return;
- name=p_name;
+ name = p_name;
ports_changed_notify();
-
}
StringName VisualScriptInputAction::get_action_name() const {
@@ -3566,119 +3301,106 @@ StringName VisualScriptInputAction::get_action_name() const {
void VisualScriptInputAction::set_action_mode(Mode p_mode) {
- if (mode==p_mode)
+ if (mode == p_mode)
return;
- mode=p_mode;
+ mode = p_mode;
ports_changed_notify();
-
}
VisualScriptInputAction::Mode VisualScriptInputAction::get_action_mode() const {
return mode;
}
-
class VisualScriptNodeInstanceInputAction : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
StringName action;
VisualScriptInputAction::Mode mode;
-
virtual int get_working_memory_size() const { return 1; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- switch(mode) {
+ switch (mode) {
case VisualScriptInputAction::MODE_PRESSED: {
- *p_outputs[0]=Input::get_singleton()->is_action_pressed(action);
+ *p_outputs[0] = Input::get_singleton()->is_action_pressed(action);
} break;
case VisualScriptInputAction::MODE_RELEASED: {
- *p_outputs[0]=!Input::get_singleton()->is_action_pressed(action);
+ *p_outputs[0] = !Input::get_singleton()->is_action_pressed(action);
} break;
case VisualScriptInputAction::MODE_JUST_PRESSED: {
- *p_outputs[0]=Input::get_singleton()->is_action_just_pressed(action);
+ *p_outputs[0] = Input::get_singleton()->is_action_just_pressed(action);
} break;
- case VisualScriptInputAction:: MODE_JUST_RELEASED: {
- *p_outputs[0]=Input::get_singleton()->is_action_just_released(action);
+ case VisualScriptInputAction::MODE_JUST_RELEASED: {
+ *p_outputs[0] = Input::get_singleton()->is_action_just_released(action);
} break;
-
}
-
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptInputAction::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptInputAction::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceInputAction * instance = memnew(VisualScriptNodeInstanceInputAction );
- instance->instance=p_instance;
- instance->action=name;
- instance->mode=mode;
+ VisualScriptNodeInstanceInputAction *instance = memnew(VisualScriptNodeInstanceInputAction);
+ instance->instance = p_instance;
+ instance->action = name;
+ instance->mode = mode;
return instance;
}
-void VisualScriptInputAction::_validate_property(PropertyInfo& property) const {
+void VisualScriptInputAction::_validate_property(PropertyInfo &property) const {
+ if (property.name == "action") {
- if (property.name=="action") {
-
- property.hint=PROPERTY_HINT_ENUM;
+ property.hint = PROPERTY_HINT_ENUM;
String actions;
List<PropertyInfo> pinfo;
GlobalConfig::get_singleton()->get_property_list(&pinfo);
Vector<String> al;
- for(List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
- const PropertyInfo &pi=E->get();
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
+ const PropertyInfo &pi = E->get();
if (!pi.name.begins_with("input/"))
continue;
- String name = pi.name.substr(pi.name.find("/")+1,pi.name.length());
-
+ String name = pi.name.substr(pi.name.find("/") + 1, pi.name.length());
al.push_back(name);
}
al.sort();
- for(int i=0;i<al.size();i++) {
- if (actions!=String())
- actions+=",";
- actions+=al[i];
+ for (int i = 0; i < al.size(); i++) {
+ if (actions != String())
+ actions += ",";
+ actions += al[i];
}
- property.hint_string=actions;
+ property.hint_string = actions;
}
}
-
void VisualScriptInputAction::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_action_name","name"),&VisualScriptInputAction::set_action_name);
- ClassDB::bind_method(D_METHOD("get_action_name"),&VisualScriptInputAction::get_action_name);
-
- ClassDB::bind_method(D_METHOD("set_action_mode","mode"),&VisualScriptInputAction::set_action_mode);
- ClassDB::bind_method(D_METHOD("get_action_mode"),&VisualScriptInputAction::get_action_mode);
+ ClassDB::bind_method(D_METHOD("set_action_name", "name"), &VisualScriptInputAction::set_action_name);
+ ClassDB::bind_method(D_METHOD("get_action_name"), &VisualScriptInputAction::get_action_name);
- ADD_PROPERTY( PropertyInfo(Variant::STRING,"action"),"set_action_name","get_action_name");
- ADD_PROPERTY( PropertyInfo(Variant::INT,"mode",PROPERTY_HINT_ENUM,"Pressed,Released,JustPressed,JustReleased"),"set_action_mode","get_action_mode");
+ ClassDB::bind_method(D_METHOD("set_action_mode", "mode"), &VisualScriptInputAction::set_action_mode);
+ ClassDB::bind_method(D_METHOD("get_action_mode"), &VisualScriptInputAction::get_action_mode);
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "action"), "set_action_name", "get_action_name");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Pressed,Released,JustPressed,JustReleased"), "set_action_mode", "get_action_mode");
}
VisualScriptInputAction::VisualScriptInputAction() {
- name="";
- mode=MODE_PRESSED;
-
+ name = "";
+ mode = MODE_PRESSED;
}
//////////////////////////////////////////
@@ -3690,15 +3412,15 @@ int VisualScriptDeconstruct::get_output_sequence_port_count() const {
return 0;
}
-bool VisualScriptDeconstruct::has_input_sequence_port() const{
+bool VisualScriptDeconstruct::has_input_sequence_port() const {
return false;
}
-int VisualScriptDeconstruct::get_input_value_port_count() const{
+int VisualScriptDeconstruct::get_input_value_port_count() const {
return 1;
}
-int VisualScriptDeconstruct::get_output_value_port_count() const{
+int VisualScriptDeconstruct::get_output_value_port_count() const {
return elements.size();
}
@@ -3708,29 +3430,26 @@ String VisualScriptDeconstruct::get_output_sequence_port_text(int p_port) const
return "";
}
-PropertyInfo VisualScriptDeconstruct::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptDeconstruct::get_input_value_port_info(int p_idx) const {
- return PropertyInfo(type,"value");
+ return PropertyInfo(type, "value");
}
-PropertyInfo VisualScriptDeconstruct::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptDeconstruct::get_output_value_port_info(int p_idx) const {
- return PropertyInfo(elements[p_idx].type,elements[p_idx].name);
+ return PropertyInfo(elements[p_idx].type, elements[p_idx].name);
}
-
String VisualScriptDeconstruct::get_caption() const {
return "Deconstruct";
}
-
String VisualScriptDeconstruct::get_text() const {
- return "from "+Variant::get_type_name(type)+":";
+ return "from " + Variant::get_type_name(type) + ":";
}
-
String VisualScriptDeconstruct::get_category() const {
return "functions";
@@ -3740,33 +3459,33 @@ void VisualScriptDeconstruct::_update_elements() {
elements.clear();
Variant v;
- if (type==Variant::INPUT_EVENT) {
+ if (type == Variant::INPUT_EVENT) {
InputEvent ie;
- ie.type=input_type;
- v=ie;
+ ie.type = input_type;
+ v = ie;
} else {
Variant::CallError ce;
- v = Variant::construct(type,NULL,0,ce);
+ v = Variant::construct(type, NULL, 0, ce);
}
List<PropertyInfo> pinfo;
v.get_property_list(&pinfo);
- for (List<PropertyInfo>::Element *E=pinfo.front();E;E=E->next()) {
+ for (List<PropertyInfo>::Element *E = pinfo.front(); E; E = E->next()) {
Element e;
- e.name=E->get().name;
- e.type=E->get().type;
+ e.name = E->get().name;
+ e.type = E->get().type;
elements.push_back(e);
}
}
void VisualScriptDeconstruct::set_deconstruct_type(Variant::Type p_type) {
- if (type==p_type)
+ if (type == p_type)
return;
- type=p_type;
+ type = p_type;
_update_elements();
ports_changed_notify();
_change_notify(); //to make input appear/disappear
@@ -3779,10 +3498,10 @@ Variant::Type VisualScriptDeconstruct::get_deconstruct_type() const {
void VisualScriptDeconstruct::set_deconstruct_input_type(InputEvent::Type p_input_type) {
- if (input_type==p_input_type)
+ if (input_type == p_input_type)
return;
- input_type=p_input_type;
+ input_type = p_input_type;
_update_elements();
ports_changed_notify();
}
@@ -3792,20 +3511,20 @@ InputEvent::Type VisualScriptDeconstruct::get_deconstruct_input_type() const {
return input_type;
}
-void VisualScriptDeconstruct::_set_elem_cache(const Array& p_elements) {
+void VisualScriptDeconstruct::_set_elem_cache(const Array &p_elements) {
- ERR_FAIL_COND(p_elements.size()%2==1);
- elements.resize(p_elements.size()/2);
- for(int i=0;i<elements.size();i++) {
- elements[i].name=p_elements[i*2+0];
- elements[i].type=Variant::Type(int(p_elements[i*2+1]));
+ ERR_FAIL_COND(p_elements.size() % 2 == 1);
+ elements.resize(p_elements.size() / 2);
+ for (int i = 0; i < elements.size(); i++) {
+ elements[i].name = p_elements[i * 2 + 0];
+ elements[i].type = Variant::Type(int(p_elements[i * 2 + 1]));
}
}
Array VisualScriptDeconstruct::_get_elem_cache() const {
Array ret;
- for(int i=0;i<elements.size();i++) {
+ for (int i = 0; i < elements.size(); i++) {
ret.push_back(elements[i].name);
ret.push_back(elements[i].type);
}
@@ -3814,183 +3533,168 @@ Array VisualScriptDeconstruct::_get_elem_cache() const {
class VisualScriptNodeInstanceDeconstruct : public VisualScriptNodeInstance {
public:
-
- VisualScriptInstance* instance;
+ VisualScriptInstance *instance;
Vector<StringName> outputs;
//virtual int get_working_memory_size() const { return 0; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- Variant in=*p_inputs[0];
+ Variant in = *p_inputs[0];
- for(int i=0;i<outputs.size();i++) {
+ for (int i = 0; i < outputs.size(); i++) {
bool valid;
- *p_outputs[i]=in.get(outputs[i],&valid);
+ *p_outputs[i] = in.get(outputs[i], &valid);
if (!valid) {
- r_error_str="Can't obtain element '"+String(outputs[i])+"' from "+Variant::get_type_name(in.get_type());
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Can't obtain element '" + String(outputs[i]) + "' from " + Variant::get_type_name(in.get_type());
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
-
}
return 0;
}
-
-
};
-VisualScriptNodeInstance* VisualScriptDeconstruct::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptDeconstruct::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceDeconstruct * instance = memnew(VisualScriptNodeInstanceDeconstruct );
- instance->instance=p_instance;
+ VisualScriptNodeInstanceDeconstruct *instance = memnew(VisualScriptNodeInstanceDeconstruct);
+ instance->instance = p_instance;
instance->outputs.resize(elements.size());
- for(int i=0;i<elements.size();i++) {
- instance->outputs[i]=elements[i].name;
+ for (int i = 0; i < elements.size(); i++) {
+ instance->outputs[i] = elements[i].name;
}
return instance;
}
+void VisualScriptDeconstruct::_validate_property(PropertyInfo &property) const {
-
-void VisualScriptDeconstruct::_validate_property(PropertyInfo& property) const {
-
- if (property.name=="input_type") {
- if (type!=Variant::INPUT_EVENT) {
- property.usage=0;
+ if (property.name == "input_type") {
+ if (type != Variant::INPUT_EVENT) {
+ property.usage = 0;
}
}
}
-
void VisualScriptDeconstruct::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_deconstruct_type","type"),&VisualScriptDeconstruct::set_deconstruct_type);
- ClassDB::bind_method(D_METHOD("get_deconstruct_type"),&VisualScriptDeconstruct::get_deconstruct_type);
+ ClassDB::bind_method(D_METHOD("set_deconstruct_type", "type"), &VisualScriptDeconstruct::set_deconstruct_type);
+ ClassDB::bind_method(D_METHOD("get_deconstruct_type"), &VisualScriptDeconstruct::get_deconstruct_type);
- ClassDB::bind_method(D_METHOD("set_deconstruct_input_type","input_type"),&VisualScriptDeconstruct::set_deconstruct_input_type);
- ClassDB::bind_method(D_METHOD("get_deconstruct_input_type"),&VisualScriptDeconstruct::get_deconstruct_input_type);
+ ClassDB::bind_method(D_METHOD("set_deconstruct_input_type", "input_type"), &VisualScriptDeconstruct::set_deconstruct_input_type);
+ ClassDB::bind_method(D_METHOD("get_deconstruct_input_type"), &VisualScriptDeconstruct::get_deconstruct_input_type);
- ClassDB::bind_method(D_METHOD("_set_elem_cache","_cache"),&VisualScriptDeconstruct::_set_elem_cache);
- ClassDB::bind_method(D_METHOD("_get_elem_cache"),&VisualScriptDeconstruct::_get_elem_cache);
+ ClassDB::bind_method(D_METHOD("_set_elem_cache", "_cache"), &VisualScriptDeconstruct::_set_elem_cache);
+ ClassDB::bind_method(D_METHOD("_get_elem_cache"), &VisualScriptDeconstruct::_get_elem_cache);
- String argt="Any";
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
- argt+=","+Variant::get_type_name(Variant::Type(i));
+ String argt = "Any";
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
+ argt += "," + Variant::get_type_name(Variant::Type(i));
}
- String iet="None,Key,MouseMotion,MouseButton,JoypadMotion,JoypadButton,ScreenTouch,ScreenDrag,Action";
-
- ADD_PROPERTY( PropertyInfo(Variant::INT,"type",PROPERTY_HINT_ENUM,argt),"set_deconstruct_type","get_deconstruct_type");
- ADD_PROPERTY( PropertyInfo(Variant::INT,"input_type",PROPERTY_HINT_ENUM,iet),"set_deconstruct_input_type","get_deconstruct_input_type");
- ADD_PROPERTY( PropertyInfo(Variant::ARRAY,"elem_cache",PROPERTY_HINT_NONE,"",PROPERTY_USAGE_NOEDITOR),"_set_elem_cache","_get_elem_cache");
+ String iet = "None,Key,MouseMotion,MouseButton,JoypadMotion,JoypadButton,ScreenTouch,ScreenDrag,Action";
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "type", PROPERTY_HINT_ENUM, argt), "set_deconstruct_type", "get_deconstruct_type");
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "input_type", PROPERTY_HINT_ENUM, iet), "set_deconstruct_input_type", "get_deconstruct_input_type");
+ ADD_PROPERTY(PropertyInfo(Variant::ARRAY, "elem_cache", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NOEDITOR), "_set_elem_cache", "_get_elem_cache");
}
VisualScriptDeconstruct::VisualScriptDeconstruct() {
- type=Variant::NIL;
- input_type=InputEvent::NONE;
-
+ type = Variant::NIL;
+ input_type = InputEvent::NONE;
}
-
void register_visual_script_nodes() {
- VisualScriptLanguage::singleton->add_register_func("data/set_variable",create_node_generic<VisualScriptVariableSet>);
- VisualScriptLanguage::singleton->add_register_func("data/get_variable",create_node_generic<VisualScriptVariableGet>);
- VisualScriptLanguage::singleton->add_register_func("data/engine_singleton",create_node_generic<VisualScriptEngineSingleton>);
- VisualScriptLanguage::singleton->add_register_func("data/scene_node",create_node_generic<VisualScriptSceneNode>);
- VisualScriptLanguage::singleton->add_register_func("data/scene_tree",create_node_generic<VisualScriptSceneTree>);
- VisualScriptLanguage::singleton->add_register_func("data/resource_path",create_node_generic<VisualScriptResourcePath>);
- VisualScriptLanguage::singleton->add_register_func("data/self",create_node_generic<VisualScriptSelf>);
- VisualScriptLanguage::singleton->add_register_func("data/comment",create_node_generic<VisualScriptComment>);
- VisualScriptLanguage::singleton->add_register_func("data/get_local_variable",create_node_generic<VisualScriptLocalVar>);
- VisualScriptLanguage::singleton->add_register_func("data/set_local_variable",create_node_generic<VisualScriptLocalVarSet>);
- VisualScriptLanguage::singleton->add_register_func("data/preload",create_node_generic<VisualScriptPreload>);
- VisualScriptLanguage::singleton->add_register_func("data/action",create_node_generic<VisualScriptInputAction>);
-
- VisualScriptLanguage::singleton->add_register_func("constants/constant",create_node_generic<VisualScriptConstant>);
- VisualScriptLanguage::singleton->add_register_func("constants/math_constant",create_node_generic<VisualScriptMathConstant>);
- VisualScriptLanguage::singleton->add_register_func("constants/class_constant",create_node_generic<VisualScriptClassConstant>);
- VisualScriptLanguage::singleton->add_register_func("constants/global_constant",create_node_generic<VisualScriptGlobalConstant>);
- VisualScriptLanguage::singleton->add_register_func("constants/basic_type_constant",create_node_generic<VisualScriptBasicTypeConstant>);
-
- VisualScriptLanguage::singleton->add_register_func("custom/custom_node",create_node_generic<VisualScriptCustomNode>);
- VisualScriptLanguage::singleton->add_register_func("custom/sub_call",create_node_generic<VisualScriptSubCall>);
-
- VisualScriptLanguage::singleton->add_register_func("index/get_index",create_node_generic<VisualScriptIndexGet>);
- VisualScriptLanguage::singleton->add_register_func("index/set_index",create_node_generic<VisualScriptIndexSet>);
-
-
- VisualScriptLanguage::singleton->add_register_func("operators/compare/equal",create_op_node<Variant::OP_EQUAL>);
- VisualScriptLanguage::singleton->add_register_func("operators/compare/not_equal",create_op_node<Variant::OP_NOT_EQUAL>);
- VisualScriptLanguage::singleton->add_register_func("operators/compare/less",create_op_node<Variant::OP_LESS>);
- VisualScriptLanguage::singleton->add_register_func("operators/compare/less_equal",create_op_node<Variant::OP_LESS_EQUAL>);
- VisualScriptLanguage::singleton->add_register_func("operators/compare/greater",create_op_node<Variant::OP_GREATER>);
- VisualScriptLanguage::singleton->add_register_func("operators/compare/greater_equal",create_op_node<Variant::OP_GREATER_EQUAL>);
+ VisualScriptLanguage::singleton->add_register_func("data/set_variable", create_node_generic<VisualScriptVariableSet>);
+ VisualScriptLanguage::singleton->add_register_func("data/get_variable", create_node_generic<VisualScriptVariableGet>);
+ VisualScriptLanguage::singleton->add_register_func("data/engine_singleton", create_node_generic<VisualScriptEngineSingleton>);
+ VisualScriptLanguage::singleton->add_register_func("data/scene_node", create_node_generic<VisualScriptSceneNode>);
+ VisualScriptLanguage::singleton->add_register_func("data/scene_tree", create_node_generic<VisualScriptSceneTree>);
+ VisualScriptLanguage::singleton->add_register_func("data/resource_path", create_node_generic<VisualScriptResourcePath>);
+ VisualScriptLanguage::singleton->add_register_func("data/self", create_node_generic<VisualScriptSelf>);
+ VisualScriptLanguage::singleton->add_register_func("data/comment", create_node_generic<VisualScriptComment>);
+ VisualScriptLanguage::singleton->add_register_func("data/get_local_variable", create_node_generic<VisualScriptLocalVar>);
+ VisualScriptLanguage::singleton->add_register_func("data/set_local_variable", create_node_generic<VisualScriptLocalVarSet>);
+ VisualScriptLanguage::singleton->add_register_func("data/preload", create_node_generic<VisualScriptPreload>);
+ VisualScriptLanguage::singleton->add_register_func("data/action", create_node_generic<VisualScriptInputAction>);
+
+ VisualScriptLanguage::singleton->add_register_func("constants/constant", create_node_generic<VisualScriptConstant>);
+ VisualScriptLanguage::singleton->add_register_func("constants/math_constant", create_node_generic<VisualScriptMathConstant>);
+ VisualScriptLanguage::singleton->add_register_func("constants/class_constant", create_node_generic<VisualScriptClassConstant>);
+ VisualScriptLanguage::singleton->add_register_func("constants/global_constant", create_node_generic<VisualScriptGlobalConstant>);
+ VisualScriptLanguage::singleton->add_register_func("constants/basic_type_constant", create_node_generic<VisualScriptBasicTypeConstant>);
+
+ VisualScriptLanguage::singleton->add_register_func("custom/custom_node", create_node_generic<VisualScriptCustomNode>);
+ VisualScriptLanguage::singleton->add_register_func("custom/sub_call", create_node_generic<VisualScriptSubCall>);
+
+ VisualScriptLanguage::singleton->add_register_func("index/get_index", create_node_generic<VisualScriptIndexGet>);
+ VisualScriptLanguage::singleton->add_register_func("index/set_index", create_node_generic<VisualScriptIndexSet>);
+
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/equal", create_op_node<Variant::OP_EQUAL>);
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/not_equal", create_op_node<Variant::OP_NOT_EQUAL>);
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/less", create_op_node<Variant::OP_LESS>);
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/less_equal", create_op_node<Variant::OP_LESS_EQUAL>);
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/greater", create_op_node<Variant::OP_GREATER>);
+ VisualScriptLanguage::singleton->add_register_func("operators/compare/greater_equal", create_op_node<Variant::OP_GREATER_EQUAL>);
//mathematic
- VisualScriptLanguage::singleton->add_register_func("operators/math/add",create_op_node<Variant::OP_ADD>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/subtract",create_op_node<Variant::OP_SUBSTRACT>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/multiply",create_op_node<Variant::OP_MULTIPLY>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/divide",create_op_node<Variant::OP_DIVIDE>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/negate",create_op_node<Variant::OP_NEGATE>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/positive",create_op_node<Variant::OP_POSITIVE>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/remainder",create_op_node<Variant::OP_MODULE>);
- VisualScriptLanguage::singleton->add_register_func("operators/math/string_concat",create_op_node<Variant::OP_STRING_CONCAT>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/add", create_op_node<Variant::OP_ADD>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/subtract", create_op_node<Variant::OP_SUBSTRACT>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/multiply", create_op_node<Variant::OP_MULTIPLY>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/divide", create_op_node<Variant::OP_DIVIDE>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/negate", create_op_node<Variant::OP_NEGATE>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/positive", create_op_node<Variant::OP_POSITIVE>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/remainder", create_op_node<Variant::OP_MODULE>);
+ VisualScriptLanguage::singleton->add_register_func("operators/math/string_concat", create_op_node<Variant::OP_STRING_CONCAT>);
//bitwise
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_left",create_op_node<Variant::OP_SHIFT_LEFT>);
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_right",create_op_node<Variant::OP_SHIFT_RIGHT>);
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_and",create_op_node<Variant::OP_BIT_AND>);
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_or",create_op_node<Variant::OP_BIT_OR>);
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_xor",create_op_node<Variant::OP_BIT_XOR>);
- VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_negate",create_op_node<Variant::OP_BIT_NEGATE>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_left", create_op_node<Variant::OP_SHIFT_LEFT>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/shift_right", create_op_node<Variant::OP_SHIFT_RIGHT>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_and", create_op_node<Variant::OP_BIT_AND>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_or", create_op_node<Variant::OP_BIT_OR>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_xor", create_op_node<Variant::OP_BIT_XOR>);
+ VisualScriptLanguage::singleton->add_register_func("operators/bitwise/bit_negate", create_op_node<Variant::OP_BIT_NEGATE>);
//logic
- VisualScriptLanguage::singleton->add_register_func("operators/logic/and",create_op_node<Variant::OP_AND>);
- VisualScriptLanguage::singleton->add_register_func("operators/logic/or",create_op_node<Variant::OP_OR>);
- VisualScriptLanguage::singleton->add_register_func("operators/logic/xor",create_op_node<Variant::OP_XOR>);
- VisualScriptLanguage::singleton->add_register_func("operators/logic/not",create_op_node<Variant::OP_NOT>);
- VisualScriptLanguage::singleton->add_register_func("operators/logic/in",create_op_node<Variant::OP_IN>);
+ VisualScriptLanguage::singleton->add_register_func("operators/logic/and", create_op_node<Variant::OP_AND>);
+ VisualScriptLanguage::singleton->add_register_func("operators/logic/or", create_op_node<Variant::OP_OR>);
+ VisualScriptLanguage::singleton->add_register_func("operators/logic/xor", create_op_node<Variant::OP_XOR>);
+ VisualScriptLanguage::singleton->add_register_func("operators/logic/not", create_op_node<Variant::OP_NOT>);
+ VisualScriptLanguage::singleton->add_register_func("operators/logic/in", create_op_node<Variant::OP_IN>);
- VisualScriptLanguage::singleton->add_register_func("functions/deconstruct",create_node_generic<VisualScriptDeconstruct>);
+ VisualScriptLanguage::singleton->add_register_func("functions/deconstruct", create_node_generic<VisualScriptDeconstruct>);
- for(int i=1;i<Variant::VARIANT_MAX;i++) {
+ for (int i = 1; i < Variant::VARIANT_MAX; i++) {
List<MethodInfo> constructors;
- Variant::get_constructor_list(Variant::Type(i),&constructors);
+ Variant::get_constructor_list(Variant::Type(i), &constructors);
- for(List<MethodInfo>::Element *E=constructors.front();E;E=E->next()) {
+ for (List<MethodInfo>::Element *E = constructors.front(); E; E = E->next()) {
- if (E->get().arguments.size()>0) {
+ if (E->get().arguments.size() > 0) {
-
- String name = "functions/constructors/"+Variant::get_type_name(Variant::Type(i))+" ( ";
- for(int j=0;j<E->get().arguments.size();j++) {
- if (j>0)
- name+=", ";
- if (E->get().arguments.size()==1)
- name+=Variant::get_type_name(E->get().arguments[j].type);
+ String name = "functions/constructors/" + Variant::get_type_name(Variant::Type(i)) + " ( ";
+ for (int j = 0; j < E->get().arguments.size(); j++) {
+ if (j > 0)
+ name += ", ";
+ if (E->get().arguments.size() == 1)
+ name += Variant::get_type_name(E->get().arguments[j].type);
else
- name+=E->get().arguments[j].name;
+ name += E->get().arguments[j].name;
}
- name+=") ";
+ name += ") ";
- VisualScriptLanguage::singleton->add_register_func(name,create_constructor_node);
- Pair<Variant::Type,MethodInfo> pair;
- pair.first=Variant::Type(i);
- pair.second=E->get();
- constructor_map[name]=pair;
+ VisualScriptLanguage::singleton->add_register_func(name, create_constructor_node);
+ Pair<Variant::Type, MethodInfo> pair;
+ pair.first = Variant::Type(i);
+ pair.second = E->get();
+ constructor_map[name] = pair;
}
}
}
}
-
-
void unregister_visual_script_nodes() {
constructor_map.clear();
}
-
diff --git a/modules/visual_script/visual_script_nodes.h b/modules/visual_script/visual_script_nodes.h
index 2e7fb0536c..b2fc115660 100644
--- a/modules/visual_script/visual_script_nodes.h
+++ b/modules/visual_script/visual_script_nodes.h
@@ -33,8 +33,7 @@
class VisualScriptFunction : public VisualScriptNode {
- GDCLASS(VisualScriptFunction,VisualScriptNode)
-
+ GDCLASS(VisualScriptFunction, VisualScriptNode)
struct Argument {
String name;
@@ -47,26 +46,20 @@ class VisualScriptFunction : public VisualScriptNode {
int stack_size;
ScriptInstance::RPCMode rpc_mode;
-
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;
+ 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;
@@ -74,15 +67,14 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "flow_control"; }
- void add_argument(Variant::Type p_type,const String& p_name,int p_index=-1);
- void set_argument_type(int p_argidx,Variant::Type p_type);
+ void add_argument(Variant::Type p_type, const String &p_name, int p_index = -1);
+ void set_argument_type(int p_argidx, Variant::Type p_type);
Variant::Type get_argument_type(int p_argidx) const;
- void set_argument_name(int p_argidx,const String& p_name);
+ void set_argument_name(int p_argidx, const String &p_name);
String get_argument_name(int p_argidx) const;
void remove_argument(int p_argidx);
int get_argument_count() const;
-
void set_stack_less(bool p_enable);
bool is_stack_less() const;
@@ -92,35 +84,30 @@ public:
void set_rpc_mode(ScriptInstance::RPCMode p_mode);
ScriptInstance::RPCMode get_rpc_mode() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptFunction();
};
-
class VisualScriptOperator : public VisualScriptNode {
- GDCLASS(VisualScriptOperator,VisualScriptNode)
-
+ GDCLASS(VisualScriptOperator, VisualScriptNode)
Variant::Type typed;
Variant::Operator op;
-protected:
+protected:
static void _bind_methods();
-public:
+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;
@@ -134,35 +121,30 @@ public:
void set_typed(Variant::Type p_op);
Variant::Type get_typed() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptOperator();
};
-
class VisualScriptVariableGet : public VisualScriptNode {
- GDCLASS(VisualScriptVariableGet,VisualScriptNode)
-
+ GDCLASS(VisualScriptVariableGet, VisualScriptNode)
StringName variable;
-protected:
- virtual void _validate_property(PropertyInfo& property) const;
+protected:
+ virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
-public:
+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;
@@ -173,35 +155,30 @@ public:
void set_variable(StringName p_var);
StringName get_variable() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptVariableGet();
};
-
class VisualScriptVariableSet : public VisualScriptNode {
- GDCLASS(VisualScriptVariableSet,VisualScriptNode)
-
+ GDCLASS(VisualScriptVariableSet, VisualScriptNode)
StringName variable;
-protected:
- virtual void _validate_property(PropertyInfo& property) const;
+protected:
+ virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
-public:
+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;
@@ -212,36 +189,31 @@ public:
void set_variable(StringName p_var);
StringName get_variable() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptVariableSet();
};
-
class VisualScriptConstant : public VisualScriptNode {
- GDCLASS(VisualScriptConstant,VisualScriptNode)
-
+ GDCLASS(VisualScriptConstant, VisualScriptNode)
Variant::Type type;
Variant value;
+
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -255,36 +227,29 @@ public:
void set_constant_value(Variant p_value);
Variant get_constant_value() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptConstant();
};
-
-
class VisualScriptPreload : public VisualScriptNode {
- GDCLASS(VisualScriptPreload,VisualScriptNode)
-
+ GDCLASS(VisualScriptPreload, VisualScriptNode)
Ref<Resource> preload;
-protected:
+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;
@@ -292,32 +257,27 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "data"; }
- void set_preload(const Ref<Resource>& p_value);
+ void set_preload(const Ref<Resource> &p_value);
Ref<Resource> get_preload() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptPreload();
};
class VisualScriptIndexGet : public VisualScriptNode {
- GDCLASS(VisualScriptIndexGet,VisualScriptNode)
-
+ GDCLASS(VisualScriptIndexGet, VisualScriptNode)
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;
@@ -325,30 +285,24 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "operators"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptIndexGet();
};
-
class VisualScriptIndexSet : public VisualScriptNode {
- GDCLASS(VisualScriptIndexSet,VisualScriptNode)
-
+ GDCLASS(VisualScriptIndexSet, VisualScriptNode)
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;
@@ -356,33 +310,28 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "operators"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptIndexSet();
};
-
-
class VisualScriptGlobalConstant : public VisualScriptNode {
- GDCLASS(VisualScriptGlobalConstant,VisualScriptNode)
+ GDCLASS(VisualScriptGlobalConstant, VisualScriptNode)
int index;
static void _bind_methods();
-public:
+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;
@@ -393,35 +342,31 @@ public:
void set_global_constant(int p_which);
int get_global_constant();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptGlobalConstant();
};
-
class VisualScriptClassConstant : public VisualScriptNode {
- GDCLASS(VisualScriptClassConstant,VisualScriptNode)
+ GDCLASS(VisualScriptClassConstant, VisualScriptNode)
StringName base_type;
StringName name;
+
protected:
static void _bind_methods();
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) 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;
@@ -429,40 +374,37 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "constants"; }
- void set_class_constant(const StringName& p_which);
+ void set_class_constant(const StringName &p_which);
StringName get_class_constant();
- void set_base_type(const StringName& p_which);
+ void set_base_type(const StringName &p_which);
StringName get_base_type();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptClassConstant();
};
class VisualScriptBasicTypeConstant : public VisualScriptNode {
- GDCLASS(VisualScriptBasicTypeConstant,VisualScriptNode)
+ GDCLASS(VisualScriptBasicTypeConstant, VisualScriptNode)
Variant::Type type;
StringName name;
+
protected:
static void _bind_methods();
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) 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;
@@ -470,24 +412,21 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "constants"; }
- void set_basic_type_constant(const StringName& p_which);
+ void set_basic_type_constant(const StringName &p_which);
StringName get_basic_type_constant() const;
void set_basic_type(Variant::Type p_which);
Variant::Type get_basic_type() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptBasicTypeConstant();
};
-
-
class VisualScriptMathConstant : public VisualScriptNode {
- GDCLASS(VisualScriptMathConstant,VisualScriptNode)
+ GDCLASS(VisualScriptMathConstant, VisualScriptNode)
public:
-
enum MathConstant {
MATH_CONSTANT_ONE,
MATH_CONSTANT_PI,
@@ -501,24 +440,22 @@ public:
};
private:
- static const char* const_name[MATH_CONSTANT_MAX];
+ static const char *const_name[MATH_CONSTANT_MAX];
static double const_value[MATH_CONSTANT_MAX];
MathConstant constant;
+
protected:
static void _bind_methods();
-public:
+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;
@@ -529,33 +466,30 @@ public:
void set_math_constant(MathConstant p_which);
MathConstant get_math_constant();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptMathConstant();
};
-VARIANT_ENUM_CAST( VisualScriptMathConstant::MathConstant )
+VARIANT_ENUM_CAST(VisualScriptMathConstant::MathConstant)
class VisualScriptEngineSingleton : public VisualScriptNode {
- GDCLASS(VisualScriptEngineSingleton,VisualScriptNode)
+ GDCLASS(VisualScriptEngineSingleton, VisualScriptNode)
String singleton;
static void _bind_methods();
-public:
+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;
@@ -566,38 +500,32 @@ public:
void set_singleton(const String &p_string);
String get_singleton();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptEngineSingleton();
};
-
-
-
class VisualScriptSceneNode : public VisualScriptNode {
- GDCLASS(VisualScriptSceneNode,VisualScriptNode)
+ GDCLASS(VisualScriptSceneNode, VisualScriptNode)
NodePath path;
+
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
-public:
+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;
@@ -608,37 +536,30 @@ public:
void set_node_path(const NodePath &p_path);
NodePath get_node_path();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptSceneNode();
};
-
-
-
class VisualScriptSceneTree : public VisualScriptNode {
- GDCLASS(VisualScriptSceneTree,VisualScriptNode)
-
+ GDCLASS(VisualScriptSceneTree, VisualScriptNode)
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
-public:
+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;
@@ -646,36 +567,31 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "data"; }
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptSceneTree();
};
-
-
class VisualScriptResourcePath : public VisualScriptNode {
- GDCLASS(VisualScriptResourcePath,VisualScriptNode)
+ GDCLASS(VisualScriptResourcePath, VisualScriptNode)
String path;
-protected:
+protected:
static void _bind_methods();
-public:
+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;
@@ -686,33 +602,27 @@ public:
void set_resource_path(const String &p_path);
String get_resource_path();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptResourcePath();
};
-
class VisualScriptSelf : public VisualScriptNode {
- GDCLASS(VisualScriptSelf,VisualScriptNode)
-
+ GDCLASS(VisualScriptSelf, VisualScriptNode)
protected:
-
static void _bind_methods();
-public:
+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;
@@ -720,25 +630,21 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "data"; }
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
-
- virtual TypeGuess guess_output_type(TypeGuess* p_inputs, int p_output) const;
+ virtual TypeGuess guess_output_type(TypeGuess *p_inputs, int p_output) const;
VisualScriptSelf();
};
+class VisualScriptCustomNode : public VisualScriptNode {
-class VisualScriptCustomNode: public VisualScriptNode {
-
- GDCLASS(VisualScriptCustomNode,VisualScriptNode)
-
+ GDCLASS(VisualScriptCustomNode, VisualScriptNode)
protected:
-
static void _bind_methods();
-public:
+public:
enum StartMode { //replicated for step
START_MODE_BEGIN_SEQUENCE,
START_MODE_CONTINUE_SEQUENCE,
@@ -746,26 +652,23 @@ public:
};
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)
+ 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;
@@ -773,32 +676,27 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptCustomNode();
};
-class VisualScriptSubCall: public VisualScriptNode {
-
- GDCLASS(VisualScriptSubCall,VisualScriptNode)
+class VisualScriptSubCall : public VisualScriptNode {
+ GDCLASS(VisualScriptSubCall, 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;
@@ -806,34 +704,31 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptSubCall();
};
-class VisualScriptComment: public VisualScriptNode {
-
- GDCLASS(VisualScriptComment,VisualScriptNode)
+class VisualScriptComment : public VisualScriptNode {
+ GDCLASS(VisualScriptComment, VisualScriptNode)
String title;
String description;
Size2 size;
-protected:
+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;
@@ -841,44 +736,39 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- void set_title(const String& p_title);
+ void set_title(const String &p_title);
String get_title() const;
- void set_description(const String& p_description);
+ void set_description(const String &p_description);
String get_description() const;
- void set_size(const Size2& p_size);
+ void set_size(const Size2 &p_size);
Size2 get_size() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptComment();
};
-class VisualScriptConstructor: public VisualScriptNode {
-
- GDCLASS(VisualScriptConstructor,VisualScriptNode)
+class VisualScriptConstructor : public VisualScriptNode {
+ GDCLASS(VisualScriptConstructor, VisualScriptNode)
Variant::Type type;
MethodInfo constructor;
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;
@@ -889,39 +779,33 @@ public:
void set_constructor_type(Variant::Type p_type);
Variant::Type get_constructor_type() const;
- void set_constructor(const Dictionary& p_info);
+ void set_constructor(const Dictionary &p_info);
Dictionary get_constructor() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptConstructor();
};
+class VisualScriptLocalVar : public VisualScriptNode {
-
-
-class VisualScriptLocalVar: public VisualScriptNode {
-
- GDCLASS(VisualScriptLocalVar,VisualScriptNode)
+ GDCLASS(VisualScriptLocalVar, VisualScriptNode)
StringName name;
Variant::Type type;
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;
@@ -929,39 +813,36 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- void set_var_name(const StringName& p_name);
+ void set_var_name(const StringName &p_name);
StringName get_var_name() const;
void set_var_type(Variant::Type p_type);
Variant::Type get_var_type() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptLocalVar();
};
-class VisualScriptLocalVarSet: public VisualScriptNode {
+class VisualScriptLocalVarSet : public VisualScriptNode {
- GDCLASS(VisualScriptLocalVarSet,VisualScriptNode)
+ GDCLASS(VisualScriptLocalVarSet, VisualScriptNode)
StringName name;
Variant::Type type;
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;
@@ -969,22 +850,20 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- void set_var_name(const StringName& p_name);
+ void set_var_name(const StringName &p_name);
StringName get_var_name() const;
void set_var_type(Variant::Type p_type);
Variant::Type get_var_type() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptLocalVarSet();
};
+class VisualScriptInputAction : public VisualScriptNode {
-
-class VisualScriptInputAction: public VisualScriptNode {
-
- GDCLASS(VisualScriptInputAction,VisualScriptNode)
+ GDCLASS(VisualScriptInputAction, VisualScriptNode)
public:
enum Mode {
MODE_PRESSED,
@@ -997,22 +876,19 @@ public:
Mode mode;
protected:
-
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -1020,57 +896,51 @@ public:
virtual String get_text() const;
virtual String get_category() const;
- void set_action_name(const StringName& p_name);
+ void set_action_name(const StringName &p_name);
StringName get_action_name() const;
void set_action_mode(Mode p_mode);
Mode get_action_mode() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptInputAction();
};
-VARIANT_ENUM_CAST( VisualScriptInputAction::Mode )
-
-class VisualScriptDeconstruct: public VisualScriptNode {
+VARIANT_ENUM_CAST(VisualScriptInputAction::Mode)
- GDCLASS(VisualScriptDeconstruct,VisualScriptNode)
+class VisualScriptDeconstruct : public VisualScriptNode {
+ GDCLASS(VisualScriptDeconstruct, VisualScriptNode)
struct Element {
StringName name;
Variant::Type type;
};
-
Vector<Element> elements;
void _update_elements();
Variant::Type type;
InputEvent::Type input_type;
- void _set_elem_cache(const Array& p_elements);
+ void _set_elem_cache(const Array &p_elements);
Array _get_elem_cache() const;
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -1084,12 +954,11 @@ public:
void set_deconstruct_input_type(InputEvent::Type p_input_type);
InputEvent::Type get_deconstruct_input_type() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptDeconstruct();
};
-
void register_visual_script_nodes();
void unregister_visual_script_nodes();
diff --git a/modules/visual_script/visual_script_yield_nodes.cpp b/modules/visual_script/visual_script_yield_nodes.cpp
index 35335fd9bc..919ced74b9 100644
--- a/modules/visual_script/visual_script_yield_nodes.cpp
+++ b/modules/visual_script/visual_script_yield_nodes.cpp
@@ -28,9 +28,9 @@
/*************************************************************************/
#include "visual_script_yield_nodes.h"
-#include "scene/main/scene_main_loop.h"
#include "os/os.h"
#include "scene/main/node.h"
+#include "scene/main/scene_main_loop.h"
#include "visual_script_nodes.h"
//////////////////////////////////////////
@@ -42,16 +42,16 @@ int VisualScriptYield::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptYield::has_input_sequence_port() const{
+bool VisualScriptYield::has_input_sequence_port() const {
return true;
}
-int VisualScriptYield::get_input_value_port_count() const{
+int VisualScriptYield::get_input_value_port_count() const {
return 0;
}
-int VisualScriptYield::get_output_value_port_count() const{
+int VisualScriptYield::get_output_value_port_count() const {
return 0;
}
@@ -61,20 +61,19 @@ String VisualScriptYield::get_output_sequence_port_text(int p_port) const {
return String();
}
-PropertyInfo VisualScriptYield::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptYield::get_input_value_port_info(int p_idx) const {
return PropertyInfo();
}
-PropertyInfo VisualScriptYield::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptYield::get_output_value_port_info(int p_idx) const {
return PropertyInfo();
}
-
String VisualScriptYield::get_caption() const {
- return yield_mode==YIELD_RETURN?"Yield":"Wait";
+ return yield_mode == YIELD_RETURN ? "Yield" : "Wait";
}
String VisualScriptYield::get_text() const {
@@ -82,17 +81,15 @@ String VisualScriptYield::get_text() const {
switch (yield_mode) {
case YIELD_RETURN: return ""; break;
case YIELD_FRAME: return "Next Frame"; break;
- case YIELD_FIXED_FRAME: return "Next Fixed Frame"; break;
- case YIELD_WAIT: return rtos(wait_time)+" sec(s)"; break;
+ case YIELD_FIXED_FRAME: return "Next Fixed Frame"; break;
+ case YIELD_WAIT: return rtos(wait_time) + " sec(s)"; break;
}
return String();
}
-
class VisualScriptNodeInstanceYield : public VisualScriptNodeInstance {
public:
-
VisualScriptYield::YieldMode mode;
float wait_time;
@@ -100,18 +97,17 @@ public:
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return false; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_RESUME_YIELD) {
+ if (p_start_mode == START_MODE_RESUME_YIELD) {
return 0; //resuming yield
} else {
//yield
-
SceneTree *tree = OS::get_singleton()->get_main_loop()->cast_to<SceneTree>();
if (!tree) {
- r_error_str="Main Loop is not SceneTree";
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Main Loop is not SceneTree";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
return 0;
}
@@ -119,99 +115,92 @@ public:
state.instance();
int ret = STEP_YIELD_BIT;
- switch(mode) {
-
- case VisualScriptYield::YIELD_RETURN: ret=STEP_EXIT_FUNCTION_BIT; break; //return the yield
- case VisualScriptYield::YIELD_FRAME: state->connect_to_signal(tree,"idle_frame",Array()); break;
- case VisualScriptYield::YIELD_FIXED_FRAME: state->connect_to_signal(tree,"fixed_frame",Array()); break;
- case VisualScriptYield::YIELD_WAIT: state->connect_to_signal(tree->create_timer(wait_time).ptr(),"timeout",Array()); break;
-
+ switch (mode) {
+
+ case VisualScriptYield::YIELD_RETURN:
+ ret = STEP_EXIT_FUNCTION_BIT;
+ break; //return the yield
+ case VisualScriptYield::YIELD_FRAME: state->connect_to_signal(tree, "idle_frame", Array()); break;
+ case VisualScriptYield::YIELD_FIXED_FRAME: state->connect_to_signal(tree, "fixed_frame", Array()); break;
+ case VisualScriptYield::YIELD_WAIT: state->connect_to_signal(tree->create_timer(wait_time).ptr(), "timeout", Array()); break;
}
- *p_working_mem=state;
+ *p_working_mem = state;
return ret;
}
}
-
};
-VisualScriptNodeInstance* VisualScriptYield::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptYield::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceYield * instance = memnew(VisualScriptNodeInstanceYield );
+ VisualScriptNodeInstanceYield *instance = memnew(VisualScriptNodeInstanceYield);
//instance->instance=p_instance;
- instance->mode=yield_mode;
- instance->wait_time=wait_time;
+ instance->mode = yield_mode;
+ instance->wait_time = wait_time;
return instance;
}
void VisualScriptYield::set_yield_mode(YieldMode p_mode) {
- if (yield_mode==p_mode)
+ if (yield_mode == p_mode)
return;
- yield_mode=p_mode;
+ yield_mode = p_mode;
ports_changed_notify();
_change_notify();
}
-VisualScriptYield::YieldMode VisualScriptYield::get_yield_mode(){
+VisualScriptYield::YieldMode VisualScriptYield::get_yield_mode() {
return yield_mode;
}
void VisualScriptYield::set_wait_time(float p_time) {
- if (wait_time==p_time)
+ if (wait_time == p_time)
return;
- wait_time=p_time;
+ wait_time = p_time;
ports_changed_notify();
-
}
-float VisualScriptYield::get_wait_time(){
+float VisualScriptYield::get_wait_time() {
return wait_time;
}
+void VisualScriptYield::_validate_property(PropertyInfo &property) const {
-void VisualScriptYield::_validate_property(PropertyInfo& property) const {
-
-
- if (property.name=="wait_time") {
- if (yield_mode!=YIELD_WAIT) {
- property.usage=0;
+ if (property.name == "wait_time") {
+ if (yield_mode != YIELD_WAIT) {
+ property.usage = 0;
}
}
}
void VisualScriptYield::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_yield_mode","mode"),&VisualScriptYield::set_yield_mode);
- ClassDB::bind_method(D_METHOD("get_yield_mode"),&VisualScriptYield::get_yield_mode);
-
- ClassDB::bind_method(D_METHOD("set_wait_time","sec"),&VisualScriptYield::set_wait_time);
- ClassDB::bind_method(D_METHOD("get_wait_time"),&VisualScriptYield::get_wait_time);
+ ClassDB::bind_method(D_METHOD("set_yield_mode", "mode"), &VisualScriptYield::set_yield_mode);
+ ClassDB::bind_method(D_METHOD("get_yield_mode"), &VisualScriptYield::get_yield_mode);
- ADD_PROPERTY(PropertyInfo(Variant::INT,"mode",PROPERTY_HINT_ENUM,"Frame,FixedFrame,Time",PROPERTY_USAGE_NOEDITOR),"set_yield_mode","get_yield_mode");
- ADD_PROPERTY(PropertyInfo(Variant::REAL,"wait_time"),"set_wait_time","get_wait_time");
+ ClassDB::bind_method(D_METHOD("set_wait_time", "sec"), &VisualScriptYield::set_wait_time);
+ ClassDB::bind_method(D_METHOD("get_wait_time"), &VisualScriptYield::get_wait_time);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "mode", PROPERTY_HINT_ENUM, "Frame,FixedFrame,Time", PROPERTY_USAGE_NOEDITOR), "set_yield_mode", "get_yield_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::REAL, "wait_time"), "set_wait_time", "get_wait_time");
- BIND_CONSTANT( YIELD_FRAME );
- BIND_CONSTANT( YIELD_FIXED_FRAME );
- BIND_CONSTANT( YIELD_WAIT );
-
+ BIND_CONSTANT(YIELD_FRAME);
+ BIND_CONSTANT(YIELD_FIXED_FRAME);
+ BIND_CONSTANT(YIELD_WAIT);
}
VisualScriptYield::VisualScriptYield() {
- yield_mode=YIELD_FRAME;
- wait_time=1;
-
+ yield_mode = YIELD_FRAME;
+ wait_time = 1;
}
-
-template<VisualScriptYield::YieldMode MODE>
-static Ref<VisualScriptNode> create_yield_node(const String& p_name) {
+template <VisualScriptYield::YieldMode MODE>
+static Ref<VisualScriptNode> create_yield_node(const String &p_name) {
Ref<VisualScriptYield> node;
node.instance();
@@ -228,24 +217,24 @@ int VisualScriptYieldSignal::get_output_sequence_port_count() const {
return 1;
}
-bool VisualScriptYieldSignal::has_input_sequence_port() const{
+bool VisualScriptYieldSignal::has_input_sequence_port() const {
return true;
}
#ifdef TOOLS_ENABLED
-static Node* _find_script_node(Node* p_edited_scene,Node* p_current_node,const Ref<Script> &script) {
+static Node *_find_script_node(Node *p_edited_scene, Node *p_current_node, const Ref<Script> &script) {
- if (p_edited_scene!=p_current_node && p_current_node->get_owner()!=p_edited_scene)
+ if (p_edited_scene != p_current_node && p_current_node->get_owner() != p_edited_scene)
return NULL;
Ref<Script> scr = p_current_node->get_script();
- if (scr.is_valid() && scr==script)
+ if (scr.is_valid() && scr == script)
return p_current_node;
- for(int i=0;i<p_current_node->get_child_count();i++) {
- Node *n = _find_script_node(p_edited_scene,p_current_node->get_child(i),script);
+ for (int i = 0; i < p_current_node->get_child_count(); i++) {
+ Node *n = _find_script_node(p_edited_scene, p_current_node->get_child(i), script);
if (n)
return n;
}
@@ -261,7 +250,7 @@ Node *VisualScriptYieldSignal::_get_base_node() const {
if (!script.is_valid())
return NULL;
- MainLoop * main_loop = OS::get_singleton()->get_main_loop();
+ MainLoop *main_loop = OS::get_singleton()->get_main_loop();
if (!main_loop)
return NULL;
@@ -275,7 +264,7 @@ Node *VisualScriptYieldSignal::_get_base_node() const {
if (!edited_scene)
return NULL;
- Node* script_node = _find_script_node(edited_scene,edited_scene,script);
+ Node *script_node = _find_script_node(edited_scene, edited_scene, script);
if (!script_node)
return NULL;
@@ -294,36 +283,32 @@ Node *VisualScriptYieldSignal::_get_base_node() const {
StringName VisualScriptYieldSignal::_get_base_type() const {
- if (call_mode==CALL_MODE_SELF && get_visual_script().is_valid())
+ if (call_mode == CALL_MODE_SELF && get_visual_script().is_valid())
return get_visual_script()->get_instance_base_type();
- else if (call_mode==CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
+ else if (call_mode == CALL_MODE_NODE_PATH && get_visual_script().is_valid()) {
Node *path = _get_base_node();
if (path)
return path->get_class();
-
}
return base_type;
}
-int VisualScriptYieldSignal::get_input_value_port_count() const{
+int VisualScriptYieldSignal::get_input_value_port_count() const {
- if (call_mode==CALL_MODE_INSTANCE)
+ if (call_mode == CALL_MODE_INSTANCE)
return 1;
else
return 0;
-
}
-int VisualScriptYieldSignal::get_output_value_port_count() const{
-
+int VisualScriptYieldSignal::get_output_value_port_count() const {
MethodInfo sr;
- if (!ClassDB::get_signal(_get_base_type(),signal,&sr))
+ if (!ClassDB::get_signal(_get_base_type(), signal, &sr))
return 0;
return sr.arguments.size();
-
}
String VisualScriptYieldSignal::get_output_sequence_port_text(int p_port) const {
@@ -331,30 +316,27 @@ String VisualScriptYieldSignal::get_output_sequence_port_text(int p_port) const
return String();
}
-PropertyInfo VisualScriptYieldSignal::get_input_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptYieldSignal::get_input_value_port_info(int p_idx) const {
- if (call_mode==CALL_MODE_INSTANCE)
- return PropertyInfo(Variant::OBJECT,"instance");
+ if (call_mode == CALL_MODE_INSTANCE)
+ return PropertyInfo(Variant::OBJECT, "instance");
else
return PropertyInfo();
-
}
-PropertyInfo VisualScriptYieldSignal::get_output_value_port_info(int p_idx) const{
+PropertyInfo VisualScriptYieldSignal::get_output_value_port_info(int p_idx) const {
MethodInfo sr;
- if (!ClassDB::get_signal(_get_base_type(),signal,&sr))
+ if (!ClassDB::get_signal(_get_base_type(), signal, &sr))
return PropertyInfo(); //no signal
- ERR_FAIL_INDEX_V(p_idx,sr.arguments.size(),PropertyInfo());
+ ERR_FAIL_INDEX_V(p_idx, sr.arguments.size(), PropertyInfo());
return sr.arguments[p_idx];
-
}
-
String VisualScriptYieldSignal::get_caption() const {
- static const char*cname[3]= {
+ static const char *cname[3] = {
"WaitSignal",
"WaitNodeSignal",
"WaitInstanceSigna;",
@@ -365,52 +347,49 @@ String VisualScriptYieldSignal::get_caption() const {
String VisualScriptYieldSignal::get_text() const {
- if (call_mode==CALL_MODE_SELF)
- return " "+String(signal)+"()";
+ if (call_mode == CALL_MODE_SELF)
+ return " " + String(signal) + "()";
else
- return " "+_get_base_type()+"."+String(signal)+"()";
-
+ return " " + _get_base_type() + "." + String(signal) + "()";
}
+void VisualScriptYieldSignal::set_base_type(const StringName &p_type) {
-void VisualScriptYieldSignal::set_base_type(const StringName& p_type) {
-
- if (base_type==p_type)
+ if (base_type == p_type)
return;
- base_type=p_type;
+ base_type = p_type;
_change_notify();
ports_changed_notify();
}
-StringName VisualScriptYieldSignal::get_base_type() const{
+StringName VisualScriptYieldSignal::get_base_type() const {
return base_type;
}
-void VisualScriptYieldSignal::set_signal(const StringName& p_type){
+void VisualScriptYieldSignal::set_signal(const StringName &p_type) {
- if (signal==p_type)
+ if (signal == p_type)
return;
- signal=p_type;
+ signal = p_type;
_change_notify();
ports_changed_notify();
}
StringName VisualScriptYieldSignal::get_signal() const {
-
return signal;
}
-void VisualScriptYieldSignal::set_base_path(const NodePath& p_type) {
+void VisualScriptYieldSignal::set_base_path(const NodePath &p_type) {
- if (base_path==p_type)
+ if (base_path == p_type)
return;
- base_path=p_type;
+ base_path = p_type;
_change_notify();
ports_changed_notify();
@@ -421,17 +400,15 @@ NodePath VisualScriptYieldSignal::get_base_path() const {
return base_path;
}
-
void VisualScriptYieldSignal::set_call_mode(CallMode p_mode) {
- if (call_mode==p_mode)
+ if (call_mode == p_mode)
return;
- call_mode=p_mode;
+ call_mode = p_mode;
_change_notify();
ports_changed_notify();
-
}
VisualScriptYieldSignal::CallMode VisualScriptYieldSignal::get_call_mode() const {
@@ -439,102 +416,89 @@ VisualScriptYieldSignal::CallMode VisualScriptYieldSignal::get_call_mode() const
return call_mode;
}
+void VisualScriptYieldSignal::_validate_property(PropertyInfo &property) const {
-void VisualScriptYieldSignal::_validate_property(PropertyInfo& property) const {
-
- if (property.name=="signal/base_type") {
- if (call_mode!=CALL_MODE_INSTANCE) {
- property.usage=PROPERTY_USAGE_NOEDITOR;
+ if (property.name == "signal/base_type") {
+ if (call_mode != CALL_MODE_INSTANCE) {
+ property.usage = PROPERTY_USAGE_NOEDITOR;
}
}
-
- if (property.name=="signal/node_path") {
- if (call_mode!=CALL_MODE_NODE_PATH) {
- property.usage=0;
+ if (property.name == "signal/node_path") {
+ if (call_mode != CALL_MODE_NODE_PATH) {
+ property.usage = 0;
} else {
Node *bnode = _get_base_node();
if (bnode) {
- property.hint_string=bnode->get_path(); //convert to loong string
+ property.hint_string = bnode->get_path(); //convert to loong string
} else {
-
}
}
}
- if (property.name=="signal/signal") {
- property.hint=PROPERTY_HINT_ENUM;
-
+ if (property.name == "signal/signal") {
+ property.hint = PROPERTY_HINT_ENUM;
List<MethodInfo> methods;
- ClassDB::get_signal_list(_get_base_type(),&methods);
+ ClassDB::get_signal_list(_get_base_type(), &methods);
List<String> mstring;
- for (List<MethodInfo>::Element *E=methods.front();E;E=E->next()) {
+ for (List<MethodInfo>::Element *E = methods.front(); E; E = E->next()) {
if (E->get().name.begins_with("_"))
continue;
- mstring.push_back(E->get().name.get_slice(":",0));
+ mstring.push_back(E->get().name.get_slice(":", 0));
}
mstring.sort();
String ml;
- for (List<String>::Element *E=mstring.front();E;E=E->next()) {
+ for (List<String>::Element *E = mstring.front(); E; E = E->next()) {
- if (ml!=String())
- ml+=",";
- ml+=E->get();
+ if (ml != String())
+ ml += ",";
+ ml += E->get();
}
- property.hint_string=ml;
+ property.hint_string = ml;
}
-
-
}
-
void VisualScriptYieldSignal::_bind_methods() {
- ClassDB::bind_method(D_METHOD("set_base_type","base_type"),&VisualScriptYieldSignal::set_base_type);
- ClassDB::bind_method(D_METHOD("get_base_type"),&VisualScriptYieldSignal::get_base_type);
-
- ClassDB::bind_method(D_METHOD("set_signal","signal"),&VisualScriptYieldSignal::set_signal);
- ClassDB::bind_method(D_METHOD("get_signal"),&VisualScriptYieldSignal::get_signal);
+ ClassDB::bind_method(D_METHOD("set_base_type", "base_type"), &VisualScriptYieldSignal::set_base_type);
+ ClassDB::bind_method(D_METHOD("get_base_type"), &VisualScriptYieldSignal::get_base_type);
- ClassDB::bind_method(D_METHOD("set_call_mode","mode"),&VisualScriptYieldSignal::set_call_mode);
- ClassDB::bind_method(D_METHOD("get_call_mode"),&VisualScriptYieldSignal::get_call_mode);
-
- ClassDB::bind_method(D_METHOD("set_base_path","base_path"),&VisualScriptYieldSignal::set_base_path);
- ClassDB::bind_method(D_METHOD("get_base_path"),&VisualScriptYieldSignal::get_base_path);
+ ClassDB::bind_method(D_METHOD("set_signal", "signal"), &VisualScriptYieldSignal::set_signal);
+ ClassDB::bind_method(D_METHOD("get_signal"), &VisualScriptYieldSignal::get_signal);
+ ClassDB::bind_method(D_METHOD("set_call_mode", "mode"), &VisualScriptYieldSignal::set_call_mode);
+ ClassDB::bind_method(D_METHOD("get_call_mode"), &VisualScriptYieldSignal::get_call_mode);
+ ClassDB::bind_method(D_METHOD("set_base_path", "base_path"), &VisualScriptYieldSignal::set_base_path);
+ ClassDB::bind_method(D_METHOD("get_base_path"), &VisualScriptYieldSignal::get_base_path);
String bt;
- for(int i=0;i<Variant::VARIANT_MAX;i++) {
- if (i>0)
- bt+=",";
+ for (int i = 0; i < Variant::VARIANT_MAX; i++) {
+ if (i > 0)
+ bt += ",";
- bt+=Variant::get_type_name(Variant::Type(i));
+ bt += Variant::get_type_name(Variant::Type(i));
}
- ADD_PROPERTY(PropertyInfo(Variant::INT,"signal/call_mode",PROPERTY_HINT_ENUM,"Self,Node Path,Instance"),"set_call_mode","get_call_mode");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"signal/base_type",PROPERTY_HINT_TYPE_STRING,"Object"),"set_base_type","get_base_type");
- ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH,"signal/node_path",PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE),"set_base_path","get_base_path");
- ADD_PROPERTY(PropertyInfo(Variant::STRING,"signal/signal"),"set_signal","get_signal");
-
-
- BIND_CONSTANT( CALL_MODE_SELF );
- BIND_CONSTANT( CALL_MODE_NODE_PATH);
- BIND_CONSTANT( CALL_MODE_INSTANCE);
+ ADD_PROPERTY(PropertyInfo(Variant::INT, "signal/call_mode", PROPERTY_HINT_ENUM, "Self,Node Path,Instance"), "set_call_mode", "get_call_mode");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "signal/base_type", PROPERTY_HINT_TYPE_STRING, "Object"), "set_base_type", "get_base_type");
+ ADD_PROPERTY(PropertyInfo(Variant::NODE_PATH, "signal/node_path", PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE), "set_base_path", "get_base_path");
+ ADD_PROPERTY(PropertyInfo(Variant::STRING, "signal/signal"), "set_signal", "get_signal");
+ BIND_CONSTANT(CALL_MODE_SELF);
+ BIND_CONSTANT(CALL_MODE_NODE_PATH);
+ BIND_CONSTANT(CALL_MODE_INSTANCE);
}
class VisualScriptNodeInstanceYieldSignal : public VisualScriptNodeInstance {
public:
-
-
VisualScriptYieldSignal::CallMode call_mode;
NodePath node_path;
int output_args;
@@ -543,97 +507,88 @@ public:
VisualScriptYieldSignal *node;
VisualScriptInstance *instance;
-
-
virtual int get_working_memory_size() const { return 1; }
//virtual bool is_output_port_unsequenced(int p_idx) const { return false; }
//virtual bool get_output_port_unsequenced(int p_idx,Variant* r_value,Variant* p_working_mem,String &r_error) const { return true; }
- virtual int step(const Variant** p_inputs,Variant** p_outputs,StartMode p_start_mode,Variant* p_working_mem,Variant::CallError& r_error,String& r_error_str) {
+ virtual int step(const Variant **p_inputs, Variant **p_outputs, StartMode p_start_mode, Variant *p_working_mem, Variant::CallError &r_error, String &r_error_str) {
- if (p_start_mode==START_MODE_RESUME_YIELD) {
+ if (p_start_mode == START_MODE_RESUME_YIELD) {
return 0; //resuming yield
} else {
//yield
- Object * object;
+ Object *object;
- switch(call_mode) {
+ switch (call_mode) {
case VisualScriptYieldSignal::CALL_MODE_SELF: {
- object=instance->get_owner_ptr();
+ object = instance->get_owner_ptr();
} break;
case VisualScriptYieldSignal::CALL_MODE_NODE_PATH: {
- Node* node = instance->get_owner_ptr()->cast_to<Node>();
+ Node *node = instance->get_owner_ptr()->cast_to<Node>();
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Base object is not a Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Base object is not a Node!";
return 0;
}
- Node* another = node->get_node(node_path);
+ Node *another = node->get_node(node_path);
if (!node) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Path does not lead Node!";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Path does not lead Node!";
return 0;
}
- object=another;
+ object = another;
} break;
case VisualScriptYieldSignal::CALL_MODE_INSTANCE: {
object = *p_inputs[0];
if (!object) {
- r_error.error=Variant::CallError::CALL_ERROR_INVALID_METHOD;
- r_error_str="Supplied instance input is null.";
+ r_error.error = Variant::CallError::CALL_ERROR_INVALID_METHOD;
+ r_error_str = "Supplied instance input is null.";
return 0;
-
}
} break;
-
}
Ref<VisualScriptFunctionState> state;
state.instance();
- state->connect_to_signal(object,signal,Array());
+ state->connect_to_signal(object, signal, Array());
- *p_working_mem=state;
+ *p_working_mem = state;
return STEP_YIELD_BIT;
}
-
-
}
-
-
};
-VisualScriptNodeInstance* VisualScriptYieldSignal::instance(VisualScriptInstance* p_instance) {
+VisualScriptNodeInstance *VisualScriptYieldSignal::instance(VisualScriptInstance *p_instance) {
- VisualScriptNodeInstanceYieldSignal * instance = memnew(VisualScriptNodeInstanceYieldSignal );
- instance->node=this;
- instance->instance=p_instance;
- instance->signal=signal;
- instance->call_mode=call_mode;
- instance->node_path=base_path;
+ VisualScriptNodeInstanceYieldSignal *instance = memnew(VisualScriptNodeInstanceYieldSignal);
+ instance->node = this;
+ instance->instance = p_instance;
+ instance->signal = signal;
+ instance->call_mode = call_mode;
+ instance->node_path = base_path;
instance->output_args = get_output_value_port_count();
return instance;
}
VisualScriptYieldSignal::VisualScriptYieldSignal() {
- call_mode=CALL_MODE_SELF;
- base_type="Object";
-
+ call_mode = CALL_MODE_SELF;
+ base_type = "Object";
}
-template<VisualScriptYieldSignal::CallMode cmode>
-static Ref<VisualScriptNode> create_yield_signal_node(const String& p_name) {
+template <VisualScriptYieldSignal::CallMode cmode>
+static Ref<VisualScriptNode> create_yield_signal_node(const String &p_name) {
Ref<VisualScriptYieldSignal> node;
node.instance();
@@ -643,12 +598,10 @@ static Ref<VisualScriptNode> create_yield_signal_node(const String& p_name) {
void register_visual_script_yield_nodes() {
- VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_frame",create_yield_node<VisualScriptYield::YIELD_FRAME>);
- VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_fixed_frame",create_yield_node<VisualScriptYield::YIELD_FIXED_FRAME>);
- VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_time",create_yield_node<VisualScriptYield::YIELD_WAIT>);
-
-
- VisualScriptLanguage::singleton->add_register_func("functions/yield",create_yield_node<VisualScriptYield::YIELD_RETURN>);
- VisualScriptLanguage::singleton->add_register_func("functions/yield_signal",create_node_generic<VisualScriptYieldSignal>);
+ VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_frame", create_yield_node<VisualScriptYield::YIELD_FRAME>);
+ VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_fixed_frame", create_yield_node<VisualScriptYield::YIELD_FIXED_FRAME>);
+ VisualScriptLanguage::singleton->add_register_func("functions/wait/wait_time", create_yield_node<VisualScriptYield::YIELD_WAIT>);
+ VisualScriptLanguage::singleton->add_register_func("functions/yield", create_yield_node<VisualScriptYield::YIELD_RETURN>);
+ VisualScriptLanguage::singleton->add_register_func("functions/yield_signal", create_node_generic<VisualScriptYieldSignal>);
}
diff --git a/modules/visual_script/visual_script_yield_nodes.h b/modules/visual_script/visual_script_yield_nodes.h
index 80ac879aad..35f72cdfad 100644
--- a/modules/visual_script/visual_script_yield_nodes.h
+++ b/modules/visual_script/visual_script_yield_nodes.h
@@ -33,9 +33,8 @@
class VisualScriptYield : public VisualScriptNode {
- GDCLASS(VisualScriptYield,VisualScriptNode)
+ GDCLASS(VisualScriptYield, VisualScriptNode)
public:
-
enum YieldMode {
YIELD_RETURN,
YIELD_FRAME,
@@ -43,30 +42,25 @@ public:
YIELD_WAIT
};
-private:
+private:
YieldMode yield_mode;
float wait_time;
-
protected:
-
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
static void _bind_methods();
-public:
+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;
@@ -80,15 +74,15 @@ public:
void set_wait_time(float p_time);
float get_wait_time();
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptYield();
};
-VARIANT_ENUM_CAST( VisualScriptYield::YieldMode )
+VARIANT_ENUM_CAST(VisualScriptYield::YieldMode)
class VisualScriptYieldSignal : public VisualScriptNode {
- GDCLASS(VisualScriptYieldSignal,VisualScriptNode)
+ GDCLASS(VisualScriptYieldSignal, VisualScriptNode)
public:
enum CallMode {
CALL_MODE_SELF,
@@ -96,8 +90,8 @@ public:
CALL_MODE_INSTANCE,
};
-private:
+private:
CallMode call_mode;
StringName base_type;
NodePath base_path;
@@ -106,25 +100,20 @@ private:
Node *_get_base_node() const;
StringName _get_base_type() const;
-
protected:
- virtual void _validate_property(PropertyInfo& property) const;
+ virtual void _validate_property(PropertyInfo &property) const;
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;
@@ -132,24 +121,24 @@ public:
virtual String get_text() const;
virtual String get_category() const { return "functions"; }
- void set_base_type(const StringName& p_type);
+ void set_base_type(const StringName &p_type);
StringName get_base_type() const;
- void set_signal(const StringName& p_type);
+ void set_signal(const StringName &p_type);
StringName get_signal() const;
- void set_base_path(const NodePath& p_type);
+ void set_base_path(const NodePath &p_type);
NodePath get_base_path() const;
void set_call_mode(CallMode p_mode);
CallMode get_call_mode() const;
- virtual VisualScriptNodeInstance* instance(VisualScriptInstance* p_instance);
+ virtual VisualScriptNodeInstance *instance(VisualScriptInstance *p_instance);
VisualScriptYieldSignal();
};
-VARIANT_ENUM_CAST(VisualScriptYieldSignal::CallMode );
+VARIANT_ENUM_CAST(VisualScriptYieldSignal::CallMode);
void register_visual_script_yield_nodes();