예제 #1
0
        private void CancelDuplicateMissionConductors(CampaignMissionVO missionVO)
        {
            List <MissionConductor> list = null;
            int i     = 0;
            int count = this.activeMissionConductors.Count;

            while (i < count)
            {
                MissionConductor missionConductor = this.activeMissionConductors[i];
                if (missionConductor.MissionVO.Uid == missionVO.Uid || (missionConductor.MissionVO.MissionType == MissionType.Pvp && missionVO.MissionType == MissionType.Pvp))
                {
                    if (list == null)
                    {
                        list = new List <MissionConductor>();
                    }
                    list.Add(missionConductor);
                }
                i++;
            }
            if (list != null)
            {
                int j      = 0;
                int count2 = list.Count;
                while (j < count2)
                {
                    list[j].CancelMission();
                    j++;
                }
            }
        }
예제 #2
0
        public void StartMission(CampaignMissionVO missionVO)
        {
            this.CancelDuplicateMissionConductors(missionVO);
            MissionConductor missionConductor = new MissionConductor(missionVO);

            this.activeMissionConductors.Add(missionConductor);
            missionConductor.Start();
            this.progress.StartMission(missionVO);
        }
예제 #3
0
 private void RemoveActiveMissionConductors(CampaignMissionVO missionVO)
 {
     for (int i = this.activeMissionConductors.Count - 1; i >= 0; i--)
     {
         MissionConductor missionConductor = this.activeMissionConductors[i];
         if (missionConductor.MissionVO.Uid == missionVO.Uid)
         {
             this.activeMissionConductors.Remove(missionConductor);
         }
     }
 }
예제 #4
0
        public void ResumeMission(CampaignMissionVO missionVO)
        {
            this.CancelDuplicateMissionConductors(missionVO);
            Service.Logger.DebugFormat("Resuming mission {0}", new object[]
            {
                missionVO.Uid
            });
            MissionConductor missionConductor = new MissionConductor(missionVO);

            this.activeMissionConductors.Add(missionConductor);
            missionConductor.Resume();
        }