Beispiel #1
0
        private void RefreshGainedQuests(UnitData unit)
        {
            this.ClearPanel();
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestList, (UnityEngine.Object)null))
            {
                return;
            }
            this.QuestList.SetActive(false);
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.NotFoundGainQuestObject, (UnityEngine.Object)null))
            {
                Text component = (Text)this.NotFoundGainQuestObject.GetComponent <Text>();
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
                {
                    component.set_text(LocalizedText.Get("sys.UNIT_GAINED_COMMENT"));
                }
                this.NotFoundGainQuestObject.SetActive(true);
            }
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListItemTemplate, (UnityEngine.Object)null) || UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListParent, (UnityEngine.Object)null) || unit == null)
            {
                return;
            }
            ItemParam itemParam = MonoSingleton <GameManager> .Instance.GetItemParam((string)unit.UnitParam.piece);

            DataSource.Bind <ItemParam>(this.QuestList, itemParam);
            if (this.LastUpadatedItemParam != itemParam)
            {
                this.SetScrollTop();
                this.LastUpadatedItemParam = itemParam;
            }
            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
            {
                return;
            }
            QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
            using (List <QuestParam> .Enumerator enumerator = QuestDropParam.Instance.GetItemDropQuestList(itemParam, GlobalVars.GetDropTableGeneratedDateTime()).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    this.AddPanel(enumerator.Current, availableQuests);
                }
            }
        }
Beispiel #2
0
        private void RefreshGainedQuests()
        {
            this.ClearPanel(true);
            ((Component)this.QuestsParent).get_gameObject().SetActive(false);
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListItemTemplate, (UnityEngine.Object)null) || UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListParent, (UnityEngine.Object)null))
            {
                return;
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ConfirmQuestButton, (UnityEngine.Object)null))
            {
                ((Component)this.ConfirmQuestButton).get_gameObject().SetActive(false);
            }
            int index = this.mItemParamTree.Count - 1;

            if (MonoSingleton <GameManager> .Instance.GetRecipeParam(this.mItemParamTree[index].recipe) != null)
            {
                return;
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ConfirmQuestButton, (UnityEngine.Object)null))
            {
                ((Component)this.ConfirmQuestButton).get_gameObject().SetActive(true);
            }
            this.ActiveCommonEquipButton(this.IsCommonEquipUI((long)GlobalVars.SelectedUnitUniqueID, (int)GlobalVars.SelectedEquipmentSlot));
            ItemParam data = this.mItemParamTree[index];

            DataSource.Bind <ItemParam>(((Component)this.QuestsParent).get_gameObject(), data);
            ((Component)this.QuestsParent).get_gameObject().SetActive(true);
            if (this.LastUpadatedItemParam != data)
            {
                this.SetScrollTop();
                this.LastUpadatedItemParam = data;
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
            {
                QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
                using (List <QuestParam> .Enumerator enumerator = QuestDropParam.Instance.GetItemDropQuestList(data, GlobalVars.GetDropTableGeneratedDateTime()).GetEnumerator())
                {
                    while (enumerator.MoveNext())
                    {
                        this.AddPanel(enumerator.Current, availableQuests);
                    }
                }
            }
            GlobalVars.SelectedItemParamTree.Clear();
            GlobalVars.SelectedItemParamTree.AddRange((IEnumerable <ItemParam>) this.mItemParamTree.ToArray());
        }
Beispiel #3
0
        public void Activated(int pinID)
        {
            if (99 <= pinID && pinID < 129)
            {
                if (this.mDesirdSceneSet)
                {
                    return;
                }
                string desiredSceneName = (string)null;
                bool   flag1            = false;
                bool   flag2            = GlobalVars.ForceSceneChange;
                GlobalVars.ForceSceneChange = false;
                if (pinID == 99)
                {
                    SectionParam homeWorld = HomeUnitController.GetHomeWorld();
                    if (homeWorld != null)
                    {
                        desiredSceneName = homeWorld.home;
                        flag1            = true;
                    }
                }
                else
                {
                    desiredSceneName = this.SceneNames[pinID - 100];
                }
                if (Array.FindIndex <string>(this.IgnoreSameSceneCheck, (Predicate <string>)(scene => scene.Equals(desiredSceneName))) != -1)
                {
                    flag2 = true;
                }
                if (!string.IsNullOrEmpty(desiredSceneName) && (flag2 || this.mLastSceneName != desiredSceneName))
                {
                    if (!MonoSingleton <GameManager> .Instance.PrepareSceneChange())
                    {
                        return;
                    }
                    this.SceneChangeSendLog(this.mDesiredSceneName, desiredSceneName);
                    this.mDesirdSceneSet     = true;
                    this.mDesiredSceneName   = desiredSceneName;
                    this.mDesiredSceneIsHome = flag1;
                    this.mIgnorePopups       = !this.mDesiredSceneIsHome;
                    GlobalVars.SetDropTableGeneratedTime();
                }
                else
                {
                    if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)GameObject.Find("EventQuest"), (UnityEngine.Object)null))
                    {
                        return;
                    }
                    GlobalEvent.Invoke("UPDATE_EVENT_LIST", (object)this);
                }
            }
            else
            {
                switch (pinID)
                {
                case 12:
                    this.mFadingOut = false;
                    break;

                case 30:
                    if (this.RestoreScenes == null)
                    {
                        break;
                    }
                    GlobalVars.IsTutorialEnd = true;
                    if (HomeWindow.mRestorePoint != RestorePoints.Home)
                    {
                        if (!this.IsNotHomeBGM())
                        {
                            FlowNode_PlayBGM.PlayHomeBGM();
                        }
                        for (int index = 0; index < this.RestoreScenes.Length; ++index)
                        {
                            if (this.RestoreScenes[index].Type == HomeWindow.mRestorePoint)
                            {
                                this.Activated(100 + this.RestoreScenes[index].Index);
                                return;
                            }
                        }
                    }
                    this.Activated(99);
                    break;

                case 1001:
                    this.mRankmatchRewarded = true;
                    break;

                case 2001:
                    HomeWindow.BeginnerNotified = true;
                    break;
                }
            }
        }
