public void PlayAnimation() { if (Bar != null) { Sequence seq = DOTween.Sequence(); seq.Append(Bar.transform.DOLocalRotate(new Vector3(0f, 200f, 0f), 0.15f, RotateMode.Fast).SetLoops(10)); seq.Append(Bar.transform.DOLocalRotate(new Vector3(0f, 20f, 0f), 0.15f, RotateMode.Fast)); seq.Play(); } if (_isLastCheckpoint && _sceneManager != null) { _sceneManager.SetCurrentGameState(CP_SceneManager.BattleState.E_WIN); Sequence seq = DOTween.Sequence(); seq.AppendInterval(3.0f); seq.onComplete += WinFinish; seq.Play(); } }
void ProceedState(SemaphoreState state) { switch(state) { case SemaphoreState.E_INVISIBLE: { for(var i = 0; i < Lights.Count; ++i) { if(Lights[i] != null) { Lights[i].SetLightState(CP_SemaphoreLight.LightState.E_DISABLED); } } break; } case SemaphoreState.E_WAITING: { _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1000; break; } case SemaphoreState.E_SHOWING: { for(var i = 0; i < Lights.Count; ++i) { if(Lights[i] != null) { Lights[i].SetLightState(CP_SemaphoreLight.LightState.E_OFF); } } _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1000; break; } case SemaphoreState.E_P1: { Lights[0].SetLightState(CP_SemaphoreLight.LightState.E_RED); _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1250; break; } case SemaphoreState.E_P2: { Lights[1].SetLightState(CP_SemaphoreLight.LightState.E_RED); _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1250; break; } case SemaphoreState.E_P3: { Lights[2].SetLightState(CP_SemaphoreLight.LightState.E_RED); _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1250; break; } case SemaphoreState.E_P4: { Lights[0].SetLightState(CP_SemaphoreLight.LightState.E_GREEN); Lights[1].SetLightState(CP_SemaphoreLight.LightState.E_GREEN); Lights[2].SetLightState(CP_SemaphoreLight.LightState.E_GREEN); Lights[3].SetLightState(CP_SemaphoreLight.LightState.E_GREEN); _stateStartTime = TimeUtils.TimestampMilliseconds; _stateRandomTime = 1500; if(_sceneManager != null) { _sceneManager.SetCurrentGameState(CP_SceneManager.BattleState.E_PLAYING); } break; } } CurrentsemaphoreState = state; }
void AfterDying() { _sceneManager.SetCurrentGameState(CP_SceneManager.BattleState.E_GAMEOVER_AFTER); }