public void InvokeEvent(TData data)
        {
            IEventTriggerData <TData> foundEventTrigger = _eventDatas.Find(eventData => eventData.IsSuitable(data));

            if (foundEventTrigger == null)
            {
                return;
            }
            if (!foundEventTrigger.IsReady)
            {
                foundEventTrigger.Init(this);
            }
            foundEventTrigger.Trigger();
        }
 public void RegisterEvent(IEventTriggerData <TData> eventTriggerData)
 {
     _eventDatas.Add(eventTriggerData);
 }