Пример #1
0
        void CheckObstacles()
        {
            if (movementAI.aiController2D.collisions.right && movementAI.aiController2D.collisions.below == false)
            {
                botFSM.Idle(movementAI);
            }

            if (triggerController.triggerCollision.needJump && movementAI.aiController2D.collisions.climbingSlope == false)
            {
                movementAI.aiController2D.collisions.canJump = true;
                Debug.Log("Jump");
                botFSM.SetJump();
            }
        }
Пример #2
0
        void SetHorizontalDirection()
        {
            if (distTarget.x > 0.5)
            {
                inputX = 1;
                if (distTarget.y < 1)
                {
                    //Para pular sobre a bola quando ela estiver perto e no lado direito do BOT
                    movementAI.aiController2D.collisions.canJump = true;
                    botFSM.SetJump();
                }
            }
            else if (distTarget.x < -1)
            {
                inputX = -1;
            }
            else
            {
                inputX = 0;
            }

            botFSM.SetHorizontalMovement(inputX);
        }
Пример #3
0
 void SetVerticalDirection()
 {
     if (distTarget.y > 0.75)
     {
         movementAI.needToJump = true;
         if (movementAI.triggerController.triggerCollision.canJump || distTarget.y < movementAI.maxJumpHeight)
         {
             botFSM.SetJump();
         }
     }
     else if (distTarget.y < -0.75)
     {
         if (botFSM.stateVertical == BotFSM.States.Down)
         {
             return;
         }
         botFSM.SetFall();
     }
     else
     {
         botFSM.SetNone(2);
     }
 }