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();
        }
예제 #2
0
        private void Setup(int idx)
        {
            if (this.mIsActivatePinAfterSelectedFloor)
            {
                this.mIsActivatePinAfterSelectedFloor = false;
                FlowNode_GameObject.ActivateOutputLinks((Component)this, 10);
            }
            GameManager          instance     = MonoSingleton <GameManager> .Instance;
            MultiTowerFloorParam mtFloorParam = instance.GetMTFloorParam(GlobalVars.SelectedMultiTowerID, idx);

            if (mtFloorParam == null || !UnityEngine.Object.op_Inequality((UnityEngine.Object) this.QuestInfo, (UnityEngine.Object)null))
            {
                return;
            }
            int mtChallengeFloor  = instance.GetMTChallengeFloor();
            int mtClearedMaxFloor = instance.GetMTClearedMaxFloor();
            int num1 = int.MaxValue;

            if (!this.IsMultiTowerTop)
            {
                num1 = this.GetCanCharengeFloor();
            }
            this.SetButtonIntractable(((int)mtFloorParam.floor <= mtClearedMaxFloor || (int)mtFloorParam.floor == mtChallengeFloor) && (int)mtFloorParam.floor <= num1);
            MultiTowerFloorParam dataOfClass = DataSource.FindDataOfClass <MultiTowerFloorParam>(this.QuestInfo, (MultiTowerFloorParam)null);

            if (dataOfClass != null && (int)mtFloorParam.floor == (int)dataOfClass.floor)
            {
                return;
            }
            DebugUtility.Log("設定" + mtFloorParam.name);
            QuestParam questParam = mtFloorParam.GetQuestParam();

            DataSource.Bind <MultiTowerFloorParam>(this.QuestInfo, mtFloorParam);
            DataSource.Bind <QuestParam>(this.QuestInfo, questParam);
            GameParameter.UpdateAll(this.QuestInfo);
            MultiTowerQuestInfo component = (MultiTowerQuestInfo)this.QuestInfo.GetComponent <MultiTowerQuestInfo>();

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null))
            {
                component.Refresh();
            }
            GlobalVars.SelectedMultiTowerID    = mtFloorParam.tower_id;
            GlobalVars.SelectedQuestID         = questParam.iname;
            GlobalVars.SelectedMultiTowerFloor = (int)mtFloorParam.floor;
            int num2 = questParam.RequiredApWithPlayerLv(instance.Player.Lv, true);

            if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.QuestAP, (UnityEngine.Object)null))
            {
                this.QuestAP.set_text(num2.ToString());
            }
            if (!UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ChangeQuestAP, (UnityEngine.Object)null))
            {
                return;
            }
            this.ChangeQuestAP.set_text(num2.ToString());
        }