Beispiel #1
0
        public override void OnActivate(int pinID)
        {
            string          str1       = (string)null;
            string          str2       = (string)null;
            TowerFloorParam towerFloor = MonoSingleton <GameManager> .Instance.FindTowerFloor(GlobalVars.SelectedQuestID);

            if (towerFloor != null)
            {
                QuestParam questParam = towerFloor.GetQuestParam();
                if (questParam != null)
                {
                    str1 = questParam.iname;
                }
            }
            if (pinID == 0 && str1 != null)
            {
                str2 = PlayerPrefsUtility.GetString(PlayerPrefsUtility.CONFIRM_TOWER_MISSION_QUEST_ID, string.Empty);
            }
            if (str1 == str2)
            {
                this.ActivateOutputLinks(1);
                PlayerPrefsUtility.SetString(PlayerPrefsUtility.CONFIRM_TOWER_MISSION_QUEST_ID, string.Empty, true);
            }
            else
            {
                this.ActivateOutputLinks(2);
            }
        }
Beispiel #2
0
        private bool IsChooseRoom(MultiPlayAPIRoom room)
        {
            GameManager instance = MonoSingleton <GameManager> .Instance;
            PlayerData  player   = instance.Player;
            PartyData   party    = player.Partys[2];
            QuestParam  quest    = instance.FindQuest(room.quest.iname);
            bool        flag     = false;

            if (room.limit == 0)
            {
                return(true);
            }
            if (party != null)
            {
                flag = true;
                for (int index = 0; index < (int)quest.unitNum; ++index)
                {
                    long unitUniqueId = party.GetUnitUniqueID(index);
                    if (unitUniqueId <= 0L)
                    {
                        flag = false;
                        break;
                    }
                    UnitData unitDataByUniqueId = player.FindUnitDataByUniqueID(unitUniqueId);
                    if (unitDataByUniqueId == null)
                    {
                        flag = false;
                        break;
                    }
                    flag &= unitDataByUniqueId.CalcLevel() >= room.unitlv;
                }
            }
            return(flag);
        }
        private void AddPanel(QuestParam questparam, QuestParam[] availableQuests)
        {
            if (questparam == null || questparam.IsMulti)
            {
                return;
            }
            GameObject  gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.QuestListItemTemplate);
            SRPG_Button component1 = (SRPG_Button)gameObject.GetComponent <SRPG_Button>();

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component1, (UnityEngine.Object)null))
            {
                component1.AddListener(new SRPG_Button.ButtonClickEvent(this.OnQuestSelect));
            }
            this.mGainedQuests.Add(gameObject);
            Button component2 = (Button)gameObject.GetComponent <Button>();

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component2, (UnityEngine.Object)null))
            {
                bool flag1 = questparam.IsDateUnlock(-1L);
                bool flag2 = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p == questparam)) != null;
                ((Selectable)component2).set_interactable(flag1 && flag2);
            }
            DataSource.Bind <QuestParam>(gameObject, questparam);
            gameObject.get_transform().SetParent((Transform)this.QuestListParent, false);
            gameObject.SetActive(true);
        }
 public void UpdateParam(TowerFloorParam param, int floorNo)
 {
     if (param == null)
     {
         this.SetVisible(TowerQuestListItem.Type.Unknown);
     }
     else
     {
         QuestParam questParam = param.Clone((QuestParam)null, true);
         bool       flag       = questParam.IsQuestCondition();
         if (flag && questParam.state != QuestStates.Cleared)
         {
             this.SetVisible(TowerQuestListItem.Type.Current);
         }
         else if (questParam.state == QuestStates.Cleared)
         {
             this.SetVisible(TowerQuestListItem.Type.Cleared);
         }
         else if (!flag)
         {
             this.SetVisible(TowerQuestListItem.Type.Locked);
         }
         if (param != null && Object.op_Inequality((Object)this.mText, (Object)null))
         {
             this.mText.set_text(param.title + " " + param.name);
         }
         if (!Object.op_Inequality((Object)this.m_FloorText, (Object)null))
         {
             return;
         }
         this.m_FloorText.set_text(param.GetFloorNo().ToString() + "!");
     }
 }
