internal RewardData(Triton.Game.Mapping.RewardData reward) { this.Type = reward.m_type; this.Count = 1; if (reward.RewardType == Triton.Game.Mapping.Reward.Type.ARCANE_DUST) { ArcaneDustRewardData data = new ArcaneDustRewardData(reward.Address); this.Count = data.Amount; } else if (reward.RewardType == Triton.Game.Mapping.Reward.Type.GOLD) { GoldRewardData data2 = new GoldRewardData(reward.Address); this.Count = (int)data2.Amount; } else if (reward.RewardType == Triton.Game.Mapping.Reward.Type.CARD) { CardRewardData data3 = new CardRewardData(reward.Address); this.Count = data3.Count; } else if (reward.RewardType == Triton.Game.Mapping.Reward.Type.BOOSTER_PACK) { BoosterPackRewardData data4 = new BoosterPackRewardData(reward.Address); this.Count = data4.Count; } }
protected override void OnDataSet(bool updateVisuals) { if (updateVisuals) { this.m_BoosterPackBone.gameObject.SetActive(false); BoosterPackRewardData data = base.Data as BoosterPackRewardData; string headline = string.Empty; string details = string.Empty; string source = string.Empty; if (base.Data.Origin == NetCache.ProfileNotice.NoticeOrigin.OUT_OF_BAND_LICENSE) { headline = GameStrings.Get("GLOBAL_REWARD_BOOSTER_HEADLINE_OUT_OF_BAND"); object[] args = new object[] { data.Count }; source = GameStrings.Format("GLOBAL_REWARD_BOOSTER_DETAILS_OUT_OF_BAND", args); } else if (data.Count <= 1) { string key = "GLOBAL_REWARD_BOOSTER_HEADLINE_GENERIC"; headline = GameStrings.Get(key); } else { object[] objArray2 = new object[] { data.Count }; headline = GameStrings.Format("GLOBAL_REWARD_BOOSTER_HEADLINE_MULTIPLE", objArray2); } base.SetRewardText(headline, details, source); DbfRecord record = GameDbf.Booster.GetRecord(data.Id); if (record != null) { base.SetReady(false); string assetName = record.GetAssetName("PACK_OPENING_PREFAB"); AssetLoader.Get().LoadActor(assetName, new AssetLoader.GameObjectCallback(this.OnUnopenedPackPrefabLoaded), null, false); } } }
private void UpdatePackStacks() { BoosterPackRewardData data = base.Data as BoosterPackRewardData; if (data == null) { Debug.LogWarning(string.Format("BoosterPackReward.UpdatePackStacks() - Data {0} is not CardRewardData", base.Data)); } else { bool flag = data.Count > 1; this.m_unopenedPack.m_SingleStack.m_RootObject.SetActive(!flag); this.m_unopenedPack.m_MultipleStack.m_RootObject.SetActive(flag); this.m_unopenedPack.m_MultipleStack.m_AmountText.enabled = flag; if (flag) { this.m_unopenedPack.m_MultipleStack.m_AmountText.Text = data.Count.ToString(); } } }
private GameObject CreateRewardInstance(int rewardIndex, Vector3 rewardPos, bool activeOnStart) { RewardData data = this.m_Rewards[rewardIndex]; GameObject go = null; switch (data.RewardType) { case Reward.Type.ARCANE_DUST: { go = UnityEngine.Object.Instantiate <GameObject>(this.m_RewardSets.m_RewardDust); TransformUtil.AttachAndPreserveLocalTransform(go.transform, this.m_Root.transform); go.transform.position = rewardPos; go.SetActive(true); UberText componentInChildren = go.GetComponentInChildren <UberText>(); ArcaneDustRewardData data2 = (ArcaneDustRewardData)data; componentInChildren.Text = data2.Amount.ToString(); go.SetActive(activeOnStart); break; } case Reward.Type.BOOSTER_PACK: { BoosterPackRewardData data3 = data as BoosterPackRewardData; int id = data3.Id; if (id == 0) { id = 1; UnityEngine.Debug.LogWarning("RewardBoxesDisplay - booster reward is not valid. ID = 0"); } Log.Kyle.Print(string.Format("Booster DB ID: {0}", id), new object[0]); string assetName = GameDbf.Booster.GetRecord(id).GetAssetName("ARENA_PREFAB"); if (string.IsNullOrEmpty(assetName)) { UnityEngine.Debug.LogError(string.Format("RewardBoxesDisplay - no prefab found for booster {0}!", data3.Id)); } else { go = AssetLoader.Get().LoadGameObject(assetName, true, false); TransformUtil.AttachAndPreserveLocalTransform(go.transform, this.m_Root.transform); go.transform.position = rewardPos; go.SetActive(activeOnStart); } break; } case Reward.Type.CARD: { go = UnityEngine.Object.Instantiate <GameObject>(this.m_RewardSets.m_RewardCard); TransformUtil.AttachAndPreserveLocalTransform(go.transform, this.m_Root.transform); go.transform.position = rewardPos; go.SetActive(true); CardRewardData cardData = (CardRewardData)data; go.GetComponentInChildren <RewardCard>().LoadCard(cardData, this.m_layer); go.SetActive(activeOnStart); break; } case Reward.Type.CARD_BACK: { go = UnityEngine.Object.Instantiate <GameObject>(this.m_RewardSets.m_RewardCardBack); TransformUtil.AttachAndPreserveLocalTransform(go.transform, this.m_Root.transform); go.transform.position = rewardPos; go.SetActive(true); CardBackRewardData cardbackData = (CardBackRewardData)data; go.GetComponentInChildren <RewardCardBack>().LoadCardBack(cardbackData, this.m_layer); go.SetActive(activeOnStart); break; } case Reward.Type.GOLD: { go = UnityEngine.Object.Instantiate <GameObject>(this.m_RewardSets.m_RewardGold); TransformUtil.AttachAndPreserveLocalTransform(go.transform, this.m_Root.transform); go.transform.position = rewardPos; go.SetActive(true); UberText text2 = go.GetComponentInChildren <UberText>(); GoldRewardData data4 = (GoldRewardData)data; text2.Text = data4.Amount.ToString(); go.SetActive(activeOnStart); break; } } if (go == null) { UnityEngine.Debug.LogWarning("RewardBoxesDisplay: Unable to create reward, object null!"); return(null); } if (rewardIndex >= this.m_RewardObjects.Length) { UnityEngine.Debug.LogWarning("RewardBoxesDisplay: CreateRewardInstance reward index exceeded!"); return(null); } SceneUtils.SetLayer(go, this.m_layer); this.m_RewardObjects[rewardIndex] = go; this.m_InstancedObjects.Add(go); return(go); }