소스 검색

Merge pull request #52000 from lyuma/set_editable_instance

Make Node editable_instance methods available to GDScript
Juan Linietsky 4 년 전
부모
커밋
6609ce1944
2개의 변경된 파일19개의 추가작업 그리고 2개의 파일을 삭제
  1. 17 2
      doc/classes/Node.xml
  2. 2 0
      scene/main/node.cpp

+ 17 - 2
doc/classes/Node.xml

@@ -376,7 +376,14 @@
 		<method name="is_displayed_folded" qualifiers="const">
 			<return type="bool" />
 			<description>
-				Returns [code]true[/code] if the node is folded (collapsed) in the Scene dock.
+				Returns [code]true[/code] if the node is folded (collapsed) in the Scene dock. This method is only intended for use with editor tooling.
+			</description>
+		</method>
+		<method name="is_editable_instance" qualifiers="const">
+			<return type="bool" />
+			<argument index="0" name="node" type="Node" />
+			<description>
+				Returns [code]true[/code] if [code]node[/code] has editable children enabled relative to this node. This method is only intended for use with editor tooling.
 			</description>
 		</method>
 		<method name="is_greater_than" qualifiers="const">
@@ -584,7 +591,15 @@
 			<return type="void" />
 			<argument index="0" name="fold" type="bool" />
 			<description>
-				Sets the folded state of the node in the Scene dock.
+				Sets the folded state of the node in the Scene dock. This method is only intended for use with editor tooling.
+			</description>
+		</method>
+		<method name="set_editable_instance">
+			<return type="void" />
+			<argument index="0" name="node" type="Node" />
+			<argument index="1" name="is_editable" type="bool" />
+			<description>
+				Sets the editable children state of [code]node[/code] relative to this node. This method is only intended for use with editor tooling.
 			</description>
 		</method>
 		<method name="set_editor_description">

+ 2 - 0
scene/main/node.cpp

@@ -2652,6 +2652,8 @@ void Node::_bind_methods() {
 
 	ClassDB::bind_method(D_METHOD("set_scene_instance_load_placeholder", "load_placeholder"), &Node::set_scene_instance_load_placeholder);
 	ClassDB::bind_method(D_METHOD("get_scene_instance_load_placeholder"), &Node::get_scene_instance_load_placeholder);
+	ClassDB::bind_method(D_METHOD("set_editable_instance", "node", "is_editable"), &Node::set_editable_instance);
+	ClassDB::bind_method(D_METHOD("is_editable_instance", "node"), &Node::is_editable_instance);
 
 	ClassDB::bind_method(D_METHOD("get_viewport"), &Node::get_viewport);