コード例 #1
0
        IEnumerator ChangeStateProcess(State newState, bool overrideSameStateCheck = false)
        {
            if (animator)
            {
                animator.SetInteger("idleMode", 0);
            }

            switch (newState)
            {
            case State.IdleDiagonalFront:
                if (PlayerHead)
                {
                    PlayerHead.SetMood((int)PlayerHead.Moods.Neutral);
                }
                break;

            case State.PushBack:
                talkDirection = TalkDirection.DiagonalBack;
                break;
            }

            ApplyTalkDirection();

            state = newState;

            animator.SetInteger("state", (int)state);

            bool dis = true;

            if (state == State.TalkDiagonal)
            {
                dis = false;
            }

            animator.SetBool("disable", dis);

            lastState = newState;

            yield return(null);
        }
コード例 #2
0
 public void ChangeTalkDirection(TalkDirection dir)
 {
     talkDirection = dir;
     ApplyTalkDirection();
 }
コード例 #3
0
 public void TurnTowardsPlayer()
 {
     talkDirection = TalkDirection.Front;
     ApplyTalkDirection();
 }