public void ZoomToNextCompleteMission()
		{
			this.m_miniMissionListPanel.InitMissionList();
			MiniMissionListItem[] componentsInChildren = this.m_miniMissionListPanel.m_inProgressMission_listContents.GetComponentsInChildren<MiniMissionListItem>(true);
			for (int i = 0; i < (int)componentsInChildren.Length; i++)
			{
				MiniMissionListItem miniMissionListItem = componentsInChildren[i];
				if (PersistentMissionData.missionDictionary.ContainsKey(miniMissionListItem.GetMissionID()))
				{
					WrapperGarrisonMission item = PersistentMissionData.missionDictionary[miniMissionListItem.GetMissionID()];
					if (item.MissionState == 1)
					{
						TimeSpan timeSpan = GarrisonStatus.CurrentTime() - item.StartTime;
						if ((item.MissionDuration - timeSpan).TotalSeconds <= 0)
						{
							AdventureMapPanel.instance.ShowMissionResultAction(item.MissionRecID, 0, false);
							break;
						}
					}
				}
			}
		}
        public void InitMissionList()
        {
            this.m_combatAllyListItem.gameObject.SetActive(false);
            MiniMissionListItem[] componentsInChildren = this.m_availableMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            foreach (MiniMissionListItem miniMissionListItem in componentsInChildren)
            {
                bool flag = true;
                if (PersistentMissionData.missionDictionary.ContainsKey(miniMissionListItem.GetMissionID()))
                {
                    WrapperGarrisonMission mission = PersistentMissionData.missionDictionary[miniMissionListItem.GetMissionID()];
                    if (mission.MissionState == 0)
                    {
                        flag = false;
                        miniMissionListItem.UpdateMechanicPreview(false, mission);
                    }
                }
                if (flag)
                {
                    miniMissionListItem.gameObject.transform.SetParent(null);
                    Object.Destroy(miniMissionListItem.gameObject);
                }
            }
            componentsInChildren = this.m_inProgressMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            foreach (MiniMissionListItem miniMissionListItem2 in componentsInChildren)
            {
                bool flag2 = true;
                if (PersistentMissionData.missionDictionary.ContainsKey(miniMissionListItem2.GetMissionID()) && PersistentMissionData.missionDictionary[miniMissionListItem2.GetMissionID()].MissionState != 0)
                {
                    flag2 = false;
                }
                if (flag2)
                {
                    miniMissionListItem2.gameObject.transform.SetParent(null);
                    Object.Destroy(miniMissionListItem2.gameObject);
                }
            }
            MiniMissionListItem[] componentsInChildren2 = this.m_availableMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            MiniMissionListItem[] componentsInChildren3 = this.m_inProgressMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            foreach (WrapperGarrisonMission mission2 in PersistentMissionData.missionDictionary.Values)
            {
                bool flag3 = false;
                foreach (MiniMissionListItem miniMissionListItem3 in componentsInChildren2)
                {
                    if (miniMissionListItem3.GetMissionID() == mission2.MissionRecID)
                    {
                        flag3 = true;
                        break;
                    }
                }
                if (!flag3)
                {
                    foreach (MiniMissionListItem miniMissionListItem4 in componentsInChildren3)
                    {
                        if (miniMissionListItem4.GetMissionID() == mission2.MissionRecID)
                        {
                            flag3 = true;
                            break;
                        }
                    }
                }
                if (!flag3)
                {
                    GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(mission2.MissionRecID);
                    if (record == null)
                    {
                        Debug.LogWarning("Mission Not Found: ID " + mission2.MissionRecID);
                    }
                    else if ((GARR_FOLLOWER_TYPE)record.GarrFollowerTypeID == GarrisonStatus.GarrisonFollowerType)
                    {
                        if ((record.Flags & 16u) != 0u)
                        {
                            this.m_combatAllyListItem.gameObject.SetActive(true);
                            this.m_combatAllyListItem.UpdateVisuals();
                        }
                        else
                        {
                            MiniMissionListItem miniMissionListItem5 = Object.Instantiate <MiniMissionListItem>(this.m_miniMissionListItemPrefab);
                            if (mission2.MissionState == 0)
                            {
                                miniMissionListItem5.transform.SetParent(this.m_availableMission_listContents.transform, false);
                            }
                            else
                            {
                                miniMissionListItem5.transform.SetParent(this.m_inProgressMission_listContents.transform, false);
                                this.ShowMissionStartedAnim();
                            }
                            miniMissionListItem5.SetMission(mission2);
                        }
                    }
                }
            }
            int num  = 0;
            int num2 = 0;

            PersistentMissionData.GetAvailableAndProgressCounts(ref num2, ref num);
            this.m_availableMissionsTabLabel.text  = StaticDB.GetString("AVAILABLE", null) + " - " + num2;
            this.m_inProgressMissionsTabLabel.text = StaticDB.GetString("IN_PROGRESS", null) + " - " + num;
            this.m_noMissionsAvailableLabel.gameObject.SetActive(num2 == 0);
            this.m_noMissionsInProgressLabel.gameObject.SetActive(num == 0);
        }