Beispiel #4
0
        private bool Test()
        {
            PlayerData player = MonoSingleton <GameManager> .Instance.Player;

            switch (this.Condition)
            {
            case FlowNode_Condition.Conditions.QUEST_HASENOUGHSTAMINA:
                QuestParam quest1 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                if (quest1 != null)
                {
                    return(MonoSingleton <GameManager> .Instance.Player.Stamina >= quest1.RequiredApWithPlayerLv(player.Lv, true));
                }
                break;

            case FlowNode_Condition.Conditions.FRIEND_ISFRIEND:
                SupportData supportData1;
                if ((supportData1 = this.GetSupportData()) != null)
                {
                    return(supportData1.IsFriend());
                }
                return(false);

            case FlowNode_Condition.Conditions.PARTY_LEADERSKILLAVAIL:
                PartyData dataOfClass1;
                if ((dataOfClass1 = DataSource.FindDataOfClass <PartyData>(((Component)this).get_gameObject(), (PartyData)null)) != null)
                {
                    return(this.GetLeaderSkill(dataOfClass1) != null);
                }
                break;

            case FlowNode_Condition.Conditions.FRIEND_LEADERSKILLAVAIL:
                SupportData supportData2;
                if ((supportData2 = this.GetSupportData()) != null)
                {
                    return(supportData2.LeaderSkill != null);
                }
                break;

            case FlowNode_Condition.Conditions.PARTY_LEADEREXIST:
                for (int index = 0; index < player.Partys.Count; ++index)
                {
                    if (player.Partys[index].GetUnitUniqueID(player.Partys[index].LeaderIndex) == 0L)
                    {
                        return(false);
                    }
                }
                return(true);

            case FlowNode_Condition.Conditions.TARGET_COMMANDVALID:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.UIParam_TargetValid);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_DROPSKAKERA:
                QuestParam dataOfClass2;
                if ((dataOfClass2 = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null)) != null && !UnityEngine.Object.op_Equality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
                {
                    return(QuestDropParam.Instance.GetHardDropPiece(dataOfClass2.iname, GlobalVars.GetDropTableGeneratedDateTime()) != null);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_FIRSTTURN:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.UnitStartCount <= 1);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_NEEDFRIENDREQUEST:
                // ISSUE: object of a compiler-generated type is created
                // ISSUE: variable of a compiler-generated type
                FlowNode_Condition.\u003CTest\u003Ec__AnonStorey2C7 testCAnonStorey2C7 = new FlowNode_Condition.\u003CTest\u003Ec__AnonStorey2C7();
                // ISSUE: reference to a compiler-generated field
                testCAnonStorey2C7.support = (SupportData)GlobalVars.SelectedSupport;
                // ISSUE: reference to a compiler-generated field
                // ISSUE: reference to a compiler-generated field
                if (testCAnonStorey2C7.support == null || testCAnonStorey2C7.support.IsFriend())
                {
                    return(false);
                }
                // ISSUE: reference to a compiler-generated method
                FriendData friendData = player.Friends.Find(new Predicate <FriendData>(testCAnonStorey2C7.\u003C\u003Em__2A0));
                if (friendData == null)
                {
                    return(true);
                }
                return(friendData.State == FriendStates.Friend || friendData.State != FriendStates.Follow ? false : false);

            case FlowNode_Condition.Conditions.PLAYER_LEVELCHANGED:
                return((bool)GlobalVars.PlayerLevelChanged);

            case FlowNode_Condition.Conditions.NEWGAME:
                return(GameUtility.Config_NewGame.Value);

            case FlowNode_Condition.Conditions.BTLIDSET:
                return((long)GlobalVars.BtlID != 0L);

            case FlowNode_Condition.Conditions.QUEST_ISMULTIPLAY:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayingMultiQuest);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_ISARENA:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayingArenaQuest);
                }
                break;

            case FlowNode_Condition.Conditions.ARENA_RANKUP:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsArenaRankupInfo());
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_HASREWARD:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(!SceneBattle.Instance.Battle.GetQuestRecord().IsZero);
                }
                break;

            case FlowNode_Condition.Conditions.TERMSOFUSE_AGREED:
                return(MonoSingleton <GameManager> .Instance.IsAgreeTermsOfUse());

            case FlowNode_Condition.Conditions.FRIEND_VALID:
                return(this.GetSupportData() != null);

            case FlowNode_Condition.Conditions.QUEST_ENDSILENT:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.CurrentQuest.Silent);
                }
                break;

            case FlowNode_Condition.Conditions.IS_NOT_ENOUGH_SUPPORT_COST:
                SupportData supportData3 = this.GetSupportData();
                if (supportData3 != null)
                {
                    int gold = player.Gold;
                    if (supportData3.GetCost() > gold)
                    {
                        return(true);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.MULTI_PLAY_IS_UNLOCKED:
                return(MonoSingleton <GameManager> .Instance.Player.CheckUnlock(UnlockTargets.MultiPlay));

            case FlowNode_Condition.Conditions.QUEST_IS_ENABLE_AUTOBATTLE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    QuestParam quest2 = SceneBattle.Instance.Battle.GetQuest();
                    if (quest2 != null)
                    {
                        return(quest2.CheckAllowedAutoBattle());
                    }
                    return(false);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_AUTOBATTLE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.Battle.IsAutoBattle);
                }
                break;

            case FlowNode_Condition.Conditions.DEBUGBUILD:
                return(GameUtility.IsDebugBuild);

            case FlowNode_Condition.Conditions.IS_BEGINNER:
                return(MonoSingleton <GameManager> .Instance.Player.IsBeginner());

            case FlowNode_Condition.Conditions.IS_END_TUTORIAL:
                return((MonoSingleton <GameManager> .Instance.Player.TutorialFlags & 1L) != 0L);

            case FlowNode_Condition.Conditions.IS_GET_UNIT:
                return(MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUnitID(DataSource.FindDataOfClass <UnitParam>(((Component)this).get_gameObject(), (UnitParam)null).iname) != null);

            case FlowNode_Condition.Conditions.VERSUS_UNLOCK:
                return(MonoSingleton <GameManager> .Instance.Player.CheckUnlock(UnlockTargets.MultiVS));

            case FlowNode_Condition.Conditions.QUEST_IS_SHOW_REVIEW:
                if (!string.IsNullOrEmpty(GlobalVars.SelectedQuestID))
                {
                    QuestParam quest2 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                    if (quest2 != null)
                    {
                        return(quest2.ShowReviewPopup);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_FIRST_CLEAR:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsFirstWin);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPS:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null) && SceneBattle.Instance.CurrentQuest != null && SceneBattle.Instance.CurrentQuest.type == QuestTypes.Gps)
                {
                    return(true);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_HEAD:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null && area.IsGpsQuest())
                    {
                        return(area.children.Count > 0);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_QUEST:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null)
                    {
                        return(area.IsGpsQuest());
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_QUEST_VALID:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null)
                    {
                        return(area.HasGpsQuest());
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.VALID_GPSGIFT:
                return(MonoSingleton <GameManager> .Instance.Player.ValidGpsGift);

            case FlowNode_Condition.Conditions.SCENE_CHANGING:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)HomeWindow.Current, (UnityEngine.Object)null))
                {
                    return(HomeWindow.Current.IsSceneChanging);
                }
                return(false);

            case FlowNode_Condition.Conditions.QUEST_IS_PLAY_LAST_DEMO:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayLastDemo);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.Battle.IsRankingQuest);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_NEWSCORE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsRankingQuestNewScore);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_JOIN_REWARD:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsRankingQuestJoinReward);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_RESULT_VALIDRANK:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.ValidateRankingQuestRank);
                }
                break;

            case FlowNode_Condition.Conditions.SG_LANGUAGE:
                if (!GameUtility.ForceLanguageSelection && !(GameUtility.Config_Language == "None"))
                {
                    return(false);
                }
                if (GameUtility.ForceLanguageSelection)
                {
                    GameUtility.ForceLanguageSelection = false;
                }
                return(true);

            case FlowNode_Condition.Conditions.SG_CHECK_ACCOUNT_LINK:
                return(PlayerPrefs.GetInt("AccountLinked", 0) != 1 && (MonoSingleton <GameManager> .Instance.Player.TutorialFlags & 1L) != 0L && PlayerPrefs.HasKey("LastLoginTime") && (DateTime.Now - DateTime.ParseExact(PlayerPrefs.GetString("LastLoginTime"), "O", (IFormatProvider)CultureInfo.InvariantCulture)).TotalHours > 24.0);

            case FlowNode_Condition.Conditions.SG_CHECK_ANDROID_PERMISSION:
                return(!AndroidPermissionsManager.IsPermissionGranted("android.permission.WRITE_EXTERNAL_STORAGE"));

            case FlowNode_Condition.Conditions.SG_DISK_SPACE_AVAILABLE:
                return((MonoSingleton <GameManager> .Instance.Player.TutorialFlags & 1L) != 0L || DiskUtils.CheckAvailableSpace(true) >= 500);

            case FlowNode_Condition.Conditions.SG_AUTO_BATTLE_ENABLED:
                return(GameUtility.Config_UseAutoPlay.Value);

            case FlowNode_Condition.Conditions.SG_SPEEDUP_ENABLED:
                return(PlayerPrefs.GetInt("SPEED_UP", 0) != 0);
            }
            return(false);
        }
