Example #1
0
        private void DoTriggering(CTriggerMatch match, PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker)
        {
            if (match.TriggerCountMax > 0 && ++match.m_triggeredCounter > match.TriggerCountMax)
            {
                return;
            }
            if (!match.bCoolingDown)
            {
                match.IntoCoolingDown();
                if (match.DelayTime > 0)
                {
                    int num = Singleton <CTimerManager> .get_instance().AddTimer(match.DelayTime, 1, new CTimer.OnTimeUpHandler(this.OnDelayTriggerTimer), true);

                    if (num >= 0)
                    {
                        DebugHelper.Assert(!this.DelayTimeSeqMap.ContainsKey(num));
                        GlobalTrigger.CDelayMatch cDelayMatch = new GlobalTrigger.CDelayMatch();
                        cDelayMatch.AtkerHandle  = atker;
                        cDelayMatch.SrcHandle    = src;
                        cDelayMatch.TriggerMatch = match;
                        this.DelayTimeSeqMap.Add(num, cDelayMatch);
                    }
                }
                else
                {
                    this.DoTriggeringImpl(match, src, atker);
                }
            }
        }
Example #2
0
 private void DoTriggering(CTriggerMatch match, PoolObjHandle<ActorRoot> src, PoolObjHandle<ActorRoot> atker, object param)
 {
     if (((match.TriggerCountMax <= 0) || (++match.m_triggeredCounter <= match.TriggerCountMax)) && !match.bCoolingDown)
     {
         match.IntoCoolingDown();
         if (match.DelayTime > 0)
         {
             int key = Singleton<CTimerManager>.instance.AddTimer(match.DelayTime, 1, new CTimer.OnTimeUpHandler(this.OnDelayTriggerTimer), true);
             if (key >= 0)
             {
                 DebugHelper.Assert(!this.DelayTimeSeqMap.ContainsKey(key));
                 CDelayMatch match2 = new CDelayMatch {
                     AtkerHandle = atker,
                     SrcHandle = src,
                     ParamObj = param,
                     TriggerMatch = match
                 };
                 this.DelayTimeSeqMap.Add(key, match2);
             }
         }
         else
         {
             this.DoTriggeringImpl(match, src, atker, param);
         }
     }
 }