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(); }
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()); }