Exemplo n.º 1
0
 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();
            }
        }
    }
Exemplo n.º 4
0
    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);
    }