예제 #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 ShowReward(bool updateCacheValues)
    {
        GoldRewardData data = base.Data as GoldRewardData;

        if (!data.IsDummyReward)
        {
            bool flag = false;
            if (base.Data.Origin == NetCache.ProfileNotice.NoticeOrigin.BETA_REIMBURSE)
            {
                flag = NetCache.Get().GetNetObject <NetCache.NetCacheGoldBalance>().GetTotal() == 0L;
            }
            else
            {
                flag = updateCacheValues;
            }
            if (flag)
            {
                NetCache.Get().RefreshNetObject <NetCache.NetCacheGoldBalance>();
            }
        }
        base.m_root.SetActive(true);
        Vector3 localScale = this.m_coin.transform.localScale;

        this.m_coin.transform.localScale = new Vector3(0.1f, 0.1f, 0.1f);
        object[] args = new object[] { "scale", localScale, "time", 0.5f, "easetype", iTween.EaseType.easeOutElastic };
        iTween.ScaleTo(this.m_coin.gameObject, iTween.Hash(args));
        this.m_coin.transform.localEulerAngles = new Vector3(0f, 180f, 180f);
        object[]  objArray2 = new object[] { "amount", new Vector3(0f, 0f, 540f), "time", 1.5f, "easeType", iTween.EaseType.easeOutElastic, "space", Space.Self };
        Hashtable hashtable = iTween.Hash(objArray2);

        iTween.RotateAdd(this.m_coin.gameObject, hashtable);
    }
    protected override void OnDataSet(bool updateVisuals)
    {
        if (updateVisuals)
        {
            GoldRewardData data = base.Data as GoldRewardData;
            if (data == null)
            {
                Debug.LogWarning(string.Format("goldRewardData.SetData() - data {0} is not GoldRewardData", base.Data));
            }
            else
            {
                string   headline = GameStrings.Get("GLOBAL_REWARD_GOLD_HEADLINE");
                string   details  = data.Amount.ToString();
                string   source   = string.Empty;
                UberText text     = this.m_coin.GetComponentsInChildren <UberText>(true)[0];
                if (text != null)
                {
                    base.m_rewardBanner.m_detailsText = text;
                    base.m_rewardBanner.AlignHeadlineToCenterBone();
                }
                NetCache.ProfileNotice.NoticeOrigin origin = base.Data.Origin;
                switch (origin)
                {
                case NetCache.ProfileNotice.NoticeOrigin.BETA_REIMBURSE:
                    headline = GameStrings.Get("GLOBAL_BETA_REIMBURSEMENT_HEADLINE");
                    source   = GameStrings.Get("GLOBAL_BETA_REIMBURSEMENT_DETAILS");
                    break;

                case NetCache.ProfileNotice.NoticeOrigin.TOURNEY:
                {
                    NetCache.NetCacheRewardProgress netObject = NetCache.Get().GetNetObject <NetCache.NetCacheRewardProgress>();
                    object[] args = new object[] { netObject.WinsPerGold };
                    source = GameStrings.Format("GLOBAL_REWARD_GOLD_SOURCE_TOURNEY", args);
                    break;
                }

                default:
                    if (origin == NetCache.ProfileNotice.NoticeOrigin.IGR)
                    {
                        if (data.Date.HasValue)
                        {
                            object[] objArray2 = new object[] { data.Date };
                            string   str4      = GameStrings.Format("GLOBAL_CURRENT_DATE", objArray2);
                            object[] objArray3 = new object[] { str4 };
                            source = GameStrings.Format("GLOBAL_REWARD_GOLD_SOURCE_IGR_DATED", objArray3);
                        }
                        else
                        {
                            source = GameStrings.Get("GLOBAL_REWARD_GOLD_SOURCE_IGR");
                        }
                    }
                    break;
                }
                base.SetRewardText(headline, details, source);
            }
        }
    }
    private void LoadCenterImage()
    {
        if (((this.m_quest.Rewards == null) || (this.m_quest.Rewards.Count == 0)) || (this.m_quest.Rewards[0] == null))
        {
            Debug.LogError("QuestTile.LoadCenterImage() - This quest doesn't grant a reward!!!");
        }
        else
        {
            RewardData data    = this.m_quest.Rewards[0];
            Vector2    zero    = Vector2.zero;
            Vector3    vector2 = Vector3.zero;
            this.m_rewardIcon.transform.localPosition = this.m_defaultBone.transform.localPosition;
            switch (data.RewardType)
            {
            case Reward.Type.BOOSTER_PACK:
                zero = new Vector2(0f, 0.75f);
                break;

            case Reward.Type.CARD:
                zero = new Vector2(0.5f, 0f);
                break;

            case Reward.Type.FORGE_TICKET:
                zero    = new Vector2(0.75f, 0.75f);
                vector2 = new Vector3(0.9192683f, 0.9192683f, 0.9192683f);
                break;

            case Reward.Type.GOLD:
            {
                zero = new Vector2(0.25f, 0.75f);
                GoldRewardData data2 = (GoldRewardData)data;
                this.m_goldAmount.Text = data2.Amount.ToString();
                this.m_goldAmount.gameObject.SetActive(true);
                break;
            }

            case Reward.Type.MOUNT:
            {
                long amount = 0L;
                if ((this.m_quest.Rewards.Count > 1) && (this.m_quest.Rewards[1].RewardType == Reward.Type.GOLD))
                {
                    amount = (this.m_quest.Rewards[1] as GoldRewardData).Amount;
                }
                zero = new Vector2(0.25f, 0.75f);
                this.m_goldAmount.Text = amount.ToString();
                this.m_goldAmount.gameObject.SetActive(true);
                break;
            }
            }
            if (vector2 != Vector3.zero)
            {
                this.m_rewardIcon.transform.localScale = vector2;
            }
            this.m_rewardIcon.GetComponent <Renderer>().material.mainTextureOffset = zero;
        }
    }
예제 #5
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);
    }