فهرست منبع

Expose `Resource.emit_changed()` to script

Also known as `emit_signal("changed")`.

(cherry picked from commit e94f46dcdb75f4a2b14c360e843c8bc58b8fb0e4)
Andrii Doroshenko (Xrayez) 4 سال پیش
والد
کامیت
b124c0c466
2فایلهای تغییر یافته به همراه14 افزوده شده و 0 حذف شده
  1. 1 0
      core/resource.cpp
  2. 13 0
      doc/classes/Resource.xml

+ 1 - 0
core/resource.cpp

@@ -416,6 +416,7 @@ void Resource::_bind_methods() {
 	ClassDB::bind_method(D_METHOD("is_local_to_scene"), &Resource::is_local_to_scene);
 	ClassDB::bind_method(D_METHOD("get_local_scene"), &Resource::get_local_scene);
 	ClassDB::bind_method(D_METHOD("setup_local_to_scene"), &Resource::setup_local_to_scene);
+	ClassDB::bind_method(D_METHOD("emit_changed"), &Resource::emit_changed);
 
 	ClassDB::bind_method(D_METHOD("duplicate", "subresources"), &Resource::duplicate, DEFVAL(false));
 	ADD_SIGNAL(MethodInfo("changed"));

+ 13 - 0
doc/classes/Resource.xml

@@ -29,6 +29,19 @@
 				[b]Note:[/b] If [code]subresources[/code] is [code]true[/code], this method will only perform a shallow copy. Nested resources within subresources will not be duplicated and will still be shared.
 			</description>
 		</method>
+		<method name="emit_changed">
+			<return type="void">
+			</return>
+			<description>
+				Emits the [signal changed] signal.
+				If external objects which depend on this resource should be updated, this method must be called manually whenever the state of this resource has changed (such as modification of properties).
+				The method is equivalent to:
+				[codeblock]
+				emit_signal("changed")
+				[/codeblock]
+				[b]Note:[/b] This method is called automatically for built-in resources.
+			</description>
+		</method>
 		<method name="get_local_scene" qualifiers="const">
 			<return type="Node">
 			</return>