Beispiel #5
0
        public void Deserialize(JSON_ReqTowerResuponse.Json_TowerStatus json)
        {
            this.status       = new TowerResuponse.Status();
            this.status.fname = json.fname;
            this.status.state = json.questStates;
            TowerFloorParam towerFloor = MonoSingleton <GameManager> .Instance.FindTowerFloor(this.status.fname);

            if (towerFloor == null)
            {
                return;
            }
            List <TowerFloorParam> towerFloors = MonoSingleton <GameManager> .Instance.FindTowerFloors(towerFloor.tower_id);

            List <QuestParam> referenceQuestList = new List <QuestParam>();

            for (short index = 0; (int)index < towerFloors.Count; ++index)
            {
                towerFloors[(int)index].FloorIndex = index;
                referenceQuestList.Add(towerFloors[(int)index].GetQuestParam());
            }
            QuestParam questParam = towerFloor.GetQuestParam();

            using (List <QuestParam> .Enumerator enumerator = referenceQuestList.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    enumerator.Current.state = QuestStates.New;
                }
            }
            this.SetQuestState(referenceQuestList, questParam, QuestStates.Cleared, true);
            questParam.state = this.status.state;
        }
        public override void OnActivate(int pinID)
        {
            RankingQuestParam rankingQuestParam = GlobalVars.SelectedRankingQuestParam;

            if (GlobalVars.SelectedRankingQuestParam == null)
            {
                return;
            }
            QuestParam quest = MonoSingleton <GameManager> .Instance.FindQuest(rankingQuestParam.iname);

            switch (pinID)
            {
            case 50:
                this.ExecRequest((WebAPI) new FlowNode_ReqQuestRanking.API_ReqQuestRanking(rankingQuestParam.schedule_id, rankingQuestParam.type, quest.iname, 0, false, new Network.ResponseCallback(this.ResponseCallback_RequestRankingTopOwn)));
                break;

            case 100:
                this.ExecRequest((WebAPI) new FlowNode_ReqQuestRanking.API_ReqQuestRanking(rankingQuestParam.schedule_id, rankingQuestParam.type, quest.iname, 0, false, new Network.ResponseCallback(this.ResponseCallback_RequestRankingTop)));
                break;

            case 200:
                this.ExecRequest((WebAPI) new FlowNode_ReqQuestRanking.API_ReqQuestRanking(rankingQuestParam.schedule_id, rankingQuestParam.type, quest.iname, 0, true, new Network.ResponseCallback(this.ResponseCallback_RequestRankingOwn)));
                break;
            }
        }
Beispiel #7
0
        public void Activated(int pinID)
        {
            this.mCurrentQuest = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

            this.mCurrentPage = 1;
            this.Connect();
        }
        private void RefreshSubPanel(int index = -1)
        {
            this.ClearPanel();
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.MainPanelCloseBtn, (UnityEngine.Object)null))
            {
                DebugUtility.LogWarning("UnitEvolutionWindow.cs => RefreshSubPanel():MainPanelCloseBtn is Null References!");
            }
            else
            {
                ((Component)this.MainPanelCloseBtn).get_gameObject().SetActive(false);
                if (index < 0)
                {
                    DebugUtility.LogWarning("UnitEvolutionWindow.cs => RefreshSubPanel():index is 0!");
                }
                else
                {
                    RecipeParam currentRecipe = this.GetCurrentRecipe(this.mCurrentUnit);
                    if (currentRecipe == null)
                    {
                        DebugUtility.LogError("UnitEvolutionWindow.cs => RefreshSubPanel():recipeParam is Null References!");
                    }
                    else
                    {
                        ItemParam itemParam = MonoSingleton <GameManager> .GetInstanceDirect().GetItemParam(currentRecipe.items[index].iname);

                        if (itemParam == null)
                        {
                            DebugUtility.LogError("UnitEvolutionWindow.cs => RefreshSubPanel():itemParam is Null References!");
                        }
                        else
                        {
                            this.SubPanel.SetActive(true);
                            DataSource.Bind <ItemParam>(this.SubPanel, itemParam);
                            GameParameter.UpdateAll(this.SubPanel.get_gameObject());
                            if (this.mLastSelectItemIname != itemParam.iname)
                            {
                                this.ResetScrollPosition();
                                this.mLastSelectItemIname = itemParam.iname;
                            }
                            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
                            {
                                return;
                            }
                            QuestParam[]      availableQuests   = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
                            List <QuestParam> itemDropQuestList = QuestDropParam.Instance.GetItemDropQuestList(itemParam, GlobalVars.GetDropTableGeneratedDateTime());
                            using (List <QuestParam> .Enumerator enumerator = itemDropQuestList.GetEnumerator())
                            {
                                while (enumerator.MoveNext())
                                {
                                    QuestParam qp = enumerator.Current;
                                    DebugUtility.Log("QuestList:" + qp.iname);
                                    bool isActive = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == qp.iname)) != null;
                                    this.AddList(qp, isActive);
                                }
                            }
                        }
                    }
                }
            }
        }
