예제 #1
0
 private void OnEnable()
 {
     this.GetRequestedMissionCollectionDictionary().Clear();
     this.okButton.SetActive(false);
     this.mainCanvas.renderMode = 1;
     if (GarrisonStatus.Faction() == PVP_FACTION.HORDE)
     {
         this.hordeCommander.SetActive(true);
         this.allianceCommander.SetActive(false);
     }
     else
     {
         this.hordeCommander.SetActive(false);
         this.allianceCommander.SetActive(true);
     }
     this.completedMissionsText.text = string.Empty + PersistentMissionData.GetNumCompletedMissions(false) + " Completed Missions";
     MissionListItem[] componentsInChildren = this.completedMissionListContents.GetComponentsInChildren <MissionListItem>(true);
     for (int i = 0; i < componentsInChildren.Length; i++)
     {
         Object.Destroy(componentsInChildren[i].gameObject);
     }
     MissionRewardDisplay[] componentsInChildren2 = this.missionRewardsIconArea.GetComponentsInChildren <MissionRewardDisplay>(true);
     for (int j = 0; j < componentsInChildren2.Length; j++)
     {
         Object.Destroy(componentsInChildren2[j].gameObject);
     }
     this.missionReportView.SetActive(true);
     this.missionResultsView.SetActive(false);
 }
 private void UpdateCompletedMissionsDisplay()
 {
     if (PersistentMissionData.GetNumCompletedMissions(false) > 0)
     {
         this.m_nextCompletedMissionButton.gameObject.SetActive(true);
     }
 }
예제 #3
0
 private void OnEnable()
 {
     this.GetRequestedMissionCollectionDictionary().Clear();
     this.okButton.SetActive(false);
     this.mainCanvas.renderMode = RenderMode.ScreenSpaceCamera;
     if (GarrisonStatus.Faction() != PVP_FACTION.HORDE)
     {
         this.hordeCommander.SetActive(false);
         this.allianceCommander.SetActive(true);
     }
     else
     {
         this.hordeCommander.SetActive(true);
         this.allianceCommander.SetActive(false);
     }
     this.completedMissionsText.text = string.Concat(string.Empty, PersistentMissionData.GetNumCompletedMissions(false), " Completed Missions");
     MissionListItem[] componentsInChildren = this.completedMissionListContents.GetComponentsInChildren <MissionListItem>(true);
     for (int i = 0; i < (int)componentsInChildren.Length; i++)
     {
         UnityEngine.Object.Destroy(componentsInChildren[i].gameObject);
     }
     MissionRewardDisplay[] missionRewardDisplayArray = this.missionRewardsIconArea.GetComponentsInChildren <MissionRewardDisplay>(true);
     for (int j = 0; j < (int)missionRewardDisplayArray.Length; j++)
     {
         UnityEngine.Object.Destroy(missionRewardDisplayArray[j].gameObject);
     }
     this.missionReportView.SetActive(true);
     this.missionResultsView.SetActive(false);
 }
예제 #4
0
 private void GarrisonDataResultHandler(LegionCompanionWrapper.GarrisonDataRequestResultEvent eventArgs)
 {
     PersistentFollowerData.ClearData();
     PersistentMissionData.ClearData();
     PersistentTalentData.ClearData();
     if (this.GarrisonDataResetStartedAction != null)
     {
         this.GarrisonDataResetStartedAction();
     }
     GarrisonStatus.SetFaction(eventArgs.Data.PvpFaction);
     GarrisonStatus.SetGarrisonServerConnectTime(eventArgs.Data.ServerTime);
     GarrisonStatus.SetCurrencies(eventArgs.Data.GoldCurrency, eventArgs.Data.OrderhallResourcesCurrency, eventArgs.Data.WarResourcesCurrency);
     GarrisonStatus.SetCharacterName(eventArgs.Data.CharacterName);
     GarrisonStatus.SetCharacterLevel(eventArgs.Data.CharacterLevel);
     GarrisonStatus.SetCharacterClass(eventArgs.Data.CharacterClassID);
     for (int i = 0; i < eventArgs.Data.Followers.Count; i++)
     {
         WrapperGarrisonFollower wrapperGarrisonFollower = eventArgs.Data.Followers[i];
         if (StaticDB.garrFollowerDB.GetRecord(wrapperGarrisonFollower.GarrFollowerID) != null)
         {
             PersistentFollowerData.AddOrUpdateFollower(wrapperGarrisonFollower);
             bool flag = (wrapperGarrisonFollower.Flags & 8) != 0;
             if (flag && wrapperGarrisonFollower.Durability <= 0 && this.TroopExpiredAction != null)
             {
                 this.TroopExpiredAction(wrapperGarrisonFollower);
             }
         }
     }
     for (int j = 0; j < eventArgs.Data.Missions.Count; j++)
     {
         PersistentMissionData.AddMission(eventArgs.Data.Missions[j]);
     }
     for (int k = 0; k < eventArgs.Data.Talents.Count; k++)
     {
         PersistentTalentData.AddOrUpdateTalent(eventArgs.Data.Talents[k]);
     }
     if (!GarrisonStatus.Initialized)
     {
         this.GarrisonDataResetFinishedAction += this.HandleEnterWorld;
         GarrisonStatus.Initialized            = true;
     }
     if (this.GarrisonDataResetFinishedAction != null)
     {
         this.GarrisonDataResetFinishedAction();
     }
     if (this.FollowerDataChangedAction != null)
     {
         this.FollowerDataChangedAction();
     }
     Singleton <Login> .Instance.MobileLoginDataRequestComplete();
 }
