123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- class DeveloperFreeCamera
- {
- static void OnInit();
-
- //! Enable / Disable Free camera (Fly mod) - disable of camera will teleport player at current free camera position.
- static void FreeCameraToggle(PlayerBase player, bool teleport_player = false)
- {
- if (!IsFreeCameraEnabled())
- {
- EnableFreeCamera(player);
- }
- else
- {
- DisableFreeCamera(player, teleport_player);
- }
- }
-
- static void EnableFreeCameraSceneEditor(PlayerBase player)
- {
- EnableFreeCamera(player);
- }
-
- static bool IsFreeCameraEnabled()
- {
- return FreeDebugCamera.GetInstance().IsActive();
- }
-
- protected static void EnableFreeCamera(PlayerBase player)
- {
- if (player)
- {
- FreeDebugCamera.GetInstance().SetActive(true);
- #ifdef DEVELOPER
- GetGame().GetMission().RefreshCrosshairVisibility();
- #endif
- }
- else
- {
- Debug.LogError("EnableFreeCamera( PlayerBase player ) -> player is NULL", "DeveloperFreeCamera");
- }
- }
- static void DisableFreeCamera(PlayerBase player, bool teleport_player = false)
- {
- if (player)
- {
- if (FreeDebugCamera.GetInstance().IsActive())
- {
- if (teleport_player)
- DeveloperTeleport.TeleportAtCursorEx();
- FreeDebugCamera.GetInstance().SetActive(false);
- #ifdef DEVELOPER
- if (GetGame().GetMission())
- GetGame().GetMission().RefreshCrosshairVisibility();
- #endif
- }
- }
- else
- {
- Debug.LogError("DisableFreeCamera( PlayerBase player, bool teleport_player ) -> player is NULL", "DeveloperFreeCamera");
- }
- }
-
- static void OnSetFreeCameraEvent(PlayerBase player, FreeDebugCamera camera)
- {
- if (player)
- {
- #ifdef DEVELOPER
- if (!GetGame().IsMultiplayer())
- {
- PluginSceneManager sceneManager = PluginSceneManager.Cast(GetPlugin(PluginSceneManager));
-
- if (sceneManager.IsOpened())
- sceneManager.EditorToggle();
- }
-
- GetGame().GetMission().RefreshCrosshairVisibility();
- #endif
- }
- }
- }
|