Beispiel #9
0
 private void CreateItems(QuestParam questParam)
 {
     if (questParam.bonusObjective == null)
     {
         return;
     }
     for (int index = 0; index < questParam.bonusObjective.Length; ++index)
     {
         QuestBonusObjective bonusObjective = questParam.bonusObjective[index];
         QuestMissionItem    rewardItem     = this.CreateRewardItem(bonusObjective);
         if (bonusObjective.itemType == RewardType.ConceptCard)
         {
             ConceptCardIcon componentInChildren = (ConceptCardIcon)((Component)rewardItem).get_gameObject().GetComponentInChildren <ConceptCardIcon>();
             if (UnityEngine.Object.op_Inequality((UnityEngine.Object)componentInChildren, (UnityEngine.Object)null))
             {
                 ConceptCardData cardDataForDisplay = ConceptCardData.CreateConceptCardDataForDisplay(bonusObjective.item);
                 componentInChildren.Setup(cardDataForDisplay);
             }
         }
         rewardItem.SetGameParameterIndex(index);
         this.m_ListItems.Add(new QuestDetail.ViewParam()
         {
             ListItem     = rewardItem,
             MissionIndex = index,
             IsAchieved   = questParam.IsMissionClear(index)
         });
         GameParameter.UpdateAll(((Component)rewardItem).get_gameObject());
     }
 }
        public bool IsOpenLinekedQuest(DateTime now, bool is_grace)
        {
            if (!this.IsLinekedQuest)
            {
                return(true);
            }
            QuestParam quest = MonoSingleton <GameManager> .Instance.FindQuest(this.linked_quest);

            if (quest == null || !MonoSingleton <GameManager> .Instance.Player.IsBeginner() && quest.IsBeginner)
            {
                return(false);
            }
            bool flag;

            if (quest.IsJigen)
            {
                DateTime dateTime1 = TimeManager.FromUnixTime(quest.start);
                DateTime dateTime2 = this.AddTimeSpan(TimeManager.FromUnixTime(quest.end), !is_grace ? this.GetQuestGrace() : this.GetGraceRewardSpan());
                flag = dateTime1 <= now && now < dateTime2;
            }
            else
            {
                flag = !quest.hidden;
            }
            return(flag);
        }
Beispiel #11
0
 private void SetDeactivateNotAvailableUnit()
 {
     using (List <GameObject> .Enumerator enumerator1 = this.mCurrentUnitObjects.GetEnumerator())
     {
         while (enumerator1.MoveNext())
         {
             GameObject current = enumerator1.Current;
             QuestBookmarkWindow.ItemAndQuests dataOfClass = DataSource.FindDataOfClass <QuestBookmarkWindow.ItemAndQuests>(current, (QuestBookmarkWindow.ItemAndQuests)null);
             QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
             bool         flag            = false;
             long         currentTime     = Network.GetServerTime();
             using (List <QuestParam> .Enumerator enumerator2 = dataOfClass.quests.GetEnumerator())
             {
                 while (enumerator2.MoveNext())
                 {
                     QuestParam quest = enumerator2.Current;
                     if (((IEnumerable <QuestParam>)availableQuests).Any <QuestParam>((Func <QuestParam, bool>)(q =>
                     {
                         if (this.IsAvailableQuest(q, currentTime))
                         {
                             return(quest.iname == q.iname);
                         }
                         return(false);
                     })))
                     {
                         flag = true;
                         break;
                     }
                 }
             }
             ((BookmarkUnit)current.GetComponent <BookmarkUnit>()).Overlay.SetActive(!flag);
         }
     }
 }
Beispiel #12
0
 public ConditionsResult_QuestClear(QuestParam questParam)
 {
     this.mQuestParam   = questParam;
     this.mIsClear      = questParam.state == QuestStates.Cleared;
     this.mTargetValue  = 2;
     this.mCurrentValue = (int)questParam.state;
 }