Пример #3
0
        public void InitMissionList()
        {
            this.m_combatAllyListItem.gameObject.SetActive(false);
            MiniMissionListItem[] componentsInChildren = this.m_availableMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            for (int i = 0; i < (int)componentsInChildren.Length; i++)
            {
                MiniMissionListItem miniMissionListItem = componentsInChildren[i];
                bool flag = true;
                if (PersistentMissionData.missionDictionary.ContainsKey(miniMissionListItem.GetMissionID()))
                {
                    WrapperGarrisonMission item = PersistentMissionData.missionDictionary[miniMissionListItem.GetMissionID()];
                    if (item.MissionState == 0)
                    {
                        flag = false;
                        miniMissionListItem.UpdateMechanicPreview(false, item);
                    }
                }
                if (flag)
                {
                    miniMissionListItem.gameObject.transform.SetParent(null);
                    UnityEngine.Object.Destroy(miniMissionListItem.gameObject);
                }
            }
            MiniMissionListItem[] miniMissionListItemArray = this.m_inProgressMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            for (int j = 0; j < (int)miniMissionListItemArray.Length; j++)
            {
                MiniMissionListItem miniMissionListItem1 = miniMissionListItemArray[j];
                bool flag1 = true;
                if (PersistentMissionData.missionDictionary.ContainsKey(miniMissionListItem1.GetMissionID()) && PersistentMissionData.missionDictionary[miniMissionListItem1.GetMissionID()].MissionState != 0)
                {
                    flag1 = false;
                }
                if (flag1)
                {
                    miniMissionListItem1.gameObject.transform.SetParent(null);
                    UnityEngine.Object.Destroy(miniMissionListItem1.gameObject);
                }
            }
            MiniMissionListItem[] componentsInChildren1     = this.m_availableMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            MiniMissionListItem[] miniMissionListItemArray1 = this.m_inProgressMission_listContents.GetComponentsInChildren <MiniMissionListItem>(true);
            foreach (WrapperGarrisonMission value in PersistentMissionData.missionDictionary.Values)
            {
                bool flag2 = false;
                MiniMissionListItem[] miniMissionListItemArray2 = componentsInChildren1;
                int num = 0;
                while (num < (int)miniMissionListItemArray2.Length)
                {
                    if (miniMissionListItemArray2[num].GetMissionID() != value.MissionRecID)
                    {
                        num++;
                    }
                    else
                    {
                        flag2 = true;
                        break;
                    }
                }
                if (!flag2)
                {
                    MiniMissionListItem[] miniMissionListItemArray3 = miniMissionListItemArray1;
                    int num1 = 0;
                    while (num1 < (int)miniMissionListItemArray3.Length)
                    {
                        if (miniMissionListItemArray3[num1].GetMissionID() != value.MissionRecID)
                        {
                            num1++;
                        }
                        else
                        {
                            flag2 = true;
                            break;
                        }
                    }
                }
                if (!flag2)
                {
                    GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(value.MissionRecID);
                    if (record == null)
                    {
                        Debug.LogWarning(string.Concat("Mission Not Found: ID ", value.MissionRecID));
                    }
                    else if (record.GarrFollowerTypeID == (uint)GarrisonStatus.GarrisonFollowerType)
                    {
                        if ((record.Flags & 16) == 0)
                        {
                            MiniMissionListItem miniMissionListItem2 = UnityEngine.Object.Instantiate <MiniMissionListItem>(this.m_miniMissionListItemPrefab);
                            if (value.MissionState != 0)
                            {
                                miniMissionListItem2.transform.SetParent(this.m_inProgressMission_listContents.transform, false);
                                this.ShowMissionStartedAnim();
                            }
                            else
                            {
                                miniMissionListItem2.transform.SetParent(this.m_availableMission_listContents.transform, false);
                            }
                            miniMissionListItem2.SetMission(value);
                        }
                        else
                        {
                            this.m_combatAllyListItem.gameObject.SetActive(true);
                            this.m_combatAllyListItem.UpdateVisuals();
                        }
                    }
                }
            }
            int num2 = 0;
            int num3 = 0;

            PersistentMissionData.GetAvailableAndProgressCounts(ref num3, ref num2);
            this.m_availableMissionsTabLabel.text  = string.Concat(StaticDB.GetString("AVAILABLE", null), " - ", num3);
            this.m_inProgressMissionsTabLabel.text = string.Concat(StaticDB.GetString("IN_PROGRESS", null), " - ", num2);
            this.m_noMissionsAvailableLabel.gameObject.SetActive(num3 == 0);
            this.m_noMissionsInProgressLabel.gameObject.SetActive(num2 == 0);
        }