Beispiel #1
0
    private void ChangeState()
    {
        switch (State)
        {
        case playerState.Wait:
            if (Time.timeSinceLevelLoad < 0.5f)
            {
                break;
            }
            State = playerState.Ride;
            //TODO: Przenieść do managera animacji
            if (_competition != null)
            {
                _competition.HideName();
            }
            StartCoroutine(MakeStart());
            break;

        case playerState.Ride:
            if (Jump.isPlaying)
            {
                break;
            }
            StartCoroutine(MakeJump());
            _starGyroX = Input.acceleration.x;
            break;

        case playerState.Fly:
            StopAllCoroutines();
            StartCoroutine(MakeLanding());
            break;

        case playerState.LandingTwoLegs:
            StartCoroutine(MakeTelemark());
            break;

        case playerState.Landing:
            break;

        case playerState.DuringTwoLegs:
            StopAllCoroutines();
            StartCoroutine(MakeTelemark());
            break;

        case playerState.Telemark:
            break;

        case playerState.Finish:
            if (TimeFromLastClick() >= 0.2f)
            {
                _competitionManager.Result();
            }
            break;

        case playerState.Fall:
            if (TimeFromLastClick() >= 0.2f)
            {
                _competitionManager.Result();
            }
            break;

        default:
            break;
        }
        _clickTime = Time.timeSinceLevelLoad;
    }