Beispiel #13
0
        private bool RefreshRankingQuests()
        {
            List <RankingQuestParam> rankingQuesstParams = MonoSingleton <GameManager> .Instance.AvailableRankingQuesstParams;
            List <QuestParam>        questParamList      = new List <QuestParam>();

            for (int index = 0; index < rankingQuesstParams.Count; ++index)
            {
                QuestParam quest = MonoSingleton <GameManager> .Instance.FindQuest(rankingQuesstParams[index].iname);

                if (quest != null && questParamList.Find((Predicate <QuestParam>)(q => q.iname == quest.iname)) == null)
                {
                    questParamList.Add(quest);
                }
            }
            this.mQuests.Clear();
            for (int index = 0; index < questParamList.Count; ++index)
            {
                QuestParam questParam = questParamList[index];
                if (!questParamList[index].IsMulti && questParam.type != QuestTypes.Gps && (questParam.IsDateUnlock(-1L) && questParam.IsQuestCondition()))
                {
                    this.mQuests.Add(questParam);
                }
            }
            this.RefreshChapterTimer();
            return(this.mQuests.Count > 0);
        }
Beispiel #14
0
        private bool RefreshQuests()
        {
            this.mCurrentChapter = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

            this.mQuests.Clear();
            QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
            for (int index = 0; index < availableQuests.Length; ++index)
            {
                QuestParam questParam = availableQuests[index];
                if (!availableQuests[index].IsMulti && (this.ShowAllQuests || this.mCurrentChapter != null && !(this.mCurrentChapter.iname != questParam.ChapterID)))
                {
                    if (this.mCurrentChapter.IsGpsQuest())
                    {
                        if (!questParam.gps_enable || questParam.type != QuestTypes.Gps)
                        {
                            continue;
                        }
                    }
                    else if (questParam.type == QuestTypes.Gps)
                    {
                        continue;
                    }
                    if (questParam.IsDateUnlock(-1L))
                    {
                        this.mQuests.Add(questParam);
                    }
                }
            }
            this.RefreshChapterTimer();
            return(this.mQuests.Count > 0);
        }
Beispiel #15
0
        private void OnSelectItem(GameObject go)
        {
            QuestParam dataOfClass = DataSource.FindDataOfClass <QuestParam>(go, (QuestParam)null);

            if (dataOfClass == null || !Object.op_Inequality((Object)QuestDropParam.Instance, (Object)null))
            {
                return;
            }
            bool flag = QuestDropParam.Instance.IsChangedQuestDrops(dataOfClass);

            GlobalVars.SetDropTableGeneratedTime();
            if (flag && !QuestDropParam.Instance.IsWarningPopupDisable)
            {
                UIUtility.NegativeSystemMessage((string)null, LocalizedText.Get("sys.PARTYEDITOR_DROP_TABLE"), (UIUtility.DialogResultEvent)(obj =>
                {
                    ListItemEvents component = (ListItemEvents)go.GetComponent <ListItemEvents>();
                    if (!Object.op_Inequality((Object)component, (Object)null))
                    {
                        return;
                    }
                    component.OpenDetail();
                }), (GameObject)null, false, -1);
            }
            else
            {
                GlobalVars.SelectedQuestID = dataOfClass.iname;
                DebugUtility.Log("Select Quest:" + GlobalVars.SelectedQuestID);
                FlowNode_GameObject.ActivateOutputLinks((Component)this, 101);
            }
        }
Beispiel #16
0
 private void Start()
 {
     if (Object.op_Inequality((Object)this.StoryQuestItemTemplate, (Object)null))
     {
         this.StoryQuestItemTemplate.get_gameObject().SetActive(false);
     }
     if (this.IsRestore)
     {
         // ISSUE: object of a compiler-generated type is created
         // ISSUE: variable of a compiler-generated type
         UnitCharacterQuestWindow.\u003CStart\u003Ec__AnonStorey27D startCAnonStorey27D = new UnitCharacterQuestWindow.\u003CStart\u003Ec__AnonStorey27D();
         // ISSUE: reference to a compiler-generated field
         startCAnonStorey27D.lastQuestName = GlobalVars.LastPlayedQuest.Get();
         // ISSUE: reference to a compiler-generated field
         // ISSUE: reference to a compiler-generated field
         if (startCAnonStorey27D.lastQuestName != null && !string.IsNullOrEmpty(startCAnonStorey27D.lastQuestName))
         {
             // ISSUE: reference to a compiler-generated method
             QuestParam questParam = Array.Find <QuestParam>(MonoSingleton <GameManager> .Instance.Quests, new Predicate <QuestParam>(startCAnonStorey27D.\u003C\u003Em__305));
             if (questParam != null && !string.IsNullOrEmpty(questParam.ChapterID))
             {
                 this.mIsStoryList = !(questParam.world == this.PieceQuestWorldId);
             }
         }
     }
     this.UpdateToggleButton();
     this.RefreshQuestList();
 }
