generated from krampus/template-godot4
	
		
			
	
	
		
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
		
		
			
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| 
								 | 
							
								using System.Linq;
							 | 
						|||
| 
								 | 
							
								using Godot;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								#nullable enable
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								namespace PhantomCamera.Manager;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								public static class PhantomCameraManager
							 | 
						|||
| 
								 | 
							
								{
							 | 
						|||
| 
								 | 
							
								    private static GodotObject? _instance;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static GodotObject Instance => _instance ??= Engine.GetSingleton("PhantomCameraManager");
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static PhantomCamera2D[] PhantomCamera2Ds =>
							 | 
						|||
| 
								 | 
							
								        Instance.Call(MethodName.GetPhantomCamera2Ds).AsGodotArray<Node2D>()
							 | 
						|||
| 
								 | 
							
								            .Select(node => new PhantomCamera2D(node)).ToArray();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static PhantomCamera3D[] PhantomCamera3Ds =>
							 | 
						|||
| 
								 | 
							
								        Instance.Call(MethodName.GetPhantomCamera3Ds).AsGodotArray<Node3D>()
							 | 
						|||
| 
								 | 
							
								            .Select(node => new PhantomCamera3D(node)).ToArray();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static PhantomCameraHost[] PhantomCameraHosts =>
							 | 
						|||
| 
								 | 
							
								        Instance.Call(MethodName.GetPhantomCameraHosts).AsGodotArray<Node>()
							 | 
						|||
| 
								 | 
							
								            .Select(node => new PhantomCameraHost(node)).ToArray();
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static PhantomCamera2D[] GetPhantomCamera2Ds() => PhantomCamera2Ds;
							 | 
						|||
| 
								 | 
							
								    public static PhantomCamera3D[] GetPhantomCamera3Ds() => PhantomCamera3Ds;
							 | 
						|||
| 
								 | 
							
								    public static PhantomCameraHost[] GetPhantomCameraHosts() => PhantomCameraHosts;
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								    public static class MethodName
							 | 
						|||
| 
								 | 
							
								    {
							 | 
						|||
| 
								 | 
							
								        public const string GetPhantomCamera2Ds = "get_phantom_camera_2ds";
							 | 
						|||
| 
								 | 
							
								        public const string GetPhantomCamera3Ds = "get_phantom_camera_3ds";
							 | 
						|||
| 
								 | 
							
								        public const string GetPhantomCameraHosts = "get_phantom_camera_hosts";
							 | 
						|||
| 
								 | 
							
								    }
							 | 
						|||
| 
								 | 
							
								}
							 |