private void InitMissionSites() { if (this.OnInitMissionSites != null) { this.OnInitMissionSites.Invoke(); } AdventureMapMissionSite[] componentsInChildren = this.m_missionAndWordQuestArea.get_transform().GetComponentsInChildren <AdventureMapMissionSite>(true); AdventureMapMissionSite[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { AdventureMapMissionSite adventureMapMissionSite = array[i]; if (adventureMapMissionSite != null) { Object.DestroyImmediate(adventureMapMissionSite.get_gameObject()); } } IEnumerator enumerator = PersistentMissionData.missionDictionary.get_Values().GetEnumerator(); try { while (enumerator.MoveNext()) { JamGarrisonMobileMission jamGarrisonMobileMission = (JamGarrisonMobileMission)enumerator.get_Current(); this.CreateMissionSite(jamGarrisonMobileMission.MissionRecID); } } finally { IDisposable disposable = enumerator as IDisposable; if (disposable != null) { disposable.Dispose(); } } }
private void CreateMissionSite(int garrMissionID) { GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(garrMissionID); if (record == null) { Debug.LogWarning("Mission Not Found: ID " + garrMissionID); return; } if (record.GarrFollowerTypeID != 4u) { return; } if ((record.Flags & 16u) != 0u) { return; } if (!PersistentMissionData.missionDictionary.ContainsKey(garrMissionID)) { return; } JamGarrisonMobileMission jamGarrisonMobileMission = (JamGarrisonMobileMission)PersistentMissionData.missionDictionary.get_Item(garrMissionID); if (jamGarrisonMobileMission.MissionState == 0) { return; } GameObject gameObject = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapMissionSitePrefab); gameObject.get_transform().SetParent(this.m_missionAndWordQuestArea.get_transform(), false); float num = 1.84887111f; float num2 = record.Mappos_x * num; float num3 = record.Mappos_y * -num; float num4 = -272.5694f; float num5 = 1318.388f; num2 += num4; num3 += num5; float width = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_width(); float height = this.m_worldMapLowDetail.get_sprite().get_textureRect().get_height(); Vector2 vector = new Vector3(num2 / width, num3 / height); RectTransform component = gameObject.GetComponent <RectTransform>(); component.set_anchorMin(vector); component.set_anchorMax(vector); component.set_anchoredPosition(Vector2.get_zero()); AdventureMapMissionSite component2 = gameObject.GetComponent <AdventureMapMissionSite>(); component2.SetMission(record.ID); StackableMapIcon component3 = gameObject.GetComponent <StackableMapIcon>(); if (component3 != null) { component3.RegisterWithManager(); } }
public void ZoomToNextCompleteMission() { AdventureMapMissionSite[] componentsInChildren = AdventureMapPanel.instance.m_missionAndWordQuestArea.GetComponentsInChildren <AdventureMapMissionSite>(true); AdventureMapMissionSite[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { AdventureMapMissionSite adventureMapMissionSite = array[i]; if (!adventureMapMissionSite.m_isStackablePreview) { if (adventureMapMissionSite.m_completeMissionGroup.get_gameObject().get_activeSelf()) { adventureMapMissionSite.JustZoomToMission(); break; } } } }
private void Update() { int num = 0; AdventureMapMissionSite[] componentsInChildren = AdventureMapPanel.instance.m_missionAndWordQuestArea.GetComponentsInChildren <AdventureMapMissionSite>(true); AdventureMapMissionSite[] array = componentsInChildren; for (int i = 0; i < array.Length; i++) { AdventureMapMissionSite adventureMapMissionSite = array[i]; if (!adventureMapMissionSite.m_isStackablePreview) { if (adventureMapMissionSite.m_completeMissionGroup.get_gameObject().get_activeSelf()) { num++; } } } if (num != this.m_numReadyTroops) { this.m_theActualButton.SetActive(num > 0); if (num == 0) { this.ClearEffects(); } if (num > this.m_numReadyTroops) { this.ClearEffects(); this.m_glowHandle = UiAnimMgr.instance.PlayAnim("MinimapPulseAnim", this.m_theActualButton.get_transform(), Vector3.get_zero(), 3f, 0f); this.m_glowLoopHandle = UiAnimMgr.instance.PlayAnim("MinimapLoopPulseAnim", this.m_theActualButton.get_transform(), Vector3.get_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 })); iTween.PunchRotation(this.m_numReadyTroopsTextBG, iTween.Hash(new object[] { "name", "RecruitNumSwing", "z", -50f, "time", 3f })); Main.instance.m_UISound.Play_LootReady(); } this.m_numReadyTroops = num; this.m_numReadyTroopsText.set_text(string.Empty + ((this.m_numReadyTroops <= 0) ? string.Empty : (string.Empty + this.m_numReadyTroops))); this.m_numReadyTroopsTextBG.SetActive(this.m_numReadyTroops > 0); } }