private void InitMissionSites() { if (this.OnInitMissionSites != null) { this.OnInitMissionSites(); } AdventureMapMissionSite[] componentsInChildren = this.m_mapViewContentsRT.GetComponentsInChildren <AdventureMapMissionSite>(true); for (int i = 0; i < (int)componentsInChildren.Length; i++) { AdventureMapMissionSite adventureMapMissionSite = componentsInChildren[i]; if (adventureMapMissionSite != null) { StackableMapIcon component = adventureMapMissionSite.GetComponent <StackableMapIcon>(); GameObject gameObject = adventureMapMissionSite.gameObject; if (component != null) { component.RemoveFromContainer(); } if (gameObject != null) { UnityEngine.Object.Destroy(adventureMapMissionSite.gameObject); } } } foreach (WrapperGarrisonMission value in PersistentMissionData.missionDictionary.Values) { this.CreateMissionSite(value.MissionRecID); } }
private void CreateMissionSite(int garrMissionID) { GarrMissionRec record = StaticDB.garrMissionDB.GetRecord(garrMissionID); if (record == null) { Debug.LogWarning("Mission Not Found: ID " + garrMissionID); return; } if ((GARR_FOLLOWER_TYPE)record.GarrFollowerTypeID != GarrisonStatus.GarrisonFollowerType) { return; } if ((record.Flags & 16u) != 0u) { return; } if (!PersistentMissionData.missionDictionary.ContainsKey(garrMissionID)) { return; } if (PersistentMissionData.missionDictionary[garrMissionID].MissionState == 0) { return; } GameObject gameObject = Object.Instantiate <GameObject>(AdventureMapPanel.instance.m_AdvMapMissionSitePrefab); gameObject.transform.SetParent(this.m_mapViewContentsRT, 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 num6 = 1f; float num7 = 1f; Vector2 vector = new Vector3(num2 / num6, num3 / num7); RectTransform component = gameObject.GetComponent <RectTransform>(); component.anchorMin = vector; component.anchorMax = vector; component.anchoredPosition = Vector2.zero; AdventureMapMissionSite component2 = gameObject.GetComponent <AdventureMapMissionSite>(); component2.SetMission(record.ID); StackableMapIcon component3 = gameObject.GetComponent <StackableMapIcon>(); if (component3 != null) { component3.RegisterWithManager(record.AreaID); } }