public unsafe void OnWebEvent(int type, int num, wi.wiKeyValue* kvps) { var entities = wiSystem.GetInstance().entities; Dictionary<String, String> dic = new Dictionary<String, String>(); wiComponent receiver = null; for (int i = 0; i < num; ++i) { string name = Marshal.PtrToStringAnsi((IntPtr)kvps[i].key); string value = Marshal.PtrToStringAnsi((IntPtr)kvps[i].value); dic.Add(name, value); switch (name) { case "entity": { int id = Convert.ToInt32(value); entities.TryGetValue(id, out receiver); } break; } } if (receiver) { receiver.OnWebEvent((wi.wiEventType)type, dic); } if (handler != null) { handler((wi.wiEventType)type, dic); } }
public void OnWebEvent(wi.wiEventType type, Dictionary<String, String> kvp) { if (eventHandler != null) { eventHandler(type, kvp); } }