public void OnIncomingEvents(BridgeEventArgs[] events) { foreach (var e in events) { try { this.SendBridgeEvent(e); } catch { } } }
/// <summary> /// Sends a bridge event /// </summary> /// <param name="e"></param> private void SendBridgeEvent(BridgeEventArgs e) { var handlers = BridgeEvent; if (handlers == null) { return; } try { lock (handlers) { handlers(e); } } catch (Exception) { } }
private void ProcessBridgeEvents(bEvents.BridgeEventArgs e) { Debug.WriteLine("Type: {0}", e.EventType); switch (e.EventType) { case BridgeEventType.CharacterPosition: this.ProcessCharacterPositionEvent(e as bEvents.DynelPositionEventArgs); break; case BridgeEventType.DynelName: this.outgoingEvents.Enqueue(new hEvents.DynelNameEventArgs(e as bEvents.DynelNameEventArgs)); break; case BridgeEventType.Debug: this.outgoingEvents.Enqueue(new hEvents.DebugEventArgs(e as bEvents.DebugEventArgs)); break; case BridgeEventType.HookStateChange: this.outgoingEvents.Enqueue(new hEvents.HookStateChangeEventArgs(e as bEvents.HookStateChangeEventArgs)); break; case BridgeEventType.QuestLocation: this.outgoingEvents.Enqueue(new hEvents.QuestLocationEventArgs(e as bEvents.QuestLocationEventArgs)); break; case BridgeEventType.ServerID: this.outgoingEvents.Enqueue(new hEvents.ServerIdEventArgs(e as bEvents.ServerIdEventArgs)); break; case BridgeEventType.CharacterLogin: this.outgoingEvents.Enqueue(new hEvents.CharacterLoginEventArgs(e as bEvents.CharacterLoginEventArgs)); break; case BridgeEventType.CharacterLogout: this.outgoingEvents.Enqueue(new hEvents.CharacterLogoutEventArgs(e as bEvents.CharacterLogoutEventArgs)); break; } }
internal void SendBridgeEvent(BridgeEventArgs e) { try { lock (this.eventsQueue) { this.eventsQueue.Enqueue(e); } } catch { } }