Beispiel #5
0
        private void OnUnitSelect(SRPG_Button button)
        {
            // ISSUE: object of a compiler-generated type is created
            // ISSUE: variable of a compiler-generated type
            QuestBookmarkWindow.\u003COnUnitSelect\u003Ec__AnonStorey367 selectCAnonStorey367 = new QuestBookmarkWindow.\u003COnUnitSelect\u003Ec__AnonStorey367();
            // ISSUE: reference to a compiler-generated field
            selectCAnonStorey367.\u003C\u003Ef__this = this;
            if (!((Selectable)button).get_interactable())
            {
                return;
            }
            QuestBookmarkWindow.ItemAndQuests dataOfClass1 = DataSource.FindDataOfClass <QuestBookmarkWindow.ItemAndQuests>(((Component)button).get_gameObject(), (QuestBookmarkWindow.ItemAndQuests)null);
            // ISSUE: reference to a compiler-generated field
            selectCAnonStorey367.currentTime = Network.GetServerTime();
            QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
            // ISSUE: reference to a compiler-generated method
            // ISSUE: reference to a compiler-generated method
            QuestParam[] questParamArray = !(this.mLastSectionName == this.BookmarkSectionName) ? dataOfClass1.quests.Where <QuestParam>(new Func <QuestParam, bool>(selectCAnonStorey367.\u003C\u003Em__3E8)).ToArray <QuestParam>() : QuestDropParam.Instance.GetItemDropQuestList(MonoSingleton <GameManager> .Instance.MasterParam.GetItemParam(dataOfClass1.itemName), GlobalVars.GetDropTableGeneratedDateTime()).Where <QuestParam>(new Func <QuestParam, bool>(selectCAnonStorey367.\u003C\u003Em__3E7)).ToArray <QuestParam>();
            if (questParamArray.Length <= 0)
            {
                return;
            }
            List <QuestParam> questParamList = new List <QuestParam>();

            foreach (QuestParam questParam1 in questParamArray)
            {
                // ISSUE: reference to a compiler-generated method
                foreach (QuestParam questParam2 in ((IEnumerable <QuestParam>)availableQuests).Where <QuestParam>(new Func <QuestParam, bool>(selectCAnonStorey367.\u003C\u003Em__3E9)))
                {
                    if (questParam1.iname == questParam2.iname)
                    {
                        questParamList.Add(questParam1);
                    }
                }
            }
            if (questParamList.Count <= 0)
            {
                QuestParam questParam = questParamArray[0];
                UIUtility.SystemMessage((string)null, LocalizedText.Get("sys.TXT_QUESTBOOKMARK_BOOKMARK_NOT_AVAIABLE_QUEST", (object)questParam.title, (object)questParam.name), (UIUtility.DialogResultEvent)null, (GameObject)null, true, -1);
            }
            else if (this.mIsBookmarkEditing)
            {
                this.OnUnitSelectBookmark(dataOfClass1, (BookmarkUnit)((Component)button).GetComponent <BookmarkUnit>());
            }
            else if (questParamArray.Length > 1)
            {
                if (!UnityEngine.Object.op_Inequality((UnityEngine.Object) this.QuestSelectorTemplate, (UnityEngine.Object)null))
                {
                    return;
                }
                GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)this.QuestSelectorTemplate);
                gameObject.get_transform().SetParent(((Component)this).get_transform().get_parent(), false);
                QuestBookmarkKakeraWindow component = (QuestBookmarkKakeraWindow)gameObject.GetComponent <QuestBookmarkKakeraWindow>();
                if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
                {
                    return;
                }
                UnitParam dataOfClass2 = DataSource.FindDataOfClass <UnitParam>(((Component)button).get_gameObject(), (UnitParam)null);
                component.Refresh(dataOfClass2, (IEnumerable <QuestParam>)questParamArray);
            }
            else
            {
                GlobalVars.SelectedQuestID = questParamArray[0].iname;
                FlowNode_GameObject.ActivateOutputLinks((Component)this, 100);
            }
        }
