public void EnableFreeformCamera(bool flag) { if (flag) { Main.Logger.LogDebug($"[BTDebug] Turning Freeform Camera is ON"); originalCameraFoV = Camera.fieldOfView; originalCameraFarClipPlane = Camera.farClipPlane; Camera.fieldOfView = 60; Camera.farClipPlane = 9999; CameraControl.DEBUG_TakeCompleteControl = true; CameraControl.enabled = false; if (!FreeFormCamera) { FreeFormCamera = GameCameraObject.AddComponent <FreeFormCamera>(); } FreeFormCamera.enabled = true; IsFreeformCameraEnabled = true; } else { Main.Logger.LogDebug($"[BTDebug] Turning Freeform Camera is OFF"); CameraControl.enabled = true; CameraControl.DEBUG_TakeCompleteControl = false; Camera.fieldOfView = originalCameraFoV; Camera.farClipPlane = originalCameraFarClipPlane; if (FreeFormCamera) { FreeFormCamera.enabled = false; } IsFreeformCameraEnabled = false; } }
public void EnableFreeformCamera(bool flag) { if (flag) { Main.Logger.LogDebug($"[BTDebug] Turning Freeform Camera is ON"); originalCameraFoV = Camera.fieldOfView; originalCameraFarClipPlane = Camera.farClipPlane; Camera.fieldOfView = 60; Camera.farClipPlane = 9999; if (!IsInSimGame) { CameraControl.DEBUG_TakeCompleteControl = true; } if (!FreeFormCamera) { FreeFormCamera = GameCameraObject.AddComponent <FreeFormCamera>(); } FreeFormCamera.enabled = true; IsFreeformCameraEnabled = true; } else { Main.Logger.LogDebug($"[BTDebug] Turning Freeform Camera is OFF"); if (!IsInSimGame) { CameraControl.DEBUG_TakeCompleteControl = false; } Camera.fieldOfView = originalCameraFoV; Camera.farClipPlane = originalCameraFarClipPlane; if (FreeFormCamera) { FreeFormCamera.enabled = false; MonoBehaviour.Destroy(FreeFormCamera); } IsFreeformCameraEnabled = false; // Reset GOs GameCameraObject = null; CameraControl = null; Camera = null; DebugFlyCameraControl = null; FreeFormCamera = null; } }