/// /// Free-fly camera mode. The player is frozen in place, painting is off, and a dedicated /// freecam ( + its own CinemachineCamera) takes over: fly the /// camera through the map with WASD/Q/E and the mouse, colliding with world geometry like the /// player. The orbit camera input is disabled while here so it doesn't fight for the cursor. /// public class FreeCamMode : GameMode { public override string DisplayName => "Free Cam"; public override void Enter() { // Keep the player component alive (gravity/grounding) but reject input, like Paint mode. SetPlayerControl(false); SetPainting(false); SetOrbitInputEnabled(false); if (Manager.FreeCam) Manager.FreeCam.SetActive(true); } public override void Exit() { // Modes are Enter-only, so freecam must undo its own camera takeover here; the next mode's // Enter restores the player/painter/look-mode state. if (Manager.FreeCam) Manager.FreeCam.SetActive(false); SetOrbitInputEnabled(true); } }