Beispiel #6
0
        private void Initialize(QuestBookmarkWindow.JSON_Item[] bookmarkItems)
        {
            GameManager instance = MonoSingleton <GameManager> .Instance;
            PlayerData  player   = instance.Player;

            SectionParam[] sections    = instance.Sections;
            List <string>  stringList1 = new List <string>();
            List <string>  stringList2 = new List <string>();
            long           serverTime  = Network.GetServerTime();

            foreach (QuestParam availableQuest in player.AvailableQuests)
            {
                if (this.IsAvailableQuest(availableQuest, serverTime) && !stringList1.Contains(availableQuest.ChapterID))
                {
                    stringList1.Add(availableQuest.ChapterID);
                }
            }
            using (List <string> .Enumerator enumerator = stringList1.GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    string       current = enumerator.Current;
                    ChapterParam area    = instance.FindArea(current);
                    if (area != null && !stringList2.Contains(area.section))
                    {
                        stringList2.Add(area.section);
                    }
                }
            }
            this.mAvailableSections = stringList2.ToArray();
            Dictionary <string, List <QuestParam> > dictionary = new Dictionary <string, List <QuestParam> >();

            foreach (QuestParam questParam in ((IEnumerable <QuestParam>)MonoSingleton <GameManager> .Instance.Quests).Where <QuestParam>((Func <QuestParam, bool>)(q => q.type == QuestTypes.Free)))
            {
                List <QuestParam> questParamList;
                if (!dictionary.TryGetValue(questParam.world, out questParamList))
                {
                    questParamList = new List <QuestParam>();
                    dictionary[questParam.world] = questParamList;
                }
                questParamList.Add(questParam);
            }
            int index1 = 0;

            if (bookmarkItems != null && bookmarkItems.Length > 0)
            {
                foreach (QuestBookmarkWindow.JSON_Item bookmarkItem in bookmarkItems)
                {
                    ItemParam itemParam = MonoSingleton <GameManager> .Instance.MasterParam.GetItemParam(bookmarkItem.iname);

                    List <QuestParam> itemDropQuestList = QuestDropParam.Instance.GetItemDropQuestList(itemParam, GlobalVars.GetDropTableGeneratedDateTime());
                    this.mBookmarkedPiecesOrigin.Add(new QuestBookmarkWindow.ItemAndQuests()
                    {
                        itemName = itemParam.iname,
                        quests   = itemDropQuestList
                    });
                }
                this.mBookmarkedPieces = this.mBookmarkedPiecesOrigin.ToList <QuestBookmarkWindow.ItemAndQuests>();
            }
            this.mSectionToPieces[this.BookmarkSectionName] = this.mBookmarkedPieces;
            if (index1 < this.ButtonSections.Length)
            {
                DataSource.Bind <string>(((Component)this.ButtonSections[index1]).get_gameObject(), this.BookmarkSectionName);
            }
            int index2;

            for (index2 = index1 + 1; index2 < this.ButtonSections.Length; ++index2)
            {
                if (index2 - 1 < sections.Length)
                {
                    SectionParam sectionParam = sections[index2 - 1];
                    if (sectionParam.IsDateUnlock() && stringList2.Contains(sectionParam.iname))
                    {
                        SRPG_Button buttonSection = this.ButtonSections[index2];
                        DataSource.Bind <string>(((Component)buttonSection).get_gameObject(), sectionParam.iname);
                        ((BookmarkToggleButton)((Component)buttonSection).GetComponent <BookmarkToggleButton>()).EnableShadow(false);
                        List <QuestParam> questParamList1 = dictionary[sectionParam.iname];
                        OrderedDictionary source          = new OrderedDictionary();
                        using (List <QuestParam> .Enumerator enumerator = questParamList1.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                QuestParam        current       = enumerator.Current;
                                ItemParam         hardDropPiece = QuestDropParam.Instance.GetHardDropPiece(current.iname, GlobalVars.GetDropTableGeneratedDateTime());
                                List <QuestParam> questParamList2;
                                if (source.Contains((object)hardDropPiece.iname))
                                {
                                    questParamList2 = source[(object)hardDropPiece.iname] as List <QuestParam>;
                                }
                                else
                                {
                                    questParamList2 = new List <QuestParam>();
                                    source[(object)hardDropPiece.iname] = (object)questParamList2;
                                }
                                questParamList2.Add(current);
                            }
                        }
                        this.mSectionToPieces[sectionParam.iname] = source.Cast <DictionaryEntry>().Select <DictionaryEntry, QuestBookmarkWindow.ItemAndQuests>((Func <DictionaryEntry, QuestBookmarkWindow.ItemAndQuests>)(kv => new QuestBookmarkWindow.ItemAndQuests()
                        {
                            itemName = kv.Key as string,
                            quests   = kv.Value as List <QuestParam>
                        })).ToList <QuestBookmarkWindow.ItemAndQuests>();
                    }
                    else
                    {
                        ((BookmarkToggleButton)((Component)this.ButtonSections[index2]).GetComponent <BookmarkToggleButton>()).EnableShadow(true);
                    }
                }
                else
                {
                    ((BookmarkToggleButton)((Component)this.ButtonSections[index2]).GetComponent <BookmarkToggleButton>()).EnableShadow(true);
                }
            }
            foreach (SectionParam sectionParam in sections)
            {
                if (sectionParam.IsDateUnlock() && stringList2.Contains(sectionParam.iname) && index2 < this.ButtonSections.Length)
                {
                    DataSource.Bind <string>(((Component)this.ButtonSections[index2]).get_gameObject(), sectionParam.iname);
                    List <QuestParam> questParamList1 = dictionary[sectionParam.iname];
                    OrderedDictionary source          = new OrderedDictionary();
                    using (List <QuestParam> .Enumerator enumerator = questParamList1.GetEnumerator())
                    {
                        while (enumerator.MoveNext())
                        {
                            QuestParam        current       = enumerator.Current;
                            ItemParam         hardDropPiece = QuestDropParam.Instance.GetHardDropPiece(current.iname, GlobalVars.GetDropTableGeneratedDateTime());
                            List <QuestParam> questParamList2;
                            if (source.Contains((object)hardDropPiece.iname))
                            {
                                questParamList2 = source[(object)hardDropPiece.iname] as List <QuestParam>;
                            }
                            else
                            {
                                questParamList2 = new List <QuestParam>();
                                source[(object)hardDropPiece.iname] = (object)questParamList2;
                            }
                            questParamList2.Add(current);
                        }
                    }
                    this.mSectionToPieces[sectionParam.iname] = source.Cast <DictionaryEntry>().Select <DictionaryEntry, QuestBookmarkWindow.ItemAndQuests>((Func <DictionaryEntry, QuestBookmarkWindow.ItemAndQuests>)(kv => new QuestBookmarkWindow.ItemAndQuests()
                    {
                        itemName = kv.Key as string,
                        quests   = kv.Value as List <QuestParam>
                    })).ToList <QuestBookmarkWindow.ItemAndQuests>();
                }
            }
            foreach (SRPG_Button buttonSection in this.ButtonSections)
            {
                buttonSection.AddListener(new SRPG_Button.ButtonClickEvent(this.OnSectionSelect));
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TitleText, (UnityEngine.Object)null))
            {
                this.TitleText.set_text(LocalizedText.Get(this.BookmarkTitle));
            }
            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.DescriptionText, (UnityEngine.Object)null))
            {
                this.DescriptionText.set_text(LocalizedText.Get(this.BookmarkDescription));
            }
            this.RefreshSection(0);
        }
