public static void Remove(FrameXMLEvents EventCode, WoWEventHandler handler) { if (_eventHandler.ContainsKey(EventCode)) { _eventHandler[EventCode].Remove(handler); } }
private static void HandleEvent(FrameXMLEvents eventCode, string ArgsFormat, uint ArgsPtr) { List <string> parsedArgs = ParseArguments(ArgsFormat, ArgsPtr); foreach (WoWEventHandler handler in _eventHandler[eventCode]) { handler(eventCode, parsedArgs); } }
public static void Register(FrameXMLEvents EventCode, WoWEventHandler handler) { if (_eventHandler.ContainsKey(EventCode)) { _eventHandler[EventCode].Add(handler); } else { _eventHandler.Add(EventCode, new List <WoWEventHandler> { handler }); } }
private static int Callback(uint ebp8, uint ebpC, uint eax, uint ebp) { FrameXMLEvents eventCode = (FrameXMLEvents)ebp8; if (_eventHandler.ContainsKey(eventCode)) { uint ArgsFormatPtr = ebpC; string ArgsFormat = GeneralHelper.Memory.ReadString(ArgsFormatPtr, new UTF8Encoding()); HandleEvent(eventCode, ArgsFormat, eax); } return((int)_WoWEventInternalHook.CallOriginal(ebp8, ebpC, eax, ebp)); }
private static void HandleARCHAEOLOGY(FrameXMLEvents ev, List <string> args) { GeneralHelper.MainLog(string.Join(",", args.ToArray()), "ARCHAEOLOGY_CLOSED"); }
private static void HandlePlayerLevelUp(FrameXMLEvents ev, List <string> args) { GeneralHelper.MainLog(string.Join(",", args.ToArray()), "PLAYER_LEVEL_UP"); }