Beispiel #17
0
        private void RefreshUI()
        {
            QuestParam quest = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

            this.mRecoverTime = MonoSingleton <GameManager> .Instance.TowerResuponse.rtime;
            if (quest != null && Object.op_Inequality((Object)this.ChallengeButton, (Object)null))
            {
                DataSource.Bind <QuestParam>(((Component)this.ChallengeButton).get_gameObject(), quest);
                ((Selectable)this.ChallengeButton).set_interactable(quest.IsQuestCondition() && quest.state != QuestStates.Cleared);
                GameParameter.UpdateAll(((Component)this.ChallengeButton).get_gameObject());
            }
            if (Object.op_Inequality((Object)this.RecoverButton, (Object)null))
            {
                TowerResuponse towerResuponse = MonoSingleton <GameManager> .Instance.TowerResuponse;
                bool           flag           = towerResuponse.GetAvailableUnits().Count > 0 && towerResuponse.ExistDamagedUnit() || towerResuponse.GetDiedUnitNum() > 0;
                ((Selectable)this.RecoverButton).set_interactable(flag && !towerResuponse.is_reset);
                if (Object.op_Inequality((Object)this.RecoverTimer, (Object)null))
                {
                    this.RecoverTimer.SetActive(flag);
                }
            }
            if (Object.op_Inequality((Object)this.ResetButton, (Object)null))
            {
                TowerResuponse towerResuponse = MonoSingleton <GameManager> .Instance.TowerResuponse;
                ((Component)this.ResetButton).get_gameObject().SetActive(towerResuponse.is_reset);
                ((Component)this.ChallengeButton).get_gameObject().SetActive(!towerResuponse.is_reset);
                this.ResetText.set_text(towerResuponse.reset_cost.ToString());
                bool flag = (int)towerResuponse.reset_cost == 0;
                ((Component)this.ResetText).get_gameObject().SetActive(!flag);
                ((Component)this.ResetTextFree).get_gameObject().SetActive(flag);
            }
            this.SetAliveUnitsText();
            this.SetRecoverText();
        }
Beispiel #18
0
 public static string Navigation(QuestParam quest)
 {
     AssetPath.mSB.Length = 0;
     AssetPath.mSB.Append("UI/");
     AssetPath.mSB.Append(quest.navigation);
     return(AssetPath.mSB.ToString());
 }
 public override void OnSuccess(WWWResult www)
 {
     if (Network.IsError)
     {
         return;
     }
     WebAPI.JSON_BodyResponse <TrophyQuests> jsonObject = JSONParser.parseJSONObject <WebAPI.JSON_BodyResponse <TrophyQuests> >(www.text);
     if (Object.op_Inequality((Object)this.Quests, (Object)null))
     {
         string[] histories = jsonObject.body.histories;
         if (histories == null || histories.Length <= 0)
         {
             this.Quests.set_text(LocalizedText.Get("sys.TROPHY_NOT_ACHIEVEDQUEST"));
             Network.RemoveAPI();
             this.ActivateOutputLinks(1);
             return;
         }
         GameManager instance = MonoSingleton <GameManager> .Instance;
         for (int index = 0; index < histories.Length; ++index)
         {
             QuestParam quest = instance.FindQuest(histories[index]);
             if (quest != null)
             {
                 Text quests = this.Quests;
                 quests.set_text(quests.get_text() + quest.name + "\n");
             }
         }
     }
     Network.RemoveAPI();
     this.ActivateOutputLinks(1);
 }
 public override void OnActivate(int pinID)
 {
     if (pinID == 0 && Object.op_Inequality((Object)SceneBattle.Instance, (Object)null))
     {
         if (Network.Mode == Network.EConnectMode.Offline)
         {
             QuestParam        quest       = SceneBattle.Instance.Battle.GetQuest();
             BattleCore.Record questRecord = SceneBattle.Instance.Battle.GetQuestRecord();
             if (quest != null && questRecord != null)
             {
                 quest.clear_missions |= questRecord.bonusFlags;
             }
         }
         SceneBattle.Instance.ExitRequest = !this.Restart ? SceneBattle.ExitRequests.End : SceneBattle.ExitRequests.Restart;
     }
     else
     {
         if (pinID != 1)
         {
             return;
         }
         if (Object.op_Equality((Object)SceneBattle.Instance, (Object)null))
         {
             ((Behaviour)this).set_enabled(false);
             this.ActivateOutputLinks(101);
         }
         else
         {
             ((Behaviour)this).set_enabled(true);
             SceneBattle.Instance.ForceEndQuest();
         }
     }
 }
        public static SectionParam GetHomeWorld()
        {
            GameManager  instance     = MonoSingleton <GameManager> .Instance;
            SectionParam sectionParam = (SectionParam)null;

            if (!string.IsNullOrEmpty((string)GlobalVars.SelectedSection))
            {
                sectionParam = instance.FindWorld((string)GlobalVars.SelectedSection);
                if (sectionParam != null && (string.IsNullOrEmpty(sectionParam.home) || sectionParam.hidden))
                {
                    sectionParam = (SectionParam)null;
                }
            }
            if (sectionParam == null)
            {
                QuestParam lastStoryQuest = instance.Player.FindLastStoryQuest();
                if (lastStoryQuest != null)
                {
                    ChapterParam area = instance.FindArea(lastStoryQuest.ChapterID);
                    if (area != null)
                    {
                        sectionParam = instance.FindWorld(area.section);
                    }
                }
            }
            return(sectionParam);
        }