Beispiel #7
0
        private void RefreshGainedQuests(UnitParam unit)
        {
            this.ClearPanel();
            this.QuestList.SetActive(false);
            if (UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListItemTemplate, (UnityEngine.Object)null) || UnityEngine.Object.op_Equality((UnityEngine.Object) this.QuestListParent, (UnityEngine.Object)null))
            {
                return;
            }
            ItemParam itemParam = MonoSingleton <GameManager> .Instance.GetItemParam((string)this.UnlockUnit.piece);

            DataSource.Bind <ItemParam>(this.QuestList, itemParam);
            this.QuestList.SetActive(true);
            this.SetScrollTop();
            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
            {
                return;
            }
            QuestParam[] availableQuests = MonoSingleton <GameManager> .Instance.Player.AvailableQuests;
            using (List <QuestParam> .Enumerator enumerator = QuestDropParam.Instance.GetItemDropQuestList(itemParam, GlobalVars.GetDropTableGeneratedDateTime()).GetEnumerator())
            {
                while (enumerator.MoveNext())
                {
                    this.AddPanel(enumerator.Current, availableQuests);
                }
            }
        }
Beispiel #8
0
        private bool Test()
        {
            PlayerData player = MonoSingleton <GameManager> .Instance.Player;

            switch (this.Condition)
            {
            case FlowNode_Condition.Conditions.QUEST_HASENOUGHSTAMINA:
                QuestParam quest1 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                if (quest1 != null)
                {
                    return(MonoSingleton <GameManager> .Instance.Player.Stamina >= quest1.RequiredApWithPlayerLv(player.Lv, true));
                }
                break;

            case FlowNode_Condition.Conditions.FRIEND_ISFRIEND:
                SupportData supportData1;
                if ((supportData1 = this.GetSupportData()) != null)
                {
                    return(supportData1.IsFriend());
                }
                return(false);

            case FlowNode_Condition.Conditions.PARTY_LEADERSKILLAVAIL:
                PartyData dataOfClass1;
                if ((dataOfClass1 = DataSource.FindDataOfClass <PartyData>(((Component)this).get_gameObject(), (PartyData)null)) != null)
                {
                    return(this.GetLeaderSkill(dataOfClass1) != null);
                }
                break;

            case FlowNode_Condition.Conditions.FRIEND_LEADERSKILLAVAIL:
                SupportData supportData2;
                if ((supportData2 = this.GetSupportData()) != null)
                {
                    return(supportData2.LeaderSkill != null);
                }
                break;

            case FlowNode_Condition.Conditions.PARTY_LEADEREXIST:
                for (int index = 0; index < player.Partys.Count; ++index)
                {
                    if (player.Partys[index].GetUnitUniqueID(player.Partys[index].LeaderIndex) == 0L)
                    {
                        return(false);
                    }
                }
                return(true);

            case FlowNode_Condition.Conditions.TARGET_COMMANDVALID:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.UIParam_TargetValid);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_DROPSKAKERA:
                QuestParam dataOfClass2;
                if ((dataOfClass2 = DataSource.FindDataOfClass <QuestParam>(((Component)this).get_gameObject(), (QuestParam)null)) != null && !UnityEngine.Object.op_Equality((UnityEngine.Object)QuestDropParam.Instance, (UnityEngine.Object)null))
                {
                    return(QuestDropParam.Instance.GetHardDropPiece(dataOfClass2.iname, GlobalVars.GetDropTableGeneratedDateTime()) != null);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_FIRSTTURN:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.UnitStartCount <= 1);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_NEEDFRIENDREQUEST:
                SupportData support = (SupportData)GlobalVars.SelectedSupport;
                if (support == null || support.IsFriend())
                {
                    return(false);
                }
                FriendData friendData = player.Friends.Find((Predicate <FriendData>)(f => f.FUID == support.FUID));
                if (friendData == null)
                {
                    return(true);
                }
                return(friendData.State == FriendStates.Friend || friendData.State != FriendStates.Follow ? false : false);

            case FlowNode_Condition.Conditions.PLAYER_LEVELCHANGED:
                return((bool)GlobalVars.PlayerLevelChanged);

            case FlowNode_Condition.Conditions.NEWGAME:
                return(GameUtility.Config_NewGame.Value);

            case FlowNode_Condition.Conditions.BTLIDSET:
                return((long)GlobalVars.BtlID != 0L);

            case FlowNode_Condition.Conditions.QUEST_ISMULTIPLAY:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayingMultiQuest);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_ISARENA:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayingArenaQuest);
                }
                break;

            case FlowNode_Condition.Conditions.ARENA_RANKUP:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsArenaRankupInfo());
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_HASREWARD:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(!SceneBattle.Instance.Battle.GetQuestRecord().IsZero);
                }
                break;

            case FlowNode_Condition.Conditions.TERMSOFUSE_AGREED:
                return(MonoSingleton <GameManager> .Instance.IsAgreeTermsOfUse());

            case FlowNode_Condition.Conditions.FRIEND_VALID:
                return(this.GetSupportData() != null);

            case FlowNode_Condition.Conditions.QUEST_ENDSILENT:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.CurrentQuest.Silent);
                }
                break;

            case FlowNode_Condition.Conditions.IS_NOT_ENOUGH_SUPPORT_COST:
                SupportData supportData3 = this.GetSupportData();
                if (supportData3 != null)
                {
                    int gold = player.Gold;
                    if (supportData3.GetCost() > gold)
                    {
                        return(true);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.MULTI_PLAY_IS_UNLOCKED:
                return(MonoSingleton <GameManager> .Instance.Player.CheckUnlock(UnlockTargets.MultiPlay));

            case FlowNode_Condition.Conditions.QUEST_IS_ENABLE_AUTOBATTLE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    QuestParam quest2 = SceneBattle.Instance.Battle.GetQuest();
                    if (quest2 != null)
                    {
                        return(quest2.CheckAllowedAutoBattle());
                    }
                    return(false);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_AUTOBATTLE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.Battle.IsAutoBattle);
                }
                break;

            case FlowNode_Condition.Conditions.DEBUGBUILD:
                return(GameUtility.IsDebugBuild);

            case FlowNode_Condition.Conditions.IS_BEGINNER:
                return(MonoSingleton <GameManager> .Instance.Player.IsBeginner());

            case FlowNode_Condition.Conditions.IS_END_TUTORIAL:
                return((MonoSingleton <GameManager> .Instance.Player.TutorialFlags & 1L) != 0L);

            case FlowNode_Condition.Conditions.IS_GET_UNIT:
                return(MonoSingleton <GameManager> .Instance.Player.FindUnitDataByUnitID(DataSource.FindDataOfClass <UnitParam>(((Component)this).get_gameObject(), (UnitParam)null).iname) != null);

            case FlowNode_Condition.Conditions.VERSUS_UNLOCK:
                return(MonoSingleton <GameManager> .Instance.Player.CheckUnlock(UnlockTargets.MultiVS));

            case FlowNode_Condition.Conditions.QUEST_IS_SHOW_REVIEW:
                if (!string.IsNullOrEmpty(GlobalVars.SelectedQuestID))
                {
                    QuestParam quest2 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                    if (quest2 != null)
                    {
                        return(quest2.ShowReviewPopup);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_FIRST_CLEAR:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsFirstWin);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPS:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null) && SceneBattle.Instance.CurrentQuest != null && SceneBattle.Instance.CurrentQuest.type == QuestTypes.Gps)
                {
                    return(true);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_HEAD:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null && area.IsGpsQuest())
                    {
                        return(area.children.Count > 0);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_QUEST:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null)
                    {
                        return(area.IsGpsQuest());
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GPSCHAPTER_QUEST_VALID:
                if (!string.IsNullOrEmpty((string)GlobalVars.SelectedChapter))
                {
                    ChapterParam area = MonoSingleton <GameManager> .Instance.FindArea((string)GlobalVars.SelectedChapter);

                    if (area != null)
                    {
                        return(area.HasGpsQuest());
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.VALID_GPSGIFT:
                return(MonoSingleton <GameManager> .Instance.Player.ValidGpsGift);

            case FlowNode_Condition.Conditions.SCENE_CHANGING:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)HomeWindow.Current, (UnityEngine.Object)null))
                {
                    return(HomeWindow.Current.IsSceneChanging);
                }
                return(false);

            case FlowNode_Condition.Conditions.QUEST_IS_PLAY_LAST_DEMO:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsPlayLastDemo);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.Battle.IsRankingQuest);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_NEWSCORE:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsRankingQuestNewScore);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_JOIN_REWARD:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsRankingQuestJoinReward);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_RANKINGQUEST_RESULT_VALIDRANK:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.ValidateRankingQuestRank);
                }
                break;

            case FlowNode_Condition.Conditions.DIFFERENT_VERSION:
                string version = MyApplicationPlugin.get_version();
                string strB    = PlayerPrefsUtility.GetString(PlayerPrefsUtility.AWAKE_VERSION, string.Empty);
                PlayerPrefsUtility.SetString(PlayerPrefsUtility.AWAKE_VERSION, version, true);
                return(string.Compare(version, strB) != 0);

            case FlowNode_Condition.Conditions.SELECTQUEST_IS_MULTIGPS:
                if (!string.IsNullOrEmpty(GlobalVars.SelectedQuestID))
                {
                    QuestParam quest2 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                    if (quest2 != null)
                    {
                        return(quest2.IsMultiAreaQuest);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.LINEQUEST_IS_MULTIGPS:
                if (!string.IsNullOrEmpty(FlowNode_OnUrlSchemeLaunch.LINEParam_Pending.iname))
                {
                    QuestParam quest2 = MonoSingleton <GameManager> .Instance.FindQuest(FlowNode_OnUrlSchemeLaunch.LINEParam_Pending.iname);

                    if (quest2 != null)
                    {
                        return(quest2.IsMultiAreaQuest);
                    }
                    break;
                }
                break;

            case FlowNode_Condition.Conditions.GPSQUEST_IS_VALID:
                return(MonoSingleton <GameManager> .Instance.IsValidAreaQuest());

            case FlowNode_Condition.Conditions.MULTI_GPSQUEST_IS_VALID:
                return(MonoSingleton <GameManager> .Instance.IsValidMultiAreaQuest());

            case FlowNode_Condition.Conditions.QUEST_IS_ORDEAL:
                if (UnityEngine.Object.op_Implicit((UnityEngine.Object)SceneBattle.Instance))
                {
                    return(SceneBattle.Instance.IsOrdealQuest);
                }
                break;

            case FlowNode_Condition.Conditions.QUEST_IS_GET_UNIT:
                if (UnityEngine.Object.op_Implicit((UnityEngine.Object)SceneBattle.Instance))
                {
                    return(SceneBattle.Instance.IsGetFirstClearItem);
                }
                break;

            case FlowNode_Condition.Conditions.VALID_FIRST_CHARGE_CAMPAIGN:
                if ((byte)MonoSingleton <GameManager> .Instance.Player.FirstChargeStatus != (byte)1)
                {
                    return((byte)MonoSingleton <GameManager> .Instance.Player.FirstChargeStatus == (byte)2);
                }
                return(true);

            case FlowNode_Condition.Conditions.GUERRILLASHOP_IS_STARTED:
                return(MonoSingleton <GameManager> .Instance.Player.IsGuerrillaShopStarted);

            case FlowNode_Condition.Conditions.QUEST_END_CARD_IS_SENDMAIL:
                if (UnityEngine.Object.op_Inequality((UnityEngine.Object)SceneBattle.Instance, (UnityEngine.Object)null))
                {
                    return(SceneBattle.Instance.IsCardSendMail);
                }
                break;

            case FlowNode_Condition.Conditions.TOWER_QUEST_HAVE_MISSION:
                QuestParam quest3 = MonoSingleton <GameManager> .Instance.FindQuest(GlobalVars.SelectedQuestID);

                if (quest3 != null && quest3.HasMission())
                {
                    return(true);
                }
                break;

            case FlowNode_Condition.Conditions.SHOW_BEGINNER_TOP_NOTIFY:
                if (player.IsBeginner() && PlayerPrefsUtility.GetInt(PlayerPrefsUtility.BEGINNER_TOP_HAS_VISITED, 0) == 0)
                {
                    return(true);
                }
                break;
            }
            return(false);
        }
