public override void UpdateValue() { ItemParam itemParam = (ItemParam)null; int itemNum = 0; this.InstanceType.GetInstanceData(this.InstanceIndex, ((Component)this).get_gameObject(), out itemParam, out itemNum); if (itemParam != null) { base.UpdateValue(); } else { ConceptCardParam conceptCardParam = (ConceptCardParam)null; QuestResult.DropItemData dropItemData = (QuestResult.DropItemData)null; this.GetParam(ref conceptCardParam, ref dropItemData); if (conceptCardParam != null) { this.Refresh_ConceptCard(conceptCardParam); } else { if (dropItemData == null) { return; } this.Refresh_DropItem(dropItemData); } } }
private void GetParam(ref ConceptCardParam conceptCardParam, ref QuestResult.DropItemData dropItemData) { conceptCardParam = DataSource.FindDataOfClass <ConceptCardParam>(((Component)this).get_gameObject(), (ConceptCardParam)null); if (conceptCardParam != null) { return; } dropItemData = DataSource.FindDataOfClass <QuestResult.DropItemData>(((Component)this).get_gameObject(), (QuestResult.DropItemData)null); if (dropItemData != null) { ; } }
private void Refresh_DropItem(QuestResult.DropItemData data) { if (data == null) { return; } if (data.IsItem) { this.Refresh_Item(data.itemParam); } else if (data.IsConceptCard) { this.Refresh_ConceptCard(data.conceptCardParam); } if (Object.op_Inequality((Object)this.Num, (Object)null)) { this.Num.set_text(data.Num.ToString()); } if (!Object.op_Inequality((Object)this.HaveNum, (Object)null)) { return; } int num = -1; if (data.IsItem) { num = this.GetHaveNum(data.itemParam, -1); } else if (data.IsConceptCard) { num = this.GetHaveNum(data.conceptCardParam, -1); } if (num < 0) { return; } this.HaveNum.set_text(LocalizedText.Get("sys.QUESTRESULT_REWARD_ITEM_HAVE", new object[1] { (object)num })); }
private void Start() { PlayerData player = MonoSingleton <GameManager> .Instance.Player; GlobalVars.PartyUploadFinished = false; if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.UnitListItem, (UnityEngine.Object)null)) { this.UnitListItem.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureListItem, (UnityEngine.Object)null)) { this.TreasureListItem.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureListUnit, (UnityEngine.Object)null)) { this.TreasureListUnit.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureListArtifact, (UnityEngine.Object)null)) { this.TreasureListArtifact.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureListConceptCard, (UnityEngine.Object)null)) { this.TreasureListConceptCard.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.Prefab_NewItemBadge, (UnityEngine.Object)null) && this.Prefab_NewItemBadge.get_gameObject().get_activeInHierarchy()) { this.Prefab_NewItemBadge.SetActive(false); } SceneBattle instance = SceneBattle.Instance; GameUtility.DestroyGameObjects(this.mUnitListItems); GameUtility.DestroyGameObjects(this.mTreasureListItems); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)instance, (UnityEngine.Object)null) && instance.ResultData != null) { this.mCurrentQuest = MonoSingleton <GameManager> .Instance.FindQuest(instance.Battle.QuestID); DataSource.Bind <QuestParam>(((Component)this).get_gameObject(), this.mCurrentQuest); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.RetryButton, (UnityEngine.Object)null)) { this.RetryButton.SetActive((long)new TimeSpan(TimeManager.ServerTime.Ticks).Days <= (long)new TimeSpan(player.LoginDate.Ticks).Days&& this.mCurrentQuest.type != QuestTypes.Tutorial && !this.mCurrentQuest.IsCharacterQuest()); } if (this.mCurrentQuest.type == QuestTypes.Tutorial && UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TeamUploadButton, (UnityEngine.Object)null)) { ((Selectable)this.TeamUploadButton).set_interactable(false); } this.mResultData = instance.ResultData; this.mQuestName = this.mCurrentQuest.iname; if (instance.IsPlayingArenaQuest) { this.mResultData.Record.playerexp = (OInt)GlobalVars.ResultArenaBattleResponse.got_pexp; this.mResultData.Record.gold = (OInt)GlobalVars.ResultArenaBattleResponse.got_gold; this.mResultData.Record.unitexp = (OInt)GlobalVars.ResultArenaBattleResponse.got_uexp; if (UnityEngine.Object.op_Implicit((UnityEngine.Object) this.GoArenaResultWin)) { this.GoArenaResultWin.SetActive(this.mResultData.Record.result == BattleCore.QuestResult.Win); } if (UnityEngine.Object.op_Implicit((UnityEngine.Object) this.GoArenaResultLose)) { this.GoArenaResultLose.SetActive(this.mResultData.Record.result != BattleCore.QuestResult.Win); } if (instance.IsArenaRankupInfo()) { MonoSingleton <GameManager> .Instance.Player.UpdateArenaRankTrophyStates(GlobalVars.ResultArenaBattleResponse.new_rank, GlobalVars.ResultArenaBattleResponse.new_rank); } else { MonoSingleton <GameManager> .Instance.Player.UpdateArenaRankTrophyStates(GlobalVars.ResultArenaBattleResponse.new_rank, MonoSingleton <GameManager> .Instance.Player.ArenaRankBest); } } bool isMultiTower = instance.Battle.IsMultiTower; bool isMultiPlay = instance.Battle.IsMultiPlay; for (int index = 0; index < instance.Battle.Units.Count; ++index) { Unit unit = instance.Battle.Units[index]; if ((isMultiTower || !isMultiPlay || unit.OwnerPlayerIndex == instance.Battle.MyPlayerIndex) && (player.FindUnitDataByUniqueID(unit.UnitData.UniqueID) != null || isMultiTower && unit.Side == EUnitSide.Player)) { UnitData unitData = new UnitData(); unitData.Setup(unit.UnitData); this.mUnits.Add(unitData); this.mMultiTowerUnitsId.Add(unit.OwnerPlayerIndex); } } if (instance.IsArenaRankupInfo()) { FlowNode_GameObject.ActivateOutputLinks((Component)this, 40); } } DataSource.Bind <BattleCore.Record>(((Component)this).get_gameObject(), this.mResultData.Record); if (this.mResultData != null) { if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureListItem, (UnityEngine.Object)null)) { Transform parent = !UnityEngine.Object.op_Inequality((UnityEngine.Object) this.TreasureList, (UnityEngine.Object)null) ? this.TreasureListItem.get_transform().get_parent() : this.TreasureList.get_transform(); List <QuestResult.DropItemData> items = new List <QuestResult.DropItemData>(); for (int index1 = 0; index1 < this.mResultData.Record.items.Count; ++index1) { bool flag = false; for (int index2 = 0; index2 < items.Count; ++index2) { if (items[index2].mIsSecret == this.mResultData.Record.items[index1].mIsSecret) { if (items[index2].IsItem) { if (items[index2].itemParam == this.mResultData.Record.items[index1].itemParam) { items[index2].Gain(1); flag = true; break; } } else if (items[index2].IsConceptCard && items[index2].conceptCardParam == this.mResultData.Record.items[index1].conceptCardParam) { items[index2].Gain(1); flag = true; break; } } } if (!flag) { QuestResult.DropItemData dropItemData = new QuestResult.DropItemData(); if (this.mResultData.Record.items[index1].IsItem) { dropItemData.SetupDropItemData(EBattleRewardType.Item, 0L, this.mResultData.Record.items[index1].itemParam.iname, 1); if (this.mResultData.Record.items[index1].itemParam.type != EItemType.Unit) { ItemData itemDataByItemParam = player.FindItemDataByItemParam(this.mResultData.Record.items[index1].itemParam); dropItemData.IsNew = !player.ItemEntryExists(this.mResultData.Record.items[index1].itemParam.iname) || (itemDataByItemParam == null || itemDataByItemParam.IsNew); } else { string iid = this.mResultData.Record.items[index1].itemParam.iname; if (player.Units.Find((Predicate <UnitData>)(p => p.UnitParam.iname == iid)) == null) { dropItemData.IsNew = true; } } } else if (this.mResultData.Record.items[index1].IsConceptCard) { dropItemData.SetupDropItemData(EBattleRewardType.ConceptCard, 0L, this.mResultData.Record.items[index1].conceptCardParam.iname, 1); } dropItemData.mIsSecret = this.mResultData.Record.items[index1].mIsSecret; items.Add(dropItemData); } } if (this.mCurrentQuest != null && this.mCurrentQuest.IsVersus) { VersusCoinParam coinParam = MonoSingleton <GameManager> .Instance.GetVersusCoinParam(this.mCurrentQuest.iname); if (coinParam != null) { QuestResult.DropItemData dropItemData1 = items.Find((Predicate <QuestResult.DropItemData>)(x => x.Param.iname == coinParam.coin_iname)); if (dropItemData1 != null) { dropItemData1.Gain((int)this.mResultData.Record.pvpcoin); } else if ((int)this.mResultData.Record.pvpcoin > 0) { QuestResult.DropItemData dropItemData2 = new QuestResult.DropItemData(); dropItemData2.Setup(0L, coinParam.coin_iname, (int)this.mResultData.Record.pvpcoin); dropItemData2.mIsSecret = false; dropItemData2.IsNew = !player.ItemEntryExists(coinParam.coin_iname); items.Add(dropItemData2); } } } this.CreateItemObject(items, parent); this.CreateArtifactObjects(parent); this.CreateGoldObjects(parent); } this.ApplyQuestCampaignParams(instance.Battle.QuestCampaignIds); if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.UnitListItem, (UnityEngine.Object)null)) { if (instance.Battle.IsMultiTower) { this.AddExpPlayerMultiTower(); } else { this.AddExpPlayer(); } } GlobalVars.PlayerExpOld.Set(this.mResultData.StartExp); GlobalVars.PlayerExpNew.Set(this.mResultData.StartExp + (int)this.mResultData.Record.playerexp); GlobalVars.PlayerLevelChanged.Set(player.Lv != PlayerData.CalcLevelFromExp(this.mResultData.StartExp)); this.RefreshQuestMissionReward(); if (!string.IsNullOrEmpty(this.Star_ClearTrigger)) { for (int index = 0; index < this.mObjectiveStars.Count; ++index) { if ((this.mCurrentQuest.clear_missions & 1 << index) != 0) { GameUtility.SetAnimatorTrigger(this.mObjectiveStars[index], this.Star_ClearTrigger); } } } player.OnGoldChange((int)this.mResultData.Record.gold); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object) this.StarKakuninButton, (UnityEngine.Object)null)) { // ISSUE: method pointer ((UnityEvent)this.StarKakuninButton.get_onClick()).AddListener(new UnityAction((object)this, __methodptr(OnStarKakuninButtonClick))); this.mContinueStarAnimation = false; } GlobalVars.CreateAutoMultiTower = false; GlobalVars.InvtationSameUser = false; if (!UnityEngine.Object.op_Inequality((UnityEngine.Object) this.ResultSkipButton, (UnityEngine.Object)null)) { return; } ((Component)this.ResultSkipButton).get_gameObject().SetActive(false); }
public static GameObject CreateItemObject(GameObject node, GameObject newIcon, QuestResult.DropItemData item) { GameObject root = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)node); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)root, (UnityEngine.Object)null)) { DataSource.Bind <QuestResult.DropItemData>(root, item); if (item.mIsSecret) { DropItemIcon component = (DropItemIcon)root.GetComponent <DropItemIcon>(); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)component, (UnityEngine.Object)null)) { component.IsSecret = true; } } root.SetActive(true); GameParameter.UpdateAll(root); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)newIcon, (UnityEngine.Object)null) && item.IsNew) { GameObject gameObject = (GameObject)UnityEngine.Object.Instantiate <GameObject>((M0)newIcon); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)gameObject, (UnityEngine.Object)null)) { RectTransform transform = gameObject.get_transform() as RectTransform; ((Component)transform).get_gameObject().SetActive(true); transform.set_anchoredPosition(Vector2.get_zero()); ((Transform)transform).SetParent(root.get_transform(), false); } } } return(root); }
public static void SetupTreasureList(GameObject list, GameObject node, GameObject newIcon, GameObject owner, List <GameObject> itemNodes) { if (UnityEngine.Object.op_Inequality((UnityEngine.Object)node, (UnityEngine.Object)null)) { node.SetActive(false); } if (UnityEngine.Object.op_Inequality((UnityEngine.Object)newIcon, (UnityEngine.Object)null) && newIcon.get_gameObject().get_activeInHierarchy()) { newIcon.SetActive(false); } PlayerData player = MonoSingleton <GameManager> .Instance.Player; SceneBattle instance = SceneBattle.Instance; if (!UnityEngine.Object.op_Inequality((UnityEngine.Object)instance, (UnityEngine.Object)null)) { return; } BattleCore battle = instance.Battle; BattleCore.Record record = new BattleCore.Record(); battle.GainUnitSteal(record); battle.GainUnitDrop(record, true); DataSource.Bind <BattleCore.Record>(owner, record); if (record == null) { return; } Transform transform = !UnityEngine.Object.op_Inequality((UnityEngine.Object)list, (UnityEngine.Object)null) ? node.get_transform().get_parent() : list.get_transform(); List <QuestResult.DropItemData> dropItemDataList = new List <QuestResult.DropItemData>(); for (int index1 = 0; index1 < record.items.Count; ++index1) { bool flag = false; for (int index2 = 0; index2 < dropItemDataList.Count; ++index2) { if (dropItemDataList[index2].mIsSecret == record.items[index1].mIsSecret) { if (dropItemDataList[index2].IsItem) { if (dropItemDataList[index2].itemParam == record.items[index1].itemParam) { dropItemDataList[index2].Gain(1); flag = true; break; } } else if (dropItemDataList[index2].IsConceptCard && dropItemDataList[index2].conceptCardParam == record.items[index1].conceptCardParam) { dropItemDataList[index2].Gain(1); flag = true; break; } } } if (!flag) { QuestResult.DropItemData dropItemData = new QuestResult.DropItemData(); if (record.items[index1].IsItem) { dropItemData.SetupDropItemData(EBattleRewardType.Item, 0L, record.items[index1].itemParam.iname, 1); if (record.items[index1].itemParam.type != EItemType.Unit) { ItemData itemDataByItemParam = player.FindItemDataByItemParam(record.items[index1].itemParam); dropItemData.IsNew = !player.ItemEntryExists(record.items[index1].itemParam.iname) || (itemDataByItemParam == null || itemDataByItemParam.IsNew); } else { string iid = record.items[index1].itemParam.iname; if (player.Units.Find((Predicate <UnitData>)(p => p.UnitParam.iname == iid)) == null) { dropItemData.IsNew = true; } } } else if (record.items[index1].IsConceptCard) { dropItemData.SetupDropItemData(EBattleRewardType.ConceptCard, 0L, record.items[index1].conceptCardParam.iname, 1); } dropItemData.mIsSecret = record.items[index1].mIsSecret; if (dropItemData.mIsSecret) { dropItemData.IsNew = false; } dropItemDataList.Add(dropItemData); } } for (int index = 0; index < dropItemDataList.Count; ++index) { GameObject itemObject = ConfigWindow.CreateItemObject(node, newIcon, dropItemDataList[index]); if (UnityEngine.Object.op_Inequality((UnityEngine.Object)itemObject, (UnityEngine.Object)null)) { itemObject.get_transform().SetParent(transform, false); itemNodes.Add(itemObject); } } }
private QuestResult.DropItemData[] MergeDropItems(RaidResult raidResult) { if (raidResult == null) { return(new QuestResult.DropItemData[0]); } PlayerData player = MonoSingleton <GameManager> .Instance.Player; List <QuestResult.DropItemData> dropItemDataList = new List <QuestResult.DropItemData>(); using (List <RaidQuestResult> .Enumerator enumerator = raidResult.results.GetEnumerator()) { while (enumerator.MoveNext()) { RaidQuestResult current = enumerator.Current; if (current != null) { foreach (QuestResult.DropItemData drop in current.drops) { if (drop != null) { bool flag = false; for (int index = 0; index < dropItemDataList.Count; ++index) { if (dropItemDataList[index].IsItem && drop.IsItem && dropItemDataList[index].itemParam == drop.itemParam) { dropItemDataList[index].Gain(drop.Num); flag = true; break; } if (dropItemDataList[index].IsConceptCard && drop.IsConceptCard && dropItemDataList[index].conceptCardParam == drop.conceptCardParam) { dropItemDataList[index].Gain(drop.Num); flag = true; break; } } if (!flag) { QuestResult.DropItemData dropItemData = new QuestResult.DropItemData(); if (drop.IsItem) { dropItemData.SetupDropItemData(EBattleRewardType.Item, 0L, drop.itemParam.iname, drop.Num); if (drop.itemParam.type != EItemType.Unit) { ItemData itemDataByItemParam = player.FindItemDataByItemParam(drop.itemParam); dropItemData.IsNew = !player.ItemEntryExists(drop.itemParam.iname) || (itemDataByItemParam == null || itemDataByItemParam.IsNew); } else { string iid = drop.itemParam.iname; if (player.Units.Find((Predicate <UnitData>)(p => p.UnitParam.iname == iid)) == null) { dropItemData.IsNew = true; } } } else if (drop.IsConceptCard) { dropItemData.SetupDropItemData(EBattleRewardType.ConceptCard, 0L, drop.conceptCardParam.iname, drop.Num); } dropItemDataList.Add(dropItemData); } } } } } } return(dropItemDataList.ToArray()); }
protected override void ShowTooltip(Vector2 screen) { RectTransform transform = ((Component)this).get_transform() as RectTransform; Vector2 vector2_1 = screen; Vector2 up = Vector2.get_up(); Rect rect = transform.get_rect(); // ISSUE: explicit reference operation double height = (double)((Rect)@rect).get_height(); Vector2 vector2_2 = Vector2.op_Multiply(Vector2.op_Multiply(up, (float)height), 0.5f); Tooltip.TooltipPosition = Vector2.op_Addition(vector2_1, vector2_2); Tooltip tooltip1 = AssetManager.Load <Tooltip>("UI/ItemTooltip"); if (!Object.op_Inequality((Object)tooltip1, (Object)null)) { return; } Tooltip tooltip2 = (Tooltip)Object.Instantiate <Tooltip>((M0)tooltip1); ItemParam itemParam = (ItemParam)null; int itemNum = 0; this.InstanceType.GetInstanceData(this.InstanceIndex, ((Component)this).get_gameObject(), out itemParam, out itemNum); string str1 = string.Empty; string str2 = string.Empty; if (this.IsSecret) { str1 = "sys.ITEMTOOLTIP_SECRET_NAME"; str2 = "sys.ITEMTOOLTIP_SECRET_DESC"; } else if (itemParam != null) { str1 = itemParam.name; str2 = itemParam.Expr; DataSource.Bind <ItemParam>(((Component)tooltip2).get_gameObject(), itemParam); } else { ConceptCardParam conceptCardParam = (ConceptCardParam)null; QuestResult.DropItemData dropItemData = (QuestResult.DropItemData)null; this.GetParam(ref conceptCardParam, ref dropItemData); if (conceptCardParam != null) { str1 = conceptCardParam.name; str2 = conceptCardParam.expr; } else if (dropItemData != null) { if (dropItemData.IsItem) { str1 = dropItemData.itemParam.name; str2 = dropItemData.itemParam.Expr; } else if (dropItemData.IsConceptCard) { str1 = dropItemData.conceptCardParam.name; str2 = dropItemData.conceptCardParam.expr; } int num = dropItemData.Num; } } if (Object.op_Implicit((Object)tooltip2.TextName)) { GameParameter component = (GameParameter)((Component)tooltip2.TextName).GetComponent <GameParameter>(); if (Object.op_Implicit((Object)component)) { ((Behaviour)component).set_enabled(false); } tooltip2.TextName.set_text(str1); } if (Object.op_Implicit((Object)tooltip2.TextDesc)) { GameParameter component = (GameParameter)((Component)tooltip2.TextDesc).GetComponent <GameParameter>(); if (Object.op_Implicit((Object)component)) { ((Behaviour)component).set_enabled(false); } tooltip2.TextDesc.set_text(str2); } CanvasStack component1 = (CanvasStack)((Component)tooltip2).GetComponent <CanvasStack>(); if (!Object.op_Inequality((Object)component1, (Object)null)) { return; } component1.SystemModal = true; component1.Priority = 1; }