Browse Source

Merge pull request #17720 from paulloz/custom-csharp-glue

[mono] Generic Typed GetNode, GetChild, etc.
Ignacio Etcheverry 7 years ago
parent
commit
92c59384ec

+ 35 - 0
modules/mono/glue/cs_files/NodeExtensions.cs

@@ -6,5 +6,40 @@ namespace Godot
         {
             return (T)GetNode(path);
         }
+
+        public T GetNodeOrNull<T>(NodePath path) where T : Godot.Node
+        {
+            return GetNode(path) as T;
+        }
+
+        public T GetChild<T>(int idx) where T : Godot.Node
+        {
+            return (T)GetChild(idx);
+        }
+
+        public T GetChildOrNull<T>(int idx) where T : Godot.Node
+        {
+            return GetChild(idx) as T;
+        }
+
+        public T GetOwner<T>() where T : Godot.Node
+        {
+            return (T)GetOwner();
+        }
+
+        public T GetOwnerOrNull<T>() where T : Godot.Node
+        {
+            return GetOwner() as T;
+        }
+
+        public T GetParent<T>() where T : Godot.Node
+        {
+            return (T)GetParent();
+        }
+
+        public T GetParentOrNull<T>() where T : Godot.Node
+        {
+            return GetParent() as T;
+        }
     }
 }

+ 1 - 1
modules/mono/glue/cs_files/VERSION.txt

@@ -1 +1 @@
-6
+7