NodeExtensions.cs 1003 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. namespace Godot
  2. {
  3. public partial class Node
  4. {
  5. public T GetNode<T>(NodePath path) where T : Godot.Node
  6. {
  7. return (T)GetNode(path);
  8. }
  9. public T GetNodeOrNull<T>(NodePath path) where T : Godot.Node
  10. {
  11. return GetNode(path) as T;
  12. }
  13. public T GetChild<T>(int idx) where T : Godot.Node
  14. {
  15. return (T)GetChild(idx);
  16. }
  17. public T GetChildOrNull<T>(int idx) where T : Godot.Node
  18. {
  19. return GetChild(idx) as T;
  20. }
  21. public T GetOwner<T>() where T : Godot.Node
  22. {
  23. return (T)GetOwner();
  24. }
  25. public T GetOwnerOrNull<T>() where T : Godot.Node
  26. {
  27. return GetOwner() as T;
  28. }
  29. public T GetParent<T>() where T : Godot.Node
  30. {
  31. return (T)GetParent();
  32. }
  33. public T GetParentOrNull<T>() where T : Godot.Node
  34. {
  35. return GetParent() as T;
  36. }
  37. }
  38. }