public override void UpdateAbility(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo)
        {
            CharacterControl control = characterState.GetCharacterControl(animator);

            float topDist = control.aiProgress.findingAgent.endSphere.transform.position.y
                            - control.FrontSpheres[1].transform.position.y;

            float bottomDist = control.aiProgress.findingAgent.endSphere.transform.position.y
                               - control.FrontSpheres[0].transform.position.y;

            if (topDist < 1.7f && bottomDist > 0.5f)
            {
                if (control.isFacingForward())
                {
                    control.MoveRight = true;
                    control.MoveLeft  = false;
                }
                else
                {
                    control.MoveRight = false;
                    control.MoveLeft  = true;
                }
            }

            if (bottomDist < 0.5f)
            {
                control.Jump      = false;
                control.MoveUp    = false;
                control.MoveRight = false;
                control.MoveLeft  = false;

                animator.gameObject.SetActive(false);
                animator.gameObject.SetActive(true);
            }
        }
Exemple #2
0
        public override void UpdateAbility(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo)
        {
            CharacterControl control = characterState.GetCharacterControl(animator);

            if (control.isFacingForward())
            {
                if (control.MoveLeft)
                {
                    animator.SetBool(TransitionParameter.RunningTurn180.ToString(), true);
                }
            }

            if (!control.isFacingForward())
            {
                if (control.MoveRight)
                {
                    animator.SetBool(TransitionParameter.RunningTurn180.ToString(), true);
                }
            }
        }
Exemple #3
0
        public override void OnEnter(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo)
        {
            CharacterControl control = characterState.GetCharacterControl(animator);

            if (control.isFacingForward())
            {
                control.FaceForward(false);
            }
            else
            {
                control.FaceForward(true);
            }
        }
Exemple #4
0
        public override void UpdateAbility(CharacterState characterState, Animator animator, AnimatorStateInfo stateInfo)
        {
            CharacterControl control = characterState.GetCharacterControl(animator);

            if (control.isFacingForward())
            {
                if (control.transform.position.z < control.aiProgress.findingAgent.endSphere.transform.position.z)
                {
                    control.MoveRight = true;
                    control.MoveLeft  = false;
                }
                else
                {
                    control.MoveRight = false;
                    control.MoveLeft  = false;

                    animator.gameObject.SetActive(false);
                    animator.gameObject.SetActive(true);
                }
            }
            else
            {
                if (control.transform.position.z > control.aiProgress.findingAgent.endSphere.transform.position.z)
                {
                    control.MoveRight = false;
                    control.MoveLeft  = true;
                }
                else
                {
                    control.MoveRight = false;
                    control.MoveLeft  = false;

                    animator.gameObject.SetActive(false);
                    animator.gameObject.SetActive(true);
                }
            }
        }