Esempio n. 1
0
 public abstract void OnCollision(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType);
Esempio n. 2
0
 public abstract DecisionResult OnCollision(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType);
Esempio n. 3
0
    public override void OnCollision(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType)
    {
        if (collision.gameObject.CompareTag(BombariaTags.FLOOR) || collisionType != AIStateController.CollisionType.CollisionEnter)
        {
            return;
        }

        Collide(controller);
    }
Esempio n. 4
0
 private void OnCollisionActions(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType)
 {
     foreach (AIAction action in actions)
     {
         action.OnCollision(controller, collision, collisionType);
     }
 }
Esempio n. 5
0
    private void OnCollisionTransitions(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType)
    {
        foreach (AIStateTransition transition in transitions)
        {
            AIDecision.DecisionResult decisionResult = transition.decision.OnCollision(controller, collision, collisionType);

            SwitchToState(controller, transition, decisionResult);
        }
    }
Esempio n. 6
0
 public void OnCollision(AIStateController controller, Collision collision, AIStateController.CollisionType collisionType)
 {
     OnCollisionActions(controller, collision, collisionType);
     OnCollisionTransitions(controller, collision, collisionType);
 }