Exemplo n.º 1
0
    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();
            }
        }
    }
Exemplo n.º 2
0
    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);
        }
    }