public void Dispatcher(MessageArgs args) { int permodulecount = MsgSpan.Count; int moduleindex = args.opcode / permodulecount * permodulecount; UnityEngine.Debug.Log("modueindex " + moduleindex); ModuleArea _ma = (ModuleArea)moduleindex; AbsManager absm = null; switch (_ma) { case ModuleArea.DigitalAssertManager: absm = new DigitalAssertManager(); break; case ModuleArea.UIManager: absm = new UIManager(); break; case ModuleArea.SoundManager: break; } if (!dic_manager.ContainsKey(_ma)) { dic_manager.Add(_ma, absm); } else { dic_manager.TryGetValue(_ma, out absm); } absm.HandlerEvent(args); SafeObjectPool <MessageArgs> .Instance.Recycle(args); }
public abstract void HandlerEvent(MessageArgs args);
protected virtual void RegisterEvent(MessageArgs args) { attentionevents.Add(args.opcode); }
protected virtual void SendEvent(MessageArgs args) { EventDispatcher.GetInstance().Dispatcher(args); }
protected virtual void SendEvent(MessageArgs args) { SendEventCall(args); }