示例#1
0
 private void onSpawnGroupDone(ref SGroupDeadEventParam inParam)
 {
     int length = this.TriggerMatches.Length;
     for (int i = 0; i < length; i++)
     {
         CTriggerMatch match = this.TriggerMatches[i];
         if (match != null)
         {
             PoolObjHandle<ActorRoot> src = new PoolObjHandle<ActorRoot>(null);
             PoolObjHandle<ActorRoot> atker = new PoolObjHandle<ActorRoot>(null);
             object param = null;
             if (inParam.csg != null)
             {
                 param = inParam.csg;
             }
             else if (inParam.sg != null)
             {
                 param = inParam.sg;
             }
             if (this.FilterMatch(EGlobalGameEvent.SpawnGroupDead, match, src, atker, param, i))
             {
                 this.DoTriggering(match, src, atker, param);
             }
         }
     }
 }
示例#2
0
        protected override void DecSpawnPointOver()
        {
            base.DecSpawnPointOver();
            if (this.m_spawnPointOver == 0)
            {
                this.m_bCountingSpawn = true;
                SGroupDeadEventParam sGroupDeadEventParam = default(SGroupDeadEventParam);
                sGroupDeadEventParam.sg = this;
                Singleton <GameEventSys> .get_instance().SendEvent <SGroupDeadEventParam>(GameEventDef.Event_SpawnGroupDead, ref sGroupDeadEventParam);

                if (this.m_spawnCounter == 0 && this.SpawnTimes > 0)
                {
                    this.Stop();
                    SpawnGroup[] nextGroups = this.NextGroups;
                    for (int i = 0; i < nextGroups.Length; i++)
                    {
                        SpawnGroup spawnGroup = nextGroups[i];
                        if (spawnGroup != null)
                        {
                            spawnGroup.TriggerStartUp();
                        }
                    }
                }
            }
        }
示例#3
0
        protected override void DecSpawnPointOver()
        {
            base.DecSpawnPointOver();
            if (this.m_spawnPointOver == 0)
            {
                this.m_bCountingSpawn = true;
                SGroupDeadEventParam sGroupDeadEventParam = default(SGroupDeadEventParam);
                sGroupDeadEventParam.sg = this;
                Singleton <GameEventSys> .instance.SendEvent <SGroupDeadEventParam>(GameEventDef.Event_SpawnGroupDead, ref sGroupDeadEventParam);

                if (this.m_spawnCounter == 0 && this.SpawnTimes > 0)
                {
                    this.GoNextGroups();
                }
            }
        }
示例#4
0
        protected override void DecSpawnPointOver()
        {
            base.DecSpawnPointOver();
            if (this.m_spawnPointOver == 0)
            {
                if (this.IntervalRule == CommonSpawnGroup.EIntervalRule.UsedUp)
                {
                    this.bCountingSpawn = true;
                }
                SGroupDeadEventParam sGroupDeadEventParam = default(SGroupDeadEventParam);
                sGroupDeadEventParam.csg = this;
                Singleton <GameEventSys> .get_instance().SendEvent <SGroupDeadEventParam>(GameEventDef.Event_SpawnGroupDead, ref sGroupDeadEventParam);

                if (this.m_spawnCounter == 0 && this.SpawnTimes > 0)
                {
                    this.GoNextGroup();
                }
            }
        }
示例#5
0
        protected override void DecSpawnPointOver()
        {
            base.DecSpawnPointOver();
            if (base.m_spawnPointOver == 0)
            {
                if (this.IntervalRule == EIntervalRule.UsedUp)
                {
                    this.bCountingSpawn = true;
                }
                SGroupDeadEventParam prm = new SGroupDeadEventParam {
                    csg = this
                };
                Singleton <GameEventSys> .instance.SendEvent <SGroupDeadEventParam>(GameEventDef.Event_SpawnGroupDead, ref prm);

                if ((this.m_spawnCounter == 0) && (this.SpawnTimes > 0))
                {
                    this.GoNextGroup();
                }
            }
        }
示例#6
0
        private void onSpawnGroupDone(ref SGroupDeadEventParam inParam)
        {
            int num = this.TriggerMatches.Length;

            for (int i = 0; i < num; i++)
            {
                CTriggerMatch cTriggerMatch = this.TriggerMatches[i];
                if (cTriggerMatch != null)
                {
                    PoolObjHandle <ActorRoot> src               = new PoolObjHandle <ActorRoot>(null);
                    PoolObjHandle <ActorRoot> atker             = new PoolObjHandle <ActorRoot>(null);
                    SFilterMatchParam         sFilterMatchParam = default(SFilterMatchParam);
                    sFilterMatchParam.csg = inParam.csg;
                    sFilterMatchParam.sg  = inParam.sg;
                    if (this.FilterMatch(EGlobalGameEvent.SpawnGroupDead, cTriggerMatch, src, atker, ref sFilterMatchParam, i))
                    {
                        this.DoTriggering(cTriggerMatch, src, atker);
                    }
                }
            }
        }
示例#7
0
        protected override void DecSpawnPointOver()
        {
            base.DecSpawnPointOver();
            if (base.m_spawnPointOver == 0)
            {
                this.m_bCountingSpawn = true;
                SGroupDeadEventParam prm = new SGroupDeadEventParam {
                    sg = this
                };
                Singleton <GameEventSys> .instance.SendEvent <SGroupDeadEventParam>(GameEventDef.Event_SpawnGroupDead, ref prm);

                if ((this.m_spawnCounter == 0) && (this.SpawnTimes > 0))
                {
                    this.m_bStarted = false;
                    foreach (SpawnGroup group in this.NextGroups)
                    {
                        if (group != null)
                        {
                            group.TriggerStartUp();
                        }
                    }
                }
            }
        }