Beispiel #9
0
        private void RefreshSubPanel(int index)
        {
            GameUtility.DestroyGameObjects(this.mGainedQuests);
            this.mGainedQuests.Clear();
            ((Component)this.MainPanelCloseBtn).get_gameObject().SetActive(false);
            if (index < 0)
            {
                DebugUtility.LogWarning("UnitEvolutionWindow.cs => RefreshSubPanel():index is 0!");
            }
            else
            {
                TobiraRecipeParam currentRecipe = this.GetCurrentRecipe();
                if (currentRecipe == null)
                {
                    DebugUtility.LogError("UnitEvolutionWindow.cs => RefreshSubPanel():recipeParam is Null References!");
                }
                else
                {
                    ItemParam data = (ItemParam)null;
                    int       num  = 0;
                    if (currentRecipe.UnitPieceNum > 0)
                    {
                        if (index == num)
                        {
                            data = MonoSingleton <GameManager> .Instance.GetItemParam(this.mCurrentUnit.UnitParam.piece);

                            goto label_22;
                        }
                        else
                        {
                            ++num;
                        }
                    }
                    if (currentRecipe.ElementNum > 0)
                    {
                        if (index == num)
                        {
                            data = this.mCurrentUnit.GetElementPieceParam();
                            goto label_22;
                        }
                        else
                        {
                            ++num;
                        }
                    }
                    if (currentRecipe.UnlockElementNum > 0)
                    {
                        if (index == num)
                        {
                            data = MonoSingleton <GameManager> .Instance.GetItemParam(this.mCurrentUnit.GetUnlockTobiraElementID());

                            goto label_22;
                        }
                        else
                        {
                            ++num;
                        }
                    }
                    if (currentRecipe.UnlockBirthNum > 0)
                    {
                        if (index == num)
                        {
                            data = MonoSingleton <GameManager> .Instance.GetItemParam(this.mCurrentUnit.GetUnlockTobiraBirthID());

                            goto label_22;
                        }
                        else
                        {
                            ++num;
                        }
                    }
                    int index1 = index - num;
                    if (0 <= index1 && index1 < currentRecipe.Materials.Length)
                    {
                        data = MonoSingleton <GameManager> .Instance.GetItemParam(currentRecipe.Materials[index1].Iname);
                    }
label_22:
                    if (data == null)
                    {
                        DebugUtility.LogError("UnitEvolutionWindow.cs => RefreshSubPanel():itemParam is Null References!");
                    }
                    else
                    {
                        this.SubPanel.SetActive(true);
                        DataSource.Bind <ItemParam>(this.SubPanel, data);
                        GameParameter.UpdateAll(this.SubPanel.get_gameObject());
                        if (this.mLastSelectItemIname != data.iname)
                        {
                            this.ResetScrollPosition();
                            this.mLastSelectItemIname = data.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(data, GlobalVars.GetDropTableGeneratedDateTime());
                        using (List <QuestParam> .Enumerator enumerator = itemDropQuestList.GetEnumerator())
                        {
                            while (enumerator.MoveNext())
                            {
                                QuestParam qp       = enumerator.Current;
                                bool       isActive = Array.Find <QuestParam>(availableQuests, (Predicate <QuestParam>)(p => p.iname == qp.iname)) != null;
                                this.AddList(qp, isActive);
                            }
                        }
                    }
                }
            }
        }