コード例 #1
0
    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();
        }
    }
コード例 #2
0
    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;
    }
コード例 #3
0
 void AfterDying()
 {
     _sceneManager.SetCurrentGameState(CP_SceneManager.BattleState.E_GAMEOVER_AFTER);
 }