public void SubscribeToEvent <T>(AObject sender, NativeEventDelegate <T> eventDelegate) where T : NativeEventData { uint eventType = NativeEvents.GetEventID <T>(); if (eventType == 0) { throw new InvalidOperationException("AObject.SubscribeToEvent<T>(EventDelegate<T> eventDelegate) - Unknown native event id"); } // Move this NETCore.RegisterNETEventType(eventType); NativeEventHandlers[eventType] = (eventData) => { eventDelegate((T)eventData); }; if (sender != null) { NativeCore.SubscribeToEvent(this, sender, eventType); } else { NativeCore.SubscribeToEvent(this, eventType); } }
public void SubscribeToEvent(AObject sender, uint eventType, EventDelegate eventDelegate) { if (sender == null) { throw new InvalidOperationException("AObject.SubscribeToEvent - trying to subscribe to events from a null object"); } // Move this NETCore.RegisterNETEventType(eventType); NativeCore.SubscribeToEvent(this, sender, eventType); }
public void SubscribeToEvent(AObject sender, uint eventType, SenderEventDelegate eventDelegate) { if (sender == null) { throw new InvalidOperationException("AObject.SubscribeToEvent - trying to subscribe to events from a null object"); } NETCore.RegisterNETEventType(eventType); var key = new SenderEventKey(eventType, sender.nativeInstance); SenderEventHandlers[key] = eventDelegate; NativeCore.SubscribeToEvent(this, sender, eventType); }
public void SubscribeToEvent(uint eventType, EventDelegate eventDelegate) { NETCore.RegisterNETEventType(eventType); EventHandlers[eventType] = eventDelegate; NativeCore.SubscribeToEvent(this, eventType); }