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(); } }
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); }
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); } }