|
@@ -23,38 +23,37 @@ But, choosing which one to use can be a dilemma. Creating script instances
|
|
|
is identical to creating in-engine classes whereas handling scenes requires
|
|
|
a change in API:
|
|
|
|
|
|
- .. tabs::
|
|
|
- .. code-tab:: gdscript GDScript
|
|
|
+.. tabs::
|
|
|
+ .. code-tab:: gdscript GDScript
|
|
|
|
|
|
- const MyNode = preload("my_node.gd")
|
|
|
- const MyScene = preload("my_scene.tscn")
|
|
|
- var node = Node.new()
|
|
|
- var my_node = MyNode.new() # Same method call
|
|
|
- var my_scene = MyScene.instantiate() # Different method call
|
|
|
- var my_inherited_scene = MyScene.instantiate(PackedScene.GEN_EDIT_STATE_MAIN) # Create scene inheriting from MyScene
|
|
|
+ const MyNode = preload("my_node.gd")
|
|
|
+ const MyScene = preload("my_scene.tscn")
|
|
|
+ var node = Node.new()
|
|
|
+ var my_node = MyNode.new() # Same method call
|
|
|
+ var my_scene = MyScene.instantiate() # Different method call
|
|
|
+ var my_inherited_scene = MyScene.instantiate(PackedScene.GEN_EDIT_STATE_MAIN) # Create scene inheriting from MyScene
|
|
|
|
|
|
- .. code-tab:: csharp
|
|
|
+ .. code-tab:: csharp
|
|
|
|
|
|
- using System;
|
|
|
- using Godot;
|
|
|
+ using Godot;
|
|
|
|
|
|
- public class Game : Node
|
|
|
+ public partial class Game : Node
|
|
|
+ {
|
|
|
+ public readonly Script MyNodeScr = (Script)ResourceLoader.Load("MyNode.cs");
|
|
|
+ public readonly PackedScene MySceneScn = (PackedScene)ResourceLoader.Load("MyScene.tscn");
|
|
|
+ public Node ANode;
|
|
|
+ public Node MyNode;
|
|
|
+ public Node MyScene;
|
|
|
+ public Node MyInheritedScene;
|
|
|
+
|
|
|
+ public Game()
|
|
|
{
|
|
|
- public readonly Script MyNodeScr = (Script)ResourceLoader.Load("MyNode.cs");
|
|
|
- public readonly PackedScene MySceneScn = (PackedScene)ResourceLoader.Load("MyScene.tscn");
|
|
|
- public Node ANode;
|
|
|
- public Node MyNode;
|
|
|
- public Node MyScene;
|
|
|
- public Node MyInheritedScene;
|
|
|
-
|
|
|
- public Game()
|
|
|
- {
|
|
|
- ANode = new Node();
|
|
|
- MyNode = new MyNode(); // Same syntax
|
|
|
- MyScene = MySceneScn.Instantiate(); // Different. Instantiated from a PackedScene
|
|
|
- MyInheritedScene = MySceneScn.Instantiate(PackedScene.GenEditState.Main); // Create scene inheriting from MyScene
|
|
|
- }
|
|
|
+ ANode = new Node();
|
|
|
+ MyNode = new MyNode(); // Same syntax
|
|
|
+ MyScene = MySceneScn.Instantiate(); // Different. Instantiated from a PackedScene
|
|
|
+ MyInheritedScene = MySceneScn.Instantiate(PackedScene.GenEditState.Main); // Create scene inheriting from MyScene
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
Also, scripts will operate a little slower than scenes due to the
|
|
|
speed differences between engine and script code. The larger and more complex
|
|
@@ -161,10 +160,9 @@ with it, and finally adds it as a child of the ``Main`` node:
|
|
|
|
|
|
.. code-tab:: csharp
|
|
|
|
|
|
- using System;
|
|
|
using Godot;
|
|
|
|
|
|
- public class Main : Resource
|
|
|
+ public partial class Main : Resource
|
|
|
{
|
|
|
public Node Child { get; set; }
|
|
|
|