Automatically turn on process callbacks if relevant callbacks in node exists
This commit is contained in:
parent
b77200728e
commit
0b8f0670c5
@ -443,7 +443,7 @@ int keycode_get_count() {
|
||||
}
|
||||
|
||||
int keycode_get_value_by_index(int p_index) {
|
||||
_keycodes[p_index].code;
|
||||
return _keycodes[p_index].code;
|
||||
}
|
||||
|
||||
const char* keycode_get_name_by_index(int p_index) {
|
||||
|
@ -1,5 +1,7 @@
|
||||
#include "visual_script.h"
|
||||
#include "visual_script_nodes.h"
|
||||
#include "scene/main/node.h"
|
||||
|
||||
#include "globals.h"
|
||||
#define SCRIPT_VARIABLES_PREFIX "script_variables/"
|
||||
|
||||
@ -1848,6 +1850,21 @@ void VisualScriptInstance::create(const Ref<VisualScript>& p_script,Object *p_ow
|
||||
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>();
|
||||
if (p_script->functions.has("_process"))
|
||||
node->set_process(true);
|
||||
if (p_script->functions.has("_fixed_process"))
|
||||
node->set_fixed_process(true);
|
||||
if (p_script->functions.has("_input"))
|
||||
node->set_process_input(true);
|
||||
if (p_script->functions.has("_unhandled_input"))
|
||||
node->set_process_unhandled_input(true);
|
||||
if (p_script->functions.has("_unhandled_key_input"))
|
||||
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;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user