예제 #1
0
        public void SetPose(FPPoseType tempPose)
        {
            switch (tempPose)
            {
            case FPPoseType.None:
            {
                m_FPAnimator.SetBool("HoldingObject", false);
                m_FPAnimator.SetBool("HoldingAxe", false);
                m_FPAnimator.SetTrigger("KillProp");
                break;
            }

            case FPPoseType.Grab:
            {
                m_FPAnimator.SetTrigger("Grab");
                m_Drifter.SwitchControlTypes(WalkControlLimits.NoWalk, LookControlLimits.FullControl);
                break;
            }

            case FPPoseType.HoldingProp:
            {
                m_Drifter.SwitchControlTypes(WalkControlLimits.FullControl, LookControlLimits.FullControl);
                m_FPAnimator.SetBool("HoldingObject", true);
                m_FPAnimator.SetBool("Examine", false);
                bool axe = m_currentProp.tag == "axe";
                m_FPAnimator.SetBool("HoldingAxe", axe);
                break;
            }

            case FPPoseType.ExaminingProp:
            {
                m_FPAnimator.SetBool("Examine", true);
                break;
            }

            case FPPoseType.Eat:
            {
                m_FPAnimator.SetTrigger("Eat");
                m_propAwaitingAction = false;
                break;
            }

            case FPPoseType.Throw:
            {
                m_FPAnimator.SetTrigger("Throw");
                m_propAwaitingAction = false;
                break;
            }

            case FPPoseType.AdjustHold:
            {
                m_FPAnimator.SetTrigger("AdjustHold");
                m_propAwaitingAction = true;
                break;
            }
            }
        }
예제 #2
0
    // Update is called once per frame
    void Update()
    {
        if (m_playerControl)
        {
            switch (m_FishingState)
            {
            case FishingMachine.Idle:
            {
                if (Input.GetKeyDown(KeyCode.Mouse0))
                {
                    m_Animator.SetTrigger("FishingAction");
                    m_Drifter.SwitchControlTypes(WalkControlLimits.NoWalk, LookControlLimits.VerticalOnly);
                    m_FishingState = FishingMachine.Fishing;
                    switch (m_FishermanStatus)
                    {
                    case FishermanStatus.NoFish:
                    {
                        SpawnFish();
                        m_FishermanStatus = FishermanStatus.Catching;
                        break;
                    }

                    case FishermanStatus.Catching:
                    {
                        m_FishermanStatus = FishermanStatus.NoFish;
                        break;
                    }
                    }
                    m_fishInstance.FishermanAction();
                }

                if (m_BoatWalker.SplinePos() >= 1f)
                {
                    QuitFishing();
                }
                break;
            }

            case FishingMachine.Fishing:
            {
                if (m_Animator.GetCurrentAnimatorStateInfo(0).normalizedTime > 1.0f)
                {
                    m_Drifter.SwitchControlTypes(WalkControlLimits.NoWalk, LookControlLimits.FullControl);
                    m_FishingState = FishingMachine.Idle;
                }
                break;
            }
            }
        }
    }
예제 #3
0
    public void Animate()
    {
        //kill Music
        m_Piano.Stop();
        m_Speaker1.Stop();
        m_Speaker2.Stop();
        m_Mumblers.Stop();

        //Switch 47 and Lippy
        Destroy(m_LippyMingling.gameObject);
        m_Lippy.gameObject.SetActive(true);
        m_47.gameObject.SetActive(true);

        //Move FP47
        m_OldBoat.SetActive(false);
        m_NewBoat.SetActive(true);
        m_FP47.MakeMeAChildOfYourPeace(m_LandingTarget);
        m_FP47.SwitchControlTypes(WalkControlLimits.NoWalk, LookControlLimits.NoControl);
        m_FP47.GetComponent <FPClownController>().KillProp();

        m_Animator.SetTrigger("Animate");
    }
예제 #4
0
 public void LookAtHands()
 {
     m_Drifter.SwitchControlTypes(WalkControlLimits.NoWalk, LookControlLimits.NoControl);
     m_playerControl = false;
     m_Animator.SetTrigger("LookAtHands");
 }