public virtual void InitModular() { mCreaterByAttributes = new List <ModularNoticeCreater>(); mDecoraterByAttributes = new List <ModularNoticeDecorater>(); mListenerByAttributes = new List <ModularNoticeListener>(); mModularNotifierMapper = new KeyValueList <Action <INoticeBase <int> >, ModularNotifier>(); if (NoticeCreates == default) { NoticeCreates = new ModularNoticeCreater[0]; } else { } if (NoticeDecoraters == default) { NoticeDecoraters = new ModularNoticeDecorater[0]; } else { } if (NoticeListeners == default) { NoticeListeners = new ModularNoticeListener[0]; } else { } InitCustomHandlers(); GenerateModularHandlers(); }
/// <summary>修饰化模块装饰处理方法的修改器</summary> private DecoratorHandler OnSetDecorator(DecoratorHandler a, ModularNoticeDecorater b, bool isAdd) { if (isAdd) { a += b.Handler; } else { a -= b.Handler; } return(a); }
/// <summary>修饰化模块装饰处理方法的获取器</summary> private DecoratorHandler OnGetDecorator(ModularNoticeDecorater param) { return(param.Handler); }
/// <summary> /// 添加消息装饰器函数 /// </summary> /// <param name="noticeName">消息名</param> /// <param name="method">装饰器函数</param> public void AddNoticeDecorator(ModularNoticeDecorater target, bool willSort = false) { mDecorators.AddHandler(ref target, willSort); }