public override void PerformAction() { EventRaise eventRaise = new EventRaise(); eventRaise.InCaseSpecificEvent = eventToRise; if (eventToRise == null) { eventRaise.SpecificEventRaise = false; } thisEvent_Type = Event_Type.TRIGGER_EVENT; GameEventSystem.DoEvent( thisEvent_Type, eventRaise ); }
public static void RaiseAnEvent(RandomEventScriptable raise = null) { EventRaise randomEvent = new EventRaise { InCaseSpecificEvent = raise }; if (raise != null) { randomEvent.SpecificEventRaise = true; } GameEventSystem.DoEvent( Event_Type.TRIGGER_EVENT, randomEvent ); }
void CallEventWithEventInfo(EventInfo eventInfo) { EventRaise raise = (EventRaise)eventInfo; GameEvent gameEvent = null; if (raise.SpecificEventRaise) { gameEvent = new GameEvent(raise.InCaseSpecificEvent); } if (!raise.SpecificEventRaise && CheckForRaiseChanceIfEligibleEventsCanBeFired()) { gameEvent = getRandomizedEvent(); } if (gameEvent != null) { TriggerEvent(gameEvent); } }
private void EventInvoke(object[] args) => EventRaise?.Invoke(args);