Beispiel #1
0
        public List <CampaignMissionVO> GetAllMissionsInProgress()
        {
            IDataController          dataController = Service.Get <IDataController>();
            List <CampaignMissionVO> list           = new List <CampaignMissionVO>();

            foreach (Mission current in this.missions.Values)
            {
                CampaignMissionVO optional = dataController.GetOptional <CampaignMissionVO>(current.Uid);
                if (optional != null && this.IsMissionInProgress(optional) && !optional.IsCombatMission())
                {
                    list.Add(optional);
                }
            }
            return(list);
        }
Beispiel #2
0
 public bool IsMissionInProgress(CampaignMissionVO missionType)
 {
     if (missionType.IsCombatMission())
     {
         return(false);
     }
     if (this.missions.ContainsKey(missionType.Uid))
     {
         Mission mission = this.missions[missionType.Uid];
         if (!mission.Completed && !mission.Collected)
         {
             return(mission.Activated);
         }
     }
     return(false);
 }
Beispiel #3
0
        private void UpdateMissionItem(string itemUid, CampaignMissionVO missionType, bool selected)
        {
            UXSprite uXSprite = (!this.selectedCampaign.IsMiniCampaign()) ? this.missionGrid.GetSubElement <UXSprite>(itemUid, "SpriteObjectiveImage") : null;

            if (uXSprite != null)
            {
                if (missionType.Grind)
                {
                    uXSprite.SpriteName = "icoRecBattle";
                }
                else if (missionType.IsChallengeMission())
                {
                    uXSprite.SpriteName = "IcoMissions";
                }
                else if (missionType.IsCombatMission())
                {
                    uXSprite.SpriteName = ((missionType.MissionType != MissionType.Attack) ? "icoDefend" : "IcoAttack");
                }
                else if (missionType.HasPvpCondition() || missionType.MissionType == MissionType.Pvp)
                {
                    uXSprite.SpriteName = "IcoWar";
                }
                else
                {
                    uXSprite.SpriteName = "IcoBuild";
                }
            }
            UXCheckbox uXCheckbox = (!this.selectedCampaign.IsMiniCampaign()) ? this.missionGrid.GetSubElement <UXCheckbox>(itemUid, "ButtonObjectiveCard") : this.missionGrid.GetSubElement <UXCheckbox>(itemUid, "ButtonObjectiveCardDifficulty");

            uXCheckbox.Tag        = missionType;
            uXCheckbox.OnSelected = new UXCheckboxSelectedDelegate(this.OnMissionItemSelected);
            uXCheckbox.Selected   = selected;
            uXCheckbox.RadioGroup = 0;
            if (this.selectedCampaign.IsMiniCampaign())
            {
                UXLabel subElement = this.missionGrid.GetSubElement <UXLabel>(itemUid, "LabelDifficulty");
                subElement.Text    = LangUtils.GetMissionDifficultyLabel(itemUid);
                uXCheckbox.Visible = !base.Player.CampaignProgress.IsMissionLocked(missionType);
                return;
            }
            UXLabel subElement2 = this.missionGrid.GetSubElement <UXLabel>(itemUid, "LabelObjectiveNumber");

            subElement2.Text = missionType.UnlockOrder.ToString();
            UXSprite  subElement3 = this.missionGrid.GetSubElement <UXSprite>(itemUid, "SpriteMissionCheck");
            UXSprite  subElement4 = this.missionGrid.GetSubElement <UXSprite>(itemUid, "SpriteIcoMissionLocked");
            UXElement subElement5 = this.missionGrid.GetSubElement <UXElement>(itemUid, "ObjectiveStars");
            UXSlider  subElement6 = this.missionGrid.GetSubElement <UXSlider>(itemUid, "MissionSelectPbar");

            if (base.Player.CampaignProgress.IsMissionInProgress(missionType) && missionType.MissionType != MissionType.Pvp)
            {
                int num;
                int num2;
                base.Player.CampaignProgress.GetMissionProgress(missionType, out num, out num2);
                subElement6.Value = (float)num / (float)num2;
            }
            else
            {
                subElement6.Visible = false;
            }
            if (base.Player.CampaignProgress.IsMissionLocked(missionType))
            {
                uXCheckbox.Enabled  = false;
                uXSprite.Visible    = false;
                subElement3.Visible = false;
                subElement5.Visible = false;
                subElement6.Visible = false;
                subElement4.Visible = true;
                return;
            }
            subElement4.Visible = false;
            subElement5.Visible = true;
            int missionEarnedStars = base.Player.CampaignProgress.GetMissionEarnedStars(missionType);

            for (int i = 1; i <= missionEarnedStars; i++)
            {
                UXSprite subElement7 = this.missionGrid.GetSubElement <UXSprite>(itemUid, "SpriteStar" + i);
                subElement7.SpriteName = "CampaignStarOn";
            }
            if (missionType.Grind && base.Player.CampaignProgress.IsGrindComplete(missionType))
            {
                subElement3.Visible = true;
                uXSprite.Visible    = false;
            }
            else if (base.Player.CampaignProgress.IsMissionCompleted(missionType))
            {
                if (base.Player.CampaignProgress.IsMissionCollected(missionType))
                {
                    subElement3.Visible = true;
                    uXSprite.Visible    = false;
                }
                else
                {
                    uXSprite.Visible    = true;
                    subElement3.Visible = false;
                }
            }
            else
            {
                subElement3.Visible = false;
            }
        }