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);
            }
        }