示例#1
0
        protected void AddSmartListenerD(int type, Delegate listener)
        {
            mTypes.Add(type);
            mDelegates.Add(listener);

            MsgSys.AddDelegate(type, listener);
        }
        void Awake()
        {
            mImgRange.enabled = false;
            mImgArrow.enabled = false;
            mImgArea.enabled  = false;

            MsgSys.Add <SkillCfg>(GameEvent.CastEvt, OnPrepareCast);
        }
示例#3
0
 public virtual void OnWindowDestroy()
 {
     for (var i = 0; i < mTypes.Count; i++)
     {
         var t = mTypes[i];
         var d = mDelegates[i];
         MsgSys.RemoveDelegate(t, d);
     }
     mTypes.Clear();
     mDelegates.Clear();
 }
示例#4
0
        public void Create()
        {
            LogDC.LogEx("apply skill id :", GetSkillCfg().mId, mSkillCfg.mSkillType);

            InitHandlers();

            switch (mSkillCfg.mSkillType)
            {
            case SkillType.bullet:
            {
                CreateBullet();
                break;
            }

            case SkillType.area:
            {
                CreateArea();
                break;
            }

            case SkillType.normal:
                CreateNormal();
                break;
            }

            LogDC.Log("on create skill " + mSkillCfg.mId);

            if (mTypeToHandlerList.TryGetValue(HandlerType.after_create, out var list))
            {
                foreach (var handler in list)
                {
                    handler.OnEvt(this);
                }
            }

            MsgSys.Send(GameEvent.SkillEvt, this);

            mCreateTime = Time.time;
        }
 void OnDestroy()
 {
     MsgSys.Remove <SkillCfg>(GameEvent.CastEvt, OnPrepareCast);
 }