Beispiel #22
0
        public void SetUp(UnitData unitData1, UnitData unitData2, QuestParam questParam)
        {
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.unitIcon1, (UnityEngine.Object)null))
            {
                DataSource.Bind <UnitData>(this.unitIcon1, unitData1);
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.unitIcon2, (UnityEngine.Object)null))
            {
                DataSource.Bind <UnitData>(this.unitIcon2, unitData2);
            }
            if (unitData1 == null || unitData2 == null || (questParam == null || questParam == null))
            {
                return;
            }
            List <QuestParam> questParamList = questParam.DetectNotClearConditionQuests();

            if (questParamList == null || questParamList.Count <= 0)
            {
                return;
            }
            this.conditionText.set_text(LocalizedText.Get("sys.COLLABO_SKILL_QUEST_CONDITION", new object[1]
            {
                (object)string.Join(",", questParamList.ConvertAll <string>((Converter <QuestParam, string>)(q => q.name)).ToArray())
            }));
        }
Beispiel #23
0
        private bool setQuestVariables(string questId, bool story)
        {
            GameManager instance = MonoSingleton <GameManager> .Instance;

            QuestParam[] availableQuests = instance.Player.AvailableQuests;
            for (int index = 0; index < availableQuests.Length; ++index)
            {
                if (availableQuests[index].iname == questId)
                {
                    GlobalVars.SelectedSection.Set(availableQuests[index].Chapter.section);
                    GlobalVars.SelectedChapter.Set(availableQuests[index].ChapterID);
                    return(true);
                }
            }
            if (story)
            {
                QuestParam lastStoryQuest = instance.Player.FindLastStoryQuest();
                if (lastStoryQuest != null && lastStoryQuest.IsDateUnlock(Network.GetServerTime()))
                {
                    GlobalVars.SelectedSection.Set(lastStoryQuest.Chapter.section);
                    GlobalVars.SelectedChapter.Set(lastStoryQuest.ChapterID);
                    return(true);
                }
            }
            return(false);
        }
        public override void OnActivate(int pinID)
        {
            if (pinID != 0)
            {
                return;
            }
            GameManager instance      = MonoSingleton <GameManager> .Instance;
            QuestParam  selectedQuest = this.SelectedQuest;

            if (selectedQuest == null)
            {
                DebugUtility.LogError("QuestNotFound \"" + GlobalVars.SelectedQuestID + "\" ");
            }
            else
            {
                int num = selectedQuest.RequiredApWithPlayerLv(instance.Player.Lv, true);
                if (GlobalVars.RaidNum > 0)
                {
                    num *= GlobalVars.RaidNum;
                }
                if (num <= instance.Player.Stamina)
                {
                    this.ActivateOutputLinks(100);
                }
                else
                {
                    UIUtility.ConfirmBox(string.Format(LocalizedText.Get("sys.CONFIRM_POINT"), (object)this.RestoreCost), new UIUtility.DialogResultEvent(this.OnRestoreStamina), new UIUtility.DialogResultEvent(this.OnCancel), (GameObject)null, false, -1);
                }
            }
        }
        protected override void Refresh()
        {
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.ItemTemplate, (UnityEngine.Object)null))
            {
                return;
            }
            for (int index = this.mItems.Count - 1; index >= 0; --index)
            {
                UnityEngine.Object.Destroy((UnityEngine.Object) this.mItems[index]);
            }
            QuestParam dataOfClass = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null);

            if (dataOfClass == null)
            {
                return;
            }
            Transform transform = ((Component)this).get_transform();
            List <TowerRewardItem> towerRewardItem = MonoSingleton <GameManager> .Instance.FindTowerReward(MonoSingleton <GameManager> .Instance.FindTowerFloor(dataOfClass.iname).reward_id).GetTowerRewardItem();

            for (int index = 0; index < towerRewardItem.Count; ++index)
            {
                TowerRewardItem item = towerRewardItem[index];
                if (item.visible && item.type != TowerRewardItem.RewardType.Gold)
                {
                    GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.ItemTemplate);
                    gameObject.get_transform().SetParent(transform, false);
                    gameObject.get_transform().set_localScale(this.ItemTemplate.get_transform().get_localScale());
                    DataSource.Bind <TowerRewardItem>(gameObject, item);
                    gameObject.SetActive(true);
                    foreach (GameParameter componentsInChild in (GameParameter[])gameObject.GetComponentsInChildren <GameParameter>())
                    {
                        componentsInChild.Index = index;
                    }
                    TowerRewardUI componentInChildren1 = (TowerRewardUI)gameObject.GetComponentInChildren <TowerRewardUI>();
                    if (UnityEngine.Object.op_Inequality((UnityEngine.Object)componentInChildren1, (UnityEngine.Object)null))
                    {
                        componentInChildren1.Refresh();
                    }
                    if (item.type == TowerRewardItem.RewardType.Artifact)
                    {
                        ArtifactParam artifactParam = MonoSingleton <GameManager> .Instance.MasterParam.GetArtifactParam(item.iname);

                        DataSource.Bind <ArtifactParam>(gameObject, artifactParam);
                        ArtifactIcon componentInChildren2 = (ArtifactIcon)gameObject.GetComponentInChildren <ArtifactIcon>();
                        if (UnityEngine.Object.op_Equality((UnityEngine.Object)componentInChildren2, (UnityEngine.Object)null))
                        {
                            break;
                        }
                        ((Behaviour)componentInChildren2).set_enabled(true);
                        componentInChildren2.UpdateValue();
                        if (MonoSingleton <GameManager> .Instance.Player.Artifacts.Find((Predicate <ArtifactData>)(x => x.ArtifactParam.iname == item.iname)) != null)
                        {
                            break;
                        }
                        item.is_new = true;
                        break;
                    }
                }
            }
        }
        public void OnClickDetail()
        {
            QuestParam           dataOfClass = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null);
            MultiTowerFloorParam data        = DataSource.FindDataOfClass <MultiTowerFloorParam>(((Component)this).get_gameObject(), (MultiTowerFloorParam)null) ?? MonoSingleton <GameManager> .Instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, GlobalVars.SelectedMultiTowerFloor);

            if (!Object.op_Inequality((Object)this.DetailObject, (Object)null) || dataOfClass == null)
            {
                return;
            }
            GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.DetailObject);

            DataSource.Bind <QuestParam>(gameObject, dataOfClass);
            QuestCampaignData[] questCampaigns = MonoSingleton <GameManager> .Instance.FindQuestCampaigns(dataOfClass);

            DataSource.Bind <QuestCampaignData[]>(gameObject, questCampaigns.Length != 0 ? questCampaigns : (QuestCampaignData[])null);
            DataSource.Bind <QuestParam>(gameObject, dataOfClass);
            DataSource.Bind <MultiTowerFloorParam>(gameObject, data);
            MultiTowerQuestInfo component = (MultiTowerQuestInfo)gameObject.GetComponent <MultiTowerQuestInfo>();

            if (!Object.op_Inequality((Object)component, (Object)null))
            {
                return;
            }
            component.Refresh();
        }
        public static void SelectLatestChapter()
        {
            QuestParam[] quests     = MonoSingleton <GameManager> .Instance.Quests;
            QuestParam   questParam = (QuestParam)null;

            for (int index = 0; index < quests.Length; ++index)
            {
                if (quests[index].IsStory)
                {
                    questParam = quests[index];
                    if (quests[index].state != QuestStates.Cleared)
                    {
                        break;
                    }
                }
            }
            if (questParam == null)
            {
                return;
            }
            string chapterId = questParam.ChapterID;

            ChapterParam[] chapters = MonoSingleton <GameManager> .Instance.Chapters;
            for (int index = 0; index < chapters.Length; ++index)
            {
                if (chapters[index].iname == chapterId)
                {
                    GlobalVars.SelectedSection.Set(chapters[index].section);
                    GlobalVars.SelectedChapter.Set(chapterId);
                    GlobalVars.SelectedQuestID = (string)null;
                    break;
                }
            }
        }