예제 #5
0
 public void MobileLoggedIn()
 {
     PersistentArmamentData.ClearData();
     PersistentBountyData.ClearData();
     PersistentEquipmentData.ClearData();
     PersistentFollowerData.ClearData();
     PersistentFollowerData.ClearPreMissionFollowerData();
     PersistentMissionData.ClearData();
     PersistentShipmentData.ClearData();
     PersistentTalentData.ClearData();
     MissionDataCache.ClearData();
     WorldQuestData.ClearData();
     ItemStatCache.instance.ClearItemStats();
     GarrisonStatus.Initialized = false;
     MobileClient.SetCommunityID(Singleton <CharacterData> .Instance.CommunityID);
     MobileClient.Initialize();
     Singleton <GarrisonWrapper> .Instance.MobileRequestData();
 }
예제 #6
0
 private void ClaimMissionBonusResultHandler(LegionCompanionWrapper.ClaimMissionBonusResultEvent msg)
 {
     PersistentMissionData.UpdateMission(msg.Result.Mission);
     AdventureMapMissionSite[] componentsInChildren = AdventureMapPanel.instance.m_mapViewContentsRT.GetComponentsInChildren <AdventureMapMissionSite>(true);
     foreach (AdventureMapMissionSite adventureMapMissionSite in componentsInChildren)
     {
         if (!adventureMapMissionSite.m_isStackablePreview)
         {
             if (adventureMapMissionSite.GetGarrMissionID() == msg.Result.GarrMissionID)
             {
                 if (!adventureMapMissionSite.gameObject.activeSelf)
                 {
                     adventureMapMissionSite.gameObject.SetActive(true);
                 }
                 adventureMapMissionSite.HandleClaimMissionBonusResult(msg.Result.GarrMissionID, msg.Result.AwardOvermax, msg.Result.Result);
                 break;
             }
         }
     }
 }
예제 #7
0
 private void MissionAddedHandler(LegionCompanionWrapper.MissionAddedEvent eventArgs)
 {
     if (eventArgs.Result == 0 && eventArgs.Mission.MissionRecID != 0)
     {
         PersistentMissionData.AddMission(eventArgs.Mission);
     }
     else
     {
         Debug.Log(string.Concat(new object[]
         {
             "Error adding mission: ",
             ((GARRISON_RESULT)eventArgs.Result).ToString(),
             " Mission ID:",
             eventArgs.Mission.MissionRecID
         }));
     }
     if (this.MissionAddedAction != null)
     {
         this.MissionAddedAction(eventArgs.Mission.MissionRecID, eventArgs.Result);
     }
 }
		private void Update()
		{
			int numCompletedMissions = PersistentMissionData.GetNumCompletedMissions(true);
			if (numCompletedMissions != this.m_numReadyTroops)
			{
				this.m_theActualButton.SetActive(numCompletedMissions > 0);
				if (numCompletedMissions == 0)
				{
					this.ClearEffects();
				}
				if (numCompletedMissions > this.m_numReadyTroops)
				{
					this.ClearEffects();
					this.m_glowHandle = UiAnimMgr.instance.PlayAnim("MinimapPulseAnim", this.m_theActualButton.transform, Vector3.zero, 3f, 0f);
					this.m_glowLoopHandle = UiAnimMgr.instance.PlayAnim("MinimapLoopPulseAnim", this.m_theActualButton.transform, Vector3.zero, 3f, 0f);
					iTween.PunchScale(this.m_theActualButton, iTween.Hash(new object[] { "name", "RecruitWobble", "x", this.amount, "y", this.amount, "time", this.duration, "delay", 0.1f, "looptype", iTween.LoopType.none }));
					iTween.PunchScale(this.m_theActualButton, iTween.Hash(new object[] { "name", "RecruitWobbleL", "x", this.amount, "y", this.amount, "time", this.duration, "delay", this.delay, "looptype", iTween.LoopType.loop }));
					iTween.PunchRotation(this.m_theActualButton, iTween.Hash(new object[] { "name", "RecruitButtonSwing", "z", -30f, "time", 2f }));
					Main.instance.m_UISound.Play_LootReady();
				}
				this.m_numReadyTroops = numCompletedMissions;
				this.m_numReadyTroopsText.text = string.Concat(string.Empty, (this.m_numReadyTroops <= 0 ? string.Empty : string.Concat(string.Empty, this.m_numReadyTroops)));
			}
		}
예제 #9
0
 private void CompleteMissionResultHandler(LegionCompanionWrapper.GarrisonCompleteMissionResultEvent eventArgs)
 {
     PersistentMissionData.UpdateMission(eventArgs.Result.Mission);
     AdventureMapMissionSite[] componentsInChildren = AdventureMapPanel.instance.m_mapViewContentsRT.GetComponentsInChildren <AdventureMapMissionSite>(true);
     foreach (AdventureMapMissionSite adventureMapMissionSite in componentsInChildren)
     {
         if (!adventureMapMissionSite.m_isStackablePreview)
         {
             if (adventureMapMissionSite.GetGarrMissionID() == eventArgs.Result.GarrMissionID)
             {
                 if (!adventureMapMissionSite.gameObject.activeSelf)
                 {
                     adventureMapMissionSite.gameObject.SetActive(true);
                 }
                 adventureMapMissionSite.HandleCompleteMissionResult(eventArgs.Result.GarrMissionID, eventArgs.Result.BonusRollSucceeded);
                 break;
             }
         }
     }
     LegionCompanionWrapper.RequestShipmentTypes((int)GarrisonStatus.GarrisonType);
     LegionCompanionWrapper.RequestShipments((int)GarrisonStatus.GarrisonType);
     LegionCompanionWrapper.RequestFollowerEquipment((int)GarrisonStatus.GarrisonFollowerType);
     LegionCompanionWrapper.RequestGarrisonData((int)GarrisonStatus.GarrisonType);
 }
예제 #10
0
 private void Update()
 {
     this.completedMissionsText.text = string.Empty + PersistentMissionData.GetNumCompletedMissions(false) + " Completed Missions";
 }
예제 #11
0
 public static void UpdateMission(WrapperGarrisonMission mission)
 {
     PersistentMissionData.instance.m_missionDictionary.Remove(mission.MissionRecID);
     PersistentMissionData.AddMission(mission);
 }
예제 #12
0
        private void Update()
        {
            switch (this.m_navButtonType)
            {
            case OrderHallNavButton.NavButtonType.missions:
            {
                int numCompletedMissions = PersistentMissionData.GetNumCompletedMissions(true);
                if (numCompletedMissions == 0 && this.m_notificationBadgeRoot.activeSelf)
                {
                    this.m_notificationBadgeRoot.SetActive(false);
                }
                else if (numCompletedMissions > 0)
                {
                    if (!this.m_notificationBadgeRoot.activeSelf)
                    {
                        this.m_notificationBadgeRoot.SetActive(true);
                    }
                    if (this.m_notificationPulseHandle == null)
                    {
                        this.m_notificationPulseHandle = UiAnimMgr.instance.PlayAnim("MinimapLoopPulseAnim", this.m_notificationBadgeRoot.transform, Vector3.zero, 1f, 0f);
                    }
                    else
                    {
                        this.RealignNotificationPulse();
                    }
                    this.m_notificationBadgeText.text = string.Empty + numCompletedMissions;
                }
                break;
            }

            case OrderHallNavButton.NavButtonType.recruit:
            {
                int numReadyShipments = PersistentShipmentData.GetNumReadyShipments();
                if (numReadyShipments == 0 && this.m_notificationBadgeRoot.activeSelf)
                {
                    this.m_notificationBadgeRoot.SetActive(false);
                }
                else if (numReadyShipments > 0)
                {
                    if (!this.m_notificationBadgeRoot.activeSelf)
                    {
                        this.m_notificationBadgeRoot.SetActive(true);
                    }
                    if (this.m_notificationPulseHandle == null)
                    {
                        this.m_notificationPulseHandle = UiAnimMgr.instance.PlayAnim("MinimapLoopPulseAnim", this.m_notificationBadgeRoot.transform, Vector3.zero, 1f, 0f);
                    }
                    else
                    {
                        this.RealignNotificationPulse();
                    }
                    this.m_notificationBadgeText.text = string.Empty + numReadyShipments;
                }
                break;
            }

            case OrderHallNavButton.NavButtonType.talents:
            {
                bool flag = this.m_gamePanel.m_talentTreePanel.TalentIsReadyToPlayGreenCheckAnim();
                if (!flag && this.m_notificationBadgeRoot.activeSelf)
                {
                    this.m_notificationBadgeRoot.SetActive(false);
                }
                else if (flag && !this.m_notificationBadgeRoot.activeSelf)
                {
                    this.m_notificationBadgeRoot.SetActive(true);
                    this.m_notificationBadgeText.text = "1";
                    if (this.m_notificationPulseHandle == null)
                    {
                        this.m_notificationPulseHandle = UiAnimMgr.instance.PlayAnim("MinimapLoopPulseAnim", this.m_notificationBadgeRoot.transform, Vector3.zero, 1f, 0f);
                    }
                    else
                    {
                        this.RealignNotificationPulse();
                    }
                }
                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);
        }
예제 #14
0
 private void Update()
 {
     this.completedMissionsText.text = string.Concat(string.Empty, PersistentMissionData.GetNumCompletedMissions(false), " Completed Missions");
 }
예제 #15
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);
        }