예제 #1
0
 public void SendEvent <ParamType>(GameSkillEventDef _event, PoolObjHandle <ActorRoot> _src, ref ParamType _param, GameSkillEventChannel _channel = GameSkillEventChannel.Channel_HostCtrlActor)
 {
     if (!_src)
     {
         return;
     }
     if (_channel == GameSkillEventChannel.Channel_HostCtrlActor)
     {
         if (ActorHelper.IsHostCtrlActor(ref _src))
         {
             this.SendEvent <ParamType>(_event, ref _param);
         }
     }
     else if (_channel == GameSkillEventChannel.Channel_HostActor)
     {
         if (ActorHelper.IsHostActor(ref _src))
         {
             this.SendEvent <ParamType>(_event, ref _param);
         }
     }
     else if (_channel == GameSkillEventChannel.Channel_AllActor)
     {
         this.SendEvent <ParamType>(_event, ref _param);
     }
 }
 public void SendEvent <ParamType>(GameSkillEventDef _event, PoolObjHandle <ActorRoot> _src, ref ParamType _param, GameSkillEventChannel _channel = GameSkillEventChannel.Channel_HostCtrlActor)
 {
     if (!_src)
     {
         return;
     }
     if (_channel == GameSkillEventChannel.Channel_HostCtrlActor)
     {
         if (ActorHelper.IsHostCtrlActor(ref _src) || Singleton <WatchController> .GetInstance().IsWatching)
         {
             this.SendEvent <ParamType>(_event, ref _param);
         }
     }
     else if (_channel == GameSkillEventChannel.Channel_HostActor)
     {
         if (ActorHelper.IsHostActor(ref _src) || Singleton <WatchController> .GetInstance().IsWatching)
         {
             this.SendEvent <ParamType>(_event, ref _param);
         }
     }
     else if (_channel == GameSkillEventChannel.Channel_AllActor)
     {
         this.SendEvent <ParamType>(_event, ref _param);
     }
 }
예제 #3
0
        private void SendEvent <ParamType>(GameSkillEventDef _event, ref ParamType _param)
        {
            GameSkillEvent <ParamType> gameSkillEvent = this.skillEventTable[(int)_event] as GameSkillEvent <ParamType>;

            if (gameSkillEvent != null)
            {
                gameSkillEvent(ref _param);
            }
        }
예제 #4
0
        private void SendEvent <ParamType>(GameSkillEventDef _event, ref ParamType _param)
        {
            int index = (int)_event;
            GameSkillEvent <ParamType> event2 = this.skillEventTable[index] as GameSkillEvent <ParamType>;

            if (event2 != null)
            {
                event2(ref _param);
            }
        }
예제 #5
0
        public void RmvEventHandler <ParamType>(GameSkillEventDef _event, GameSkillEvent <ParamType> _handler)
        {
            int index = (int)_event;

            this.skillEventTable[index] = (GameSkillEvent <ParamType>)Delegate.Remove((GameSkillEvent <ParamType>) this.skillEventTable[index], _handler);
        }
예제 #6
0
 public void AddEventHandler <ParamType>(GameSkillEventDef _event, GameSkillEvent <ParamType> _handler)
 {
     this.skillEventTable[(int)_event] = (GameSkillEvent <ParamType>)Delegate.Combine((GameSkillEvent <ParamType>) this.skillEventTable[(int)_event], _handler);
 }