void OnEvent(Events identifier, IEntity entity) { if (!Entities.Contains(entity)) return; var relay = entity.GetComponent<EventRelayComponent>(); for (int i = 0; i < relay.Events.Length; i++) { var relayEvent = relay.Events[i]; if (relayEvent.Event == identifier) EventManager.Trigger(identifier, relayEvent.Relay.Entity); } }
void OnEvent(Events identifier, IEntity entity) { if (!Entities.Contains(entity)) return; var state = entity.GetComponent<StateComponent>(); var switchState = entity.GetComponent<SwitchStateOnEventComponent>(); for (int i = 0; i < switchState.Events.Length; i++) { var switchEvent = switchState.Events[i]; if (switchEvent.Event == identifier) EventManager.Trigger(StateMachineEvents.OnStateSwitch, state.StateMachine, switchEvent.State); } }
void OnEvent(Events identifier, IEntity entity) { if (!Entities.Contains(entity)) return; var recycle = entity.GetComponent<RecycleOnEventComponent>(); for (int i = 0; i < recycle.Events.Length; i++) { var recycleEvent = recycle.Events[i]; if (recycleEvent.Event == identifier) { EntityManager.RecycleEntity(recycleEvent.Recycle); break; } } }