public void SetData(VersusTowerRewardItem.REWARD_TYPE type, int idx = 0) { GameManager instance = MonoSingleton <GameManager> .Instance; VersusTowerParam dataOfClass = DataSource.FindDataOfClass <VersusTowerParam>(((Component)this).get_gameObject(), (VersusTowerParam)null); if (dataOfClass == null) { return; } VERSUS_ITEM_TYPE versusItemType = VERSUS_ITEM_TYPE.item; string str = string.Empty; int num = 0; if (type == VersusTowerRewardItem.REWARD_TYPE.Arrival) { versusItemType = dataOfClass.ArrivalItemType; str = (string)dataOfClass.ArrivalIteminame; num = (int)dataOfClass.ArrivalItemNum; } else if (idx >= 0 && idx < dataOfClass.SeasonIteminame.Length) { versusItemType = dataOfClass.SeasonItemType[idx]; str = (string)dataOfClass.SeasonIteminame[idx]; num = (int)dataOfClass.SeasonItemnum[idx]; } if (Object.op_Inequality((Object)this.itemObj, (Object)null)) { this.itemObj.SetActive(true); } if (Object.op_Inequality((Object)this.unitObj, (Object)null)) { this.unitObj.SetActive(false); } switch (versusItemType) { case VERSUS_ITEM_TYPE.item: if (!Object.op_Inequality((Object)this.itemObj, (Object)null) || !Object.op_Inequality((Object)this.amountObj, (Object)null)) { break; } ArtifactIcon componentInChildren1 = (ArtifactIcon)this.itemObj.GetComponentInChildren <ArtifactIcon>(); if (Object.op_Inequality((Object)componentInChildren1, (Object)null)) { ((Behaviour)componentInChildren1).set_enabled(false); } this.itemObj.SetActive(true); ItemParam itemParam = instance.GetItemParam(str); DataSource.Bind <ItemParam>(this.itemObj, itemParam); ItemData data1 = new ItemData(); data1.Setup(0L, itemParam, num); DataSource.Bind <ItemData>(this.amountObj, data1); GameParameter.UpdateAll(this.itemObj); if (Object.op_Inequality((Object)this.iconParam, (Object)null)) { this.iconParam.UpdateValue(); } if (Object.op_Inequality((Object)this.frameParam, (Object)null)) { this.frameParam.UpdateValue(); } if (!Object.op_Inequality((Object)this.rewardName, (Object)null)) { break; } this.rewardName.set_text(itemParam.name + string.Format(LocalizedText.Get("sys.CROSS_NUM"), (object)num)); break; case VERSUS_ITEM_TYPE.gold: if (Object.op_Inequality((Object)this.itemTex, (Object)null)) { GameParameter component = (GameParameter)((Component)this.itemTex).GetComponent <GameParameter>(); if (Object.op_Inequality((Object)component, (Object)null)) { ((Behaviour)component).set_enabled(false); } this.itemTex.set_texture(this.goldTex); } if (Object.op_Inequality((Object)this.frameTex, (Object)null) && Object.op_Inequality((Object)this.goldBase, (Object)null)) { this.frameTex.set_sprite(this.goldBase); } if (Object.op_Inequality((Object)this.rewardName, (Object)null)) { this.rewardName.set_text(num.ToString() + LocalizedText.Get("sys.GOLD")); } if (!Object.op_Inequality((Object)this.amountObj, (Object)null)) { break; } this.amountObj.SetActive(false); break; case VERSUS_ITEM_TYPE.coin: if (Object.op_Inequality((Object)this.itemTex, (Object)null)) { GameParameter component = (GameParameter)((Component)this.itemTex).GetComponent <GameParameter>(); if (Object.op_Inequality((Object)component, (Object)null)) { ((Behaviour)component).set_enabled(false); } this.itemTex.set_texture(this.coinTex); } if (Object.op_Inequality((Object)this.frameTex, (Object)null) && Object.op_Inequality((Object)this.coinBase, (Object)null)) { this.frameTex.set_sprite(this.coinBase); } if (Object.op_Inequality((Object)this.rewardName, (Object)null)) { this.rewardName.set_text(string.Format(LocalizedText.Get("sys.CHALLENGE_REWARD_COIN"), (object)num)); } if (!Object.op_Inequality((Object)this.amountObj, (Object)null)) { break; } this.amountObj.SetActive(false); break; case VERSUS_ITEM_TYPE.unit: if (!Object.op_Inequality((Object)this.unitObj, (Object)null)) { break; } if (Object.op_Inequality((Object)this.itemObj, (Object)null)) { this.itemObj.SetActive(false); } this.unitObj.SetActive(true); UnitParam unitParam = instance.GetUnitParam(str); DebugUtility.Assert(unitParam != null, "Invalid unit:" + str); UnitData data2 = new UnitData(); data2.Setup(str, 0, 1, 0, (string)null, 1, EElement.None); DataSource.Bind <UnitData>(this.unitObj, data2); GameParameter.UpdateAll(this.unitObj); if (!Object.op_Inequality((Object)this.rewardName, (Object)null)) { break; } this.rewardName.set_text(unitParam.name); break; case VERSUS_ITEM_TYPE.artifact: if (!Object.op_Inequality((Object)this.itemObj, (Object)null)) { break; } ArtifactParam artifactParam = instance.MasterParam.GetArtifactParam(str); DataSource.Bind <ArtifactParam>(this.itemObj, artifactParam); ArtifactIcon componentInChildren2 = (ArtifactIcon)this.itemObj.GetComponentInChildren <ArtifactIcon>(); if (!Object.op_Inequality((Object)componentInChildren2, (Object)null)) { break; } ((Behaviour)componentInChildren2).set_enabled(true); componentInChildren2.UpdateValue(); if (Object.op_Inequality((Object)this.rewardName, (Object)null)) { this.rewardName.set_text(artifactParam.name); } if (!Object.op_Inequality((Object)this.amountObj, (Object)null)) { break; } this.amountObj.SetActive(false); break; } }
private void OnTry() { TrophyParam dataOfClass = DataSource.FindDataOfClass <TrophyParam>(((Component)this).get_gameObject(), (TrophyParam)null); if (dataOfClass == null) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 100); } else { QuestParam questParam = new QuestParam(); PlayerData player = MonoSingleton <GameManager> .Instance.Player; switch (dataOfClass.Objectives[0].type) { case TrophyConditionTypes.winquest: case TrophyConditionTypes.winquestsoldier: case TrophyConditionTypes.losequest: case TrophyConditionTypes.damage_over: case TrophyConditionTypes.complete_all_quest_mission: case TrophyConditionTypes.complete_all_quest_mission_total: case TrophyConditionTypes.complete_all_mission_count: case TrophyConditionTypes.complete_story_mission_count: QuestTypes quest_type1 = QuestTypes.Story; if (!questParam.TransSectionGotoQuest(dataOfClass.Objectives[0].sval_base, out quest_type1, new UIUtility.DialogResultEvent(this.MsgBoxJumpToQuest))) { break; } QuestTypes questTypes1 = quest_type1; switch (questTypes1) { case QuestTypes.Event: case QuestTypes.Gps: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1007); return; case QuestTypes.Tower: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1026); return; case QuestTypes.Beginner: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1028); return; case QuestTypes.MultiGps: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1005); return; default: if (questTypes1 != QuestTypes.Multi) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 1001); return; } goto case QuestTypes.MultiGps; } case TrophyConditionTypes.killenemy: case TrophyConditionTypes.getitem: case TrophyConditionTypes.playerlv: case TrophyConditionTypes.vip: case TrophyConditionTypes.stamina: case TrophyConditionTypes.card: case TrophyConditionTypes.review: case TrophyConditionTypes.followtwitter: case TrophyConditionTypes.unitlevel: case TrophyConditionTypes.evolutionnum: case TrophyConditionTypes.joblevel: case TrophyConditionTypes.logincount: FlowNode_GameObject.ActivateOutputLinks((Component)this, 100); break; case TrophyConditionTypes.winelite: case TrophyConditionTypes.loseelite: if (!questParam.TransSectionGotoElite(new UIUtility.DialogResultEvent(this.MsgBoxJumpToQuest))) { break; } FlowNode_GameObject.ActivateOutputLinks((Component)this, 1001); break; case TrophyConditionTypes.winevent: case TrophyConditionTypes.loseevent: case TrophyConditionTypes.exclear_fire: case TrophyConditionTypes.exclear_water: case TrophyConditionTypes.exclear_wind: case TrophyConditionTypes.exclear_thunder: case TrophyConditionTypes.exclear_light: case TrophyConditionTypes.exclear_dark: case TrophyConditionTypes.exclear_fire_nocon: case TrophyConditionTypes.exclear_water_nocon: case TrophyConditionTypes.exclear_wind_nocon: case TrophyConditionTypes.exclear_thunder_nocon: case TrophyConditionTypes.exclear_light_nocon: case TrophyConditionTypes.exclear_dark_nocon: questParam.GotoEventListQuest((string)null, (string)null); FlowNode_GameObject.ActivateOutputLinks((Component)this, 1007); break; case TrophyConditionTypes.gacha: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1000); break; case TrophyConditionTypes.multiplay: case TrophyConditionTypes.winmulti: case TrophyConditionTypes.winmultimore: case TrophyConditionTypes.winmultiless: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1005); break; case TrophyConditionTypes.ability: case TrophyConditionTypes.makeabilitylevel: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1002); break; case TrophyConditionTypes.soubi: if (player.CheckUnlock(UnlockTargets.EnhanceEquip)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 1003); break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.EnhanceEquip); break; case TrophyConditionTypes.buygold: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1004); break; case TrophyConditionTypes.arena: case TrophyConditionTypes.winarena: case TrophyConditionTypes.losearena: if (player.CheckUnlock(UnlockTargets.Arena)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 1008); break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.Arena); break; case TrophyConditionTypes.fggid: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1025); break; case TrophyConditionTypes.upunitlevel: case TrophyConditionTypes.makeunitlevel: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1009); break; case TrophyConditionTypes.unitequip: case TrophyConditionTypes.upjoblevel: case TrophyConditionTypes.makejoblevel: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1011); break; case TrophyConditionTypes.limitbreak: case TrophyConditionTypes.evoltiontimes: case TrophyConditionTypes.changejob: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1012); break; case TrophyConditionTypes.changeability: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1010); break; case TrophyConditionTypes.buyatshop: this.GotoShop(dataOfClass); break; case TrophyConditionTypes.artifacttransmute: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1022); break; case TrophyConditionTypes.artifactstrength: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1023); break; case TrophyConditionTypes.artifactevolution: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1024); break; case TrophyConditionTypes.wintower: case TrophyConditionTypes.losetower: QuestTypes quest_type2 = QuestTypes.Story; if (!questParam.TransSectionGotoTower(dataOfClass.Objectives[0].sval_base, out quest_type2)) { break; } QuestTypes questTypes2 = quest_type2; switch (questTypes2) { case QuestTypes.Gps: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1007); return; case QuestTypes.Beginner: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1028); return; default: if (questTypes2 != QuestTypes.Event) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 1026); return; } goto case QuestTypes.Gps; } case TrophyConditionTypes.vs: case TrophyConditionTypes.vswin: if (player.CheckUnlock(UnlockTargets.MultiVS)) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 1027); break; } LevelLock.ShowLockMessage(player.Lv, player.VipRank, UnlockTargets.MultiVS); break; case TrophyConditionTypes.read_tips: case TrophyConditionTypes.read_tips_count: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1029); break; case TrophyConditionTypes.up_conceptcard_level: case TrophyConditionTypes.up_conceptcard_level_target: case TrophyConditionTypes.limitbreak_conceptcard: case TrophyConditionTypes.limitbreak_conceptcard_target: case TrophyConditionTypes.up_conceptcard_trust: case TrophyConditionTypes.up_conceptcard_trust_target: case TrophyConditionTypes.max_conceptcard_trust: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1030); break; case TrophyConditionTypes.unlock_tobira_total: case TrophyConditionTypes.unlock_tobira_unit: case TrophyConditionTypes.envy_unlock_unit: case TrophyConditionTypes.sloth_unlock_unit: case TrophyConditionTypes.lust_unlock_unit: case TrophyConditionTypes.greed_unlock_unit: case TrophyConditionTypes.wrath_unlock_unit: case TrophyConditionTypes.gluttonny_unlock_unit: case TrophyConditionTypes.pride_unlock_unit: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1012); break; case TrophyConditionTypes.send_present: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1034); break; case TrophyConditionTypes.complete_event_mission_count: questParam.GotoEventListQuest((string)null, (string)null); FlowNode_GameObject.ActivateOutputLinks((Component)this, 1007); break; case TrophyConditionTypes.complete_ordeal_mission_count: case TrophyConditionTypes.clear_ordeal: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1031); break; case TrophyConditionTypes.view_news: FlowNode_GameObject.ActivateOutputLinks((Component)this, 1033); break; default: DebugUtility.Log(string.Format("未知の Trophy 条件 / {0}", (object)dataOfClass.Objectives[0].type)); FlowNode_GameObject.ActivateOutputLinks((Component)this, 100); break; } } }
public static List <ConditionsResult> TobiraRecipeCheck(UnitData unitData, TobiraParam.Category category, int targetLevel) { List <ConditionsResult> conditionsResultList = new List <ConditionsResult>(); GameManager instanceDirect = MonoSingleton <GameManager> .GetInstanceDirect(); TobiraRecipeParam tobiraRecipe = instanceDirect.MasterParam.GetTobiraRecipe(unitData.UnitID, category, targetLevel); if (tobiraRecipe.Cost > 0) { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasGold(tobiraRecipe.Cost)); } if (tobiraRecipe.UnitPieceNum > 0) { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(unitData.UnitParam.piece, tobiraRecipe.UnitPieceNum)); } if (tobiraRecipe.ElementNum > 0) { int elementNum = tobiraRecipe.ElementNum; ItemParam elementPieceParam = unitData.GetElementPieceParam(); if (elementPieceParam == null) { DebugUtility.LogWarning("対応する属性欠片が見つかりませんでした。"); } else { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(elementPieceParam.iname, elementNum)); } } if (tobiraRecipe.UnlockElementNum > 0) { int unlockElementNum = tobiraRecipe.UnlockElementNum; ItemParam itemParam = instanceDirect.GetItemParam(unitData.GetUnlockTobiraElementID()); if (itemParam == null) { DebugUtility.LogWarning("属性に対応する扉用素材が見つかりませんでした。"); } else { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, unlockElementNum)); } } if (tobiraRecipe.UnlockBirthNum > 0) { int unlockBirthNum = tobiraRecipe.UnlockBirthNum; ItemParam itemParam = instanceDirect.GetItemParam(unitData.GetUnlockTobiraBirthID()); if (itemParam == null) { DebugUtility.LogWarning("出自に対応する扉用素材が見つかりませんでした。"); } else { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, unlockBirthNum)); } } foreach (TobiraRecipeMaterialParam material in tobiraRecipe.Materials) { if (material != null && !string.IsNullOrEmpty(material.Iname)) { int num = material.Num; ItemParam itemParam = instanceDirect.GetItemParam(material.Iname); if (itemParam == null) { DebugUtility.LogWarning("アイテムが見つかりませんでした。"); } else { conditionsResultList.Add((ConditionsResult) new ConditionsResult_HasItem(itemParam.iname, num)); } } } return(conditionsResultList); }