public void RegisterListener(string type, Unit unit, object obj, string tag, MethodInvoker methodInvoker) { if (!this.listenerDict.ContainsKey(type)) { LogCat.error("Register Listener with undefine type()!", type); return; } var spellListenerInfo = new SpellListenerInfo(); spellListenerInfo.type = type; spellListenerInfo.unit = unit; spellListenerInfo.obj = obj; spellListenerInfo.tag = tag; spellListenerInfo.methodInvoker = methodInvoker; this.listenerDict[type].Add(spellListenerInfo); }
public void ListenerCallback(SpellListenerInfo listener, Unit sourceUnit, params object[] args) { listener.methodInvoker.Invoke(args); }