Beispiel #28
0
 private void AddList(QuestParam qparam, bool isActive = false)
 {
     if (qparam == null || qparam.IsMulti)
     {
         DebugUtility.LogWarning("UnitTobiraEnhanceWindow.cs => AddList():qparam is Null Reference!");
     }
     else if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListItemTemplate, (UnityEngine.Object)null))
     {
         DebugUtility.LogWarning("UnitTobiraEnhanceWindow.cs => AddList():QuestListItemTemplate is Null Reference!");
     }
     else if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListParent, (UnityEngine.Object)null))
     {
         DebugUtility.LogWarning("UnitTobiraEnhanceWindow.cs => AddList():QuestListParent is Null Reference!");
     }
     else
     {
         GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.QuestListItemTemplate);
         gameObject.get_transform().SetParent(this.QuestListParent, false);
         gameObject.SetActive(true);
         this.mGainedQuests.Add(gameObject);
         Button component = (Button)gameObject.GetComponent <Button>();
         if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
         {
             bool flag = qparam.IsDateUnlock(-1L);
             ((Selectable)component).set_interactable(flag && isActive);
         }
         DataSource.Bind <QuestParam>(gameObject, qparam);
     }
 }
        protected virtual void Refresh()
        {
            if (Object.op_Equality((Object)this.ItemTemplate, (Object)null))
            {
                return;
            }
            for (int index = this.mItems.Count - 1; index >= 0; --index)
            {
                Object.Destroy((Object)this.mItems[index]);
            }
            QuestParam dataOfClass = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null);

            if (dataOfClass == null || !Object.op_Inequality((Object)QuestDropParam.Instance, (Object)null))
            {
                return;
            }
            List <ItemParam> questDropList = QuestDropParam.Instance.GetQuestDropList(dataOfClass.iname, GlobalVars.GetDropTableGeneratedDateTime());

            if (questDropList == null)
            {
                return;
            }
            for (int index = 0; index < questDropList.Count; ++index)
            {
                ItemParam data = questDropList[index];
                if (data != null)
                {
                    GameObject gameObject = (GameObject)Object.Instantiate <GameObject>((M0)this.ItemTemplate);
                    DataSource.Bind <ItemParam>(gameObject, data);
                    gameObject.get_transform().SetParent(((Component)this).get_transform(), false);
                    gameObject.SetActive(true);
                }
            }
        }
Beispiel #30
0
 public static void DownloadQuestMaps(QuestParam quest)
 {
     for (int index1 = 0; index1 < quest.map.Count; ++index1)
     {
         if (!string.IsNullOrEmpty(quest.map[index1].mapSetName))
         {
             string src = AssetManager.LoadTextData(AssetPath.LocalMap(quest.map[index1].mapSetName));
             if (src != null)
             {
                 JSON_MapUnit jsonObject = JSONParser.parseJSONObject <JSON_MapUnit>(src);
                 if ((int)jsonObject.is_rand > 0)
                 {
                     if (jsonObject.deck != null)
                     {
                         for (int index2 = 0; index2 < jsonObject.deck.Length; ++index2)
                         {
                             DownloadUtility.DownloadUnit(new NPCSetting(jsonObject.deck[index2]));
                         }
                     }
                 }
                 else if (jsonObject.enemy != null)
                 {
                     for (int index2 = 0; index2 < jsonObject.enemy.Length; ++index2)
                     {
                         DownloadUtility.DownloadUnit(new NPCSetting(jsonObject.enemy[index2]));
                     }
                 }
             }
         }
     }
 }