summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2018-05-07 17:56:10 -0300
committerGitHub <noreply@github.com>2018-05-07 17:56:10 -0300
commit7b065a59fa1d413b4199bdd3e998cba717ebe90c (patch)
tree8bc3f9d886089ffee06ebdd76e6d32e63906234e
parent69a96ff4a627fabea2bc40ed27b973f202c44825 (diff)
parenta826fb8d8b861efb0f7d14698148c5571687e082 (diff)
Merge pull request #15911 from Zephilinox/ready_signal
Add ready signal to Node
-rw-r--r--doc/classes/Node.xml5
-rw-r--r--scene/main/node.cpp3
-rw-r--r--scene/scene_string_names.cpp1
-rw-r--r--scene/scene_string_names.h1
4 files changed, 9 insertions, 1 deletions
diff --git a/doc/classes/Node.xml b/doc/classes/Node.xml
index 5d0f70bc59..d43885a9d9 100644
--- a/doc/classes/Node.xml
+++ b/doc/classes/Node.xml
@@ -780,6 +780,11 @@
</member>
</members>
<signals>
+ <signal name="ready">
+ <description>
+ Emitted when the node is ready.
+ </description>
+ </signal>
<signal name="renamed">
<description>
Emitted when the node is renamed.
diff --git a/scene/main/node.cpp b/scene/main/node.cpp
index a1d79e7357..67ee246252 100644
--- a/scene/main/node.cpp
+++ b/scene/main/node.cpp
@@ -136,7 +136,6 @@ void Node::_notification(int p_notification) {
get_script_instance()->call_multilevel_reversed(SceneStringNames::get_singleton()->_ready, NULL, 0);
}
- //emit_signal(SceneStringNames::get_singleton()->enter_tree);
} break;
case NOTIFICATION_POSTINITIALIZE: {
@@ -180,6 +179,7 @@ void Node::_propagate_ready() {
if (data.ready_first) {
data.ready_first = false;
notification(NOTIFICATION_READY);
+ emit_signal(SceneStringNames::get_singleton()->ready);
}
}
@@ -2814,6 +2814,7 @@ void Node::_bind_methods() {
BIND_ENUM_CONSTANT(DUPLICATE_SCRIPTS);
BIND_ENUM_CONSTANT(DUPLICATE_USE_INSTANCING);
+ ADD_SIGNAL(MethodInfo("ready"));
ADD_SIGNAL(MethodInfo("renamed"));
ADD_SIGNAL(MethodInfo("tree_entered"));
ADD_SIGNAL(MethodInfo("tree_exiting"));
diff --git a/scene/scene_string_names.cpp b/scene/scene_string_names.cpp
index fdce0eb2b6..2dc32b893d 100644
--- a/scene/scene_string_names.cpp
+++ b/scene/scene_string_names.cpp
@@ -51,6 +51,7 @@ SceneStringNames::SceneStringNames() {
tree_entered = StaticCString::create("tree_entered");
tree_exiting = StaticCString::create("tree_exiting");
tree_exited = StaticCString::create("tree_exited");
+ ready = StaticCString::create("ready");
item_rect_changed = StaticCString::create("item_rect_changed");
size_flags_changed = StaticCString::create("size_flags_changed");
minimum_size_changed = StaticCString::create("minimum_size_changed");
diff --git a/scene/scene_string_names.h b/scene/scene_string_names.h
index 63a9a5db4d..2e6da26d68 100644
--- a/scene/scene_string_names.h
+++ b/scene/scene_string_names.h
@@ -71,6 +71,7 @@ public:
StringName tree_entered;
StringName tree_exiting;
StringName tree_exited;
+ StringName ready;
StringName size_flags_changed;
StringName minimum_size_changed;
StringName sleeping_state_changed;