protected void OnTriggerActions(AIStateController controller, Collider other, AIStateController.TriggerType triggerType) { foreach (AIAction action in actions) { action.OnTrigger(controller, other, triggerType); } }
public override void OnTrigger(AIStateController controller, Collider other, AIStateController.TriggerType triggerType) { if (other.CompareTag(BombariaTags.FLOOR) || triggerType != AIStateController.TriggerType.TriggerEnter) { return; } Collide(controller); }
public abstract void OnTrigger(AIStateController controller, Collider other, AIStateController.TriggerType triggerType);
public abstract DecisionResult OnTrigger(AIStateController controller, Collider other, AIStateController.TriggerType triggerType);
protected void OnTriggerTransitions(AIStateController controller, Collider other, AIStateController.TriggerType triggerType) { foreach (AIStateTransition transition in transitions) { AIDecision.DecisionResult decisionResult = transition.decision.OnTrigger(controller, other, triggerType); SwitchToState(controller, transition, decisionResult); } }
public void OnTrigger(AIStateController controller, Collider other, AIStateController.TriggerType triggerType) { OnTriggerActions(controller, other, triggerType); OnTriggerTransitions(controller, other, triggerType); }