protected override void TriggerEvent(PhysicEventType eventType, GameObject gameObject) { foreach (var trigger in triggers) { if (eventType == trigger.eventType && (trigger.any || gameObject.CompareTag(trigger.tag))) { trigger.gameEvent.Raise(); } } }
public static bool ComeContaints(this HashSet <IPhysicEvent> data, PhysicEventType pType) { foreach (IPhysicEvent pEvent in data) { if (pEvent.IsCome && pEvent.Type == pType) { return(true); } } return(false); }
public static IPhysicEvent GetEvent(this HashSet <IPhysicEvent> data, PhysicEventType pType) { foreach (IPhysicEvent pEvent in data) { if (pEvent.Type == pType) { return(pEvent); } } return(null); }
protected override void TriggerEvent(PhysicEventType eventType, GameObject gameObject) { foreach (var trigger in triggers) { if (eventType == trigger.eventType && (trigger.any || gameObject.CompareTag(trigger.tag))) { if (trigger.dynamicParameter) { if (gameObject.TryGetComponent(out ParameterType component) || trigger.behaviour == TriggerBehaviour.TriggerWithNull) { trigger.Raise(component); } else if (trigger.behaviour == TriggerBehaviour.TriggerWithDefault) { trigger.Raise(); } } else { trigger.Raise(); } } }
protected abstract void TriggerEvent(PhysicEventType eventType, GameObject gameObject);