示例#1
0
    void FishingCancel(InputAction.CallbackContext context)
    {
        switch (m_currState)
        {
        // cancel out fishing entirely
        case FishingState.Aiming:
            if (m_currFishingSign != null)
            {
                m_currFishingSign.SetInteractable(true);
                m_currFishingSign.ResetLookat();
            }

            m_playerMovement.SetFrozen(false);
            m_fishingReticle.SetActive(false);
            m_fishingRod.SetActive(false);
            m_playerControls.Fishing.Disable();
            m_playerInput.SwitchCurrentActionMap("Player");
            m_playerControls.Player.Enable();

            m_uiManager.ToggleInstructions("");
            ChangeState(FishingState.NotFishing);
            break;

        // recast
        case FishingState.Waiting:
            m_currFishingSign.FishingArea.ActivateFish(false);
            m_fishingReticle.SetAnimTriggCastEnd();
            m_fishingRod.SetAnimTriggCastEnd();
            m_uiManager.ToggleInstructions("Aiming");
            ChangeState(FishingState.Aiming);
            break;
        }
    }