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++; } } }
public void StartMission(CampaignMissionVO missionVO) { this.CancelDuplicateMissionConductors(missionVO); MissionConductor missionConductor = new MissionConductor(missionVO); this.activeMissionConductors.Add(missionConductor); missionConductor.Start(); this.progress.StartMission(missionVO); }
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); } } }
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(); }