public GameDeadEventParam(PoolObjHandle <ActorRoot> _src, PoolObjHandle <ActorRoot> _atker, PoolObjHandle <ActorRoot> _orignalAtker, PoolObjHandle <ActorRoot> _logicAtker, bool bFlag, SpawnPoint _spawnPoint = null) { this.src = _src; this.atker = _atker; this.orignalAtker = _orignalAtker; this.logicAtker = _logicAtker; this.bImmediateRevive = bFlag; this.spawnPoint = _spawnPoint; }
public override RefParamOperator TriggerEnter(PoolObjHandle <ActorRoot> src, PoolObjHandle <ActorRoot> atker, ITrigger inTrigger, object prm) { List <PoolObjHandle <ActorRoot> > list = new List <PoolObjHandle <ActorRoot> >(); if (base.bSrc && (src != 0)) { list.Add(src); } if (base.bAtker && (atker != 0)) { list.Add(atker); } if ((base.RefObjList != null) && (base.RefObjList.Length > 0)) { foreach (GameObject obj2 in base.RefObjList) { if (obj2 != null) { SpawnPoint componentInChildren = obj2.GetComponentInChildren <SpawnPoint>(); if (componentInChildren != null) { List <PoolObjHandle <ActorRoot> > .Enumerator enumerator = componentInChildren.GetSpawnedList().GetEnumerator(); while (enumerator.MoveNext()) { PoolObjHandle <ActorRoot> current = enumerator.Current; if (current != 0) { list.Add(current); } } } else { PoolObjHandle <ActorRoot> actorRoot = ActorHelper.GetActorRoot(obj2); if (actorRoot != 0) { list.Add(actorRoot); } } } } } List <PoolObjHandle <ActorRoot> > .Enumerator enumerator2 = list.GetEnumerator(); while (enumerator2.MoveNext()) { if ((enumerator2.Current != 0) && !this.HasActor(enumerator2.Current)) { this.SetHudText(Utility.GetBubbleText((uint)base.EnterUniqueId), enumerator2.Current); if (base.TotalTime > 0) { int num2 = Singleton <CTimerManager> .GetInstance().AddTimer(base.TotalTime, 1, new CTimer.OnTimeUpHandler(this.OnTimeUp), true); ActorRootInfo item = new ActorRootInfo { Actor = enumerator2.Current, Id = num2 }; this.m_actorTimerMap.Add(item); } } } return(null); }