Browse Source

Add ready signal to Node

Closes #15889
Zephilinox 7 năm trước cách đây
mục cha
commit
a826fb8d8b
4 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 5 0
      doc/classes/Node.xml
  2. 2 1
      scene/main/node.cpp
  3. 1 0
      scene/scene_string_names.cpp
  4. 1 0
      scene/scene_string_names.h

+ 5 - 0
doc/classes/Node.xml

@@ -735,6 +735,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.

+ 2 - 1
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);
 	}
 }
 
@@ -2952,6 +2952,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"));

+ 1 - 0
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");

+ 1 - 0
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;