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); } } }
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); } } }