public static void EnqueueNetworkEvent(int type, NetworkEventPayload payload) { NetworkEventItem newItem = new NetworkEventItem(); newItem.type = type; newItem.payload = payload; networkEventItems.Enqueue(newItem); }
public static void EnqueueNetworkEvent(int type, NetworkConnection conn, NetworkEventPayload payload) { NetworkEventItem newItems = new NetworkEventItem(); newItems.type = type; newItems.conn = conn; newItems.payload = payload; networkEventItems.Enqueue(newItems); }
private static void CallNetworkEvents() { while (networkEventItems.Count > 0) { NetworkEventItem item = networkEventItems.Dequeue(); if (item == null) { continue; } foreach (Action <NetworkEventPayload> evt in networkEvents[item.type]) { evt(item.payload); } } }
private static void HandleNetworkEvents() { while (networkEventItems.Count > 0) { NetworkEventItem item = networkEventItems.Dequeue(); if (item == null) { continue; } foreach (Action <NetworkConnection, NetworkEventPayload> evt in networkEvents[item.type]) { try { evt(item.conn, item.payload); } catch (Exception e) { } } } }