private void OnExitState(GameStatus state) { switch (state) { case GameStatus.PAUSED: onUpdate -= UpdateGenericMenu; Time.timeScale = 1f; _pauseUI.SetActive(false); break; case GameStatus.RUNNING: onUpdate -= UpdateRunning; break; case GameStatus.CAMERA_SEQUENCE: onUpdate -= UpdateRunning; SetTimeScale(1f); break; case GameStatus.MIMIC: _mimic.gameObject.SetActive(false); _mimic.enabled = false; break; case GameStatus.INVENTORY_SELECTION: onUpdate -= UpdateGenericMenu; Time.timeScale = 1f; _inventoryUI.SetActive(false); break; } }
private void OnExitState(GameStatus state) { switch (state) { case GameStatus.RUNNING: case GameStatus.CAMERA_SEQUENCE: onUpdate -= UpdateRunning; break; } }
private void Start() { _events.onEnterState += OnEnterState; _events.onExitState += OnExitState; _events.onPlayerPushed += OnPlayerPushed; _mimic.gameObject.SetActive(false); _mimic.enabled = false; onUpdate += FirstFrame; }
private void EnableSelection(bool enable) { if (enable) { // Start checking for input onUpdate += CheckInput; } else { // Start checking for input onUpdate -= CheckInput; } }
private void OnEnterState(GameStatus state) { switch (state) { case GameStatus.PAUSED: onUpdate += UpdateGenericMenu; _pauseSound.SetActive(true); _pauseSound.SetActive(false); Time.timeScale = 0f; _pauseUI.SetActive(true); Cursor.visible = true; break; case GameStatus.RUNNING: onUpdate += UpdateRunning; Cursor.visible = false; break; case GameStatus.CAMERA_SEQUENCE: onUpdate += UpdateRunning; SetTimeScale(_cameraSequenceSlowScale); break; case GameStatus.MIMIC: _mimic.gameObject.SetActive(true); _mimic.enabled = true; break; case GameStatus.INVENTORY_SELECTION: onUpdate += UpdateGenericMenu; _pauseSound.SetActive(true); _pauseSound.SetActive(false); Time.timeScale = 0f; _inventoryUI.SetActive(true); Cursor.visible = true; break; } }
private void FirstFrame() { _events.onEnterState(GameStatus.RUNNING); onUpdate -= FirstFrame; }