Esempio n. 1
0
    void Update()
    {
        if (gameManager.CurrentGameMode != GameMode.play)
        {
            return;
        }

        if (CrossPlatformInputManager.GetButtonUp("Jump"))
        {
            needSkipFirstAfterPlayback = false;
        }

        switch (CurrentJumpState)
        {
        case JumpState.flyUp:
            CheckTransitionToSlowDownState();
            ProcessUserInput();
            CheckForParachuteActivation();
            break;

        case JumpState.slowDown:
            CheckTransitionToApexState();
            ProcessUserInput();
            CheckForParachuteActivation();
            break;

        case JumpState.apex:
        case JumpState.flyDown:
            ProcessUserInput();
            CheckForDeltaplanActivation();
            CheckForParachuteActivation();
            break;

        case JumpState.jetpack:
            if (gameManager.HasFuel())
            {
                gameManager.ChangeJetpackFuel(-jetpackConfiguration.FuelConsumptionPerSecond * Time.deltaTime);
            }
            else
            {
                TurneOffJetpack();
            }
            ProcessUserInput();
            break;

        case JumpState.deltaplan:
            if (CrossPlatformInputManager.GetButtonDown("Fire2"))
            {
                TurneOffDeltaplan();
            }
            break;

        case JumpState.patachute:
            if (CrossPlatformInputManager.GetButtonDown("Fire3"))
            {
                TurneOffParachute();
            }
            break;

        case JumpState.force:
            return;
        }
    }