public void UnsubscribeFromEvent(AObject sender, uint eventType) { NativeCore.UnsubscribeFromEvent(this, sender, eventType); var key = new SenderEventKey(eventType, sender.nativeInstance); SenderEventHandlers.Remove(key); }
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); }
internal void HandleEvent(AObject sender, uint eventType, ScriptVariantMap eventData) { var key = new SenderEventKey(eventType, sender.nativeInstance); senderEventHandlers[key](sender, eventType, eventData); }