public void AddEventHandler(string type, NetEventHanlder handler, int priority = 0) { ArrayList handles = null; if (!eventHandles.TryGetValue(type, out handles)) { handles = new ArrayList(); eventHandles.Add(type, handles); } EventHandle handle = new EventHandle { handler = handler, priority = priority }; int index = 0; for (int i = 0; i < handles.Count; i++) { if (((EventHandle)handles[i]).priority <= handle.priority) { index = i; break; } } handles.Insert(index, handle); }
public void RemoveEventHander(string type, NetEventHanlder handler) { EventHandleRemove remove = new EventHandleRemove { type = type, handler = handler }; eventHandlesRemove.Add(remove); }