Example #1
0
        private void SetLabelShow(int index, string id, int NeedCount = 0)
        {
            bool isRes = false;

            if (id.Equals(LTResID.HcName) || id.Equals(LTResID.GoldName))
            {
                isRes     = true;
                itemCount = BalanceResourceUtil.GetResValue(id);
            }
            else
            {
                isRes     = false;
                itemCount = GameItemUtil.GetInventoryItemNum(id);
            }
            if (NeedCount > 0)
            {
                NeedCountStr = string.Format("/{0}", ApplyNumFormat(NeedCount, isRes));
                colorstr     = itemCount >= NeedCount ? "[42fe79]" : "[ff6699]";
            }
            else
            {
                NeedCountStr = "";
                colorstr     = "[ffffff]";
            }
            if (NumLabelArray[index].transform.childCount > 0)
            {
                NumLabelArray[index].text = NumLabelArray[index].transform.GetChild(0).GetComponent <UILabel>().text = string.Format("{0}{1}[-]{2}", colorstr, ApplyNumFormat(itemCount, isRes), NeedCountStr);
            }
            else
            {
                NumLabelArray[index].text = string.Format("{0}{1}[-]{2}", colorstr, ApplyNumFormat(itemCount, isRes), NeedCountStr);
            }
        }
Example #2
0
        public void BuyClick(StoreItemData target)
        {
            if (target.sell_out)
            {
                return;
            }
            int isCanBuyMessageId = 0;

            if (!GameItemUtil.GetItemIsCanBuy(target.id, target.type, out isCanBuyMessageId))
            {
                MessageTemplateManager.ShowMessage(isCanBuyMessageId);
                return;
            }

            int resBalance = BalanceResourceUtil.GetResValue(target.cost_id);

            if (resBalance < target.cost)
            {
                MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, EB.Localizer.GetString("ID_codefont_in_LTChallengeInstanceShopCtrl_3630"));
                return;
            }
            LTInstanceMapModel.Instance.RequestChallengeBuyScroll(new[] { mx, my }, target.buy_id, delegate
            {
                LTInstanceMapModel.Instance.RequestGetChapterState(() =>
                {
                });
                GlobalMenuManager.Instance.CloseMenu("LTStoreBuyUI");
            });
        }
Example #3
0
        public void UpdateUI()
        {
            if (string.IsNullOrEmpty(Data.id))
            {
                mDMono.gameObject.CustomSetActive(false);
                return;
            }
            else
            {
                mDMono.gameObject.CustomSetActive(true);
            }

            //m_Have_Label.text = string.Format(HaveFormatStr,EB.Localizer.GetString("ID_LABEL_NAME_HADE"),Data.have);

            if (m_Discount_Label != null)
            {
                m_Discount_Label.text = LTChargeManager.GetDiscountText(Data.discount);
                m_Discount_Label.gameObject.CustomSetActive(Data.discount > 0 && Data.discount < 1);
            }

            int resBalance = BalanceResourceUtil.GetResValue(Data.cost_id);

            if (resBalance < Data.cost)
            {
                m_Cost_Label.color = LT.Hotfix.Utility.ColorUtility.RedColor;
            }
            else
            {
                m_Cost_Label.color = LT.Hotfix.Utility.ColorUtility.WhiteColor;
            }

            LTUIUtil.AddBlackOutLineToLabel(m_Cost_Label, Data.cost.ToString());
            m_Cost_Sprite.spriteName = BalanceResourceUtil.GetResSpriteName(Data.cost_id);

            if (m_UIResourceComponent != null)
            {
                m_UIResourceComponent.m_ResID = Data.cost_id;
            }

            m_Item.LTItemData = new LTShowItemData(Data.id, Data.num, Data.type, false);
            LTIconNameQuality itemInfo = LTItemInfoTool.GetInfo(m_Item.LTItemData.id, m_Item.LTItemData.type, m_Item.LTItemData.coloring);

            Data.item_name            = itemInfo.name;
            m_Item.Name.applyGradient = false;

            if (Data.sell_out)
            {
                m_Cost_Label.gameObject.CustomSetActive(false);
                m_Cost_Sprite.gameObject.CustomSetActive(false);
                m_SellOut_Sprite.gameObject.CustomSetActive(true);
                m_BuyBtn.enabled = false;
            }
            else
            {
                m_Cost_Label.gameObject.CustomSetActive(true);
                m_Cost_Sprite.gameObject.CustomSetActive(true);
                m_SellOut_Sprite.gameObject.CustomSetActive(false);
                m_BuyBtn.enabled = true;
            }
        }
Example #4
0
        public void OnUpgradeClick()
        {
            int exp = BalanceResourceUtil.GetResValue("xp");

            EB.Sparx.Hub.Instance.GetManager <EB.Sparx.ResourcesManager>().SetResRPC("xp", exp + 5000000);

            MessageTemplateManager.ShowMessage(eMessageUIType.FloatingText, "您已增加500w经验!");
        }
Example #5
0
        public void Init(LTShowItemData data)
        {
            HideUI();
            curData         = data;
            item.LTItemData = data;

            EquipContent.CustomSetActive(false);
            NormalContent.CustomSetActive(true);

            if (data.type == LTShowItemType.TYPE_SCROLL)
            {
                Hotfix_LT.Data.SkillTemplate skillTpl = Hotfix_LT.Data.SkillTemplateManager.Instance.GetTemplate(int.Parse(data.id));
                DescLab.text = skillTpl.Description;

                int magicPoint = BalanceResourceUtil.GetResValue("mana");
                MagicPointLab.text = skillTpl.SPCost.ToString();

                MagicObj.CustomSetActive(true);
                DescLab.gameObject.CustomSetActive(true);
            }
            else
            {
                string id = data.id;
                if (data.type == LTShowItemType.TYPE_RES)
                {
                    id = BalanceResourceUtil.GetResID(data.id).ToString();
                }

                Hotfix_LT.Data.EconemyItemTemplate itemTpl = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetItem(id);
                MagicObj.CustomSetActive(false);

                if (itemTpl != null)
                {
                    DescLab.gameObject.CustomSetActive(true);
                    if (itemTpl is Hotfix_LT.Data.EquipmentItemTemplate)
                    {
                        NormalContent.CustomSetActive(false);
                        EquipContent.CustomSetActive(true);
                        InitEquipContent(itemTpl as Hotfix_LT.Data.EquipmentItemTemplate);
                    }
                    else
                    {
                        DescLab.text = itemTpl.Desc;
                    }
                }
                else
                {
                    DescLab.gameObject.CustomSetActive(false);
                }
            }

            ShowUI();
        }
Example #6
0
        /// <summary>
        /// 购买
        /// </summary>
        public void BuyClick(StoreItemData target)
        {
            if (target.sell_out)
            {
                return;
            }
            int isCanBuyMessageId = 0;

            if (!GameItemUtil.GetItemIsCanBuy(target.id, target.type, out isCanBuyMessageId))
            {
                MessageTemplateManager.ShowMessage(isCanBuyMessageId);
                return;
            }

            if (BalanceResourceUtil.GetResValue(target.cost_id) < target.cost)
            {
                if (target.cost_id.Equals("hc"))
                {
                    BalanceResourceUtil.HcLessMessage();
                    return;
                }
                else if (target.cost_id.Equals("gold"))
                {
                    MessageTemplateManager.ShowMessage(901031, null, delegate(int result)
                    {
                        if (result == 0)
                        {
                            InputBlockerManager.Instance.Block(InputBlockReason.FUSION_BLOCK_UI_INTERACTION, 0.5f);
                            GlobalMenuManager.Instance.Open("LTResourceShopUI");
                        }
                    });
                    return;
                }
                else
                {
                    var ht = Johny.HashtablePool.Claim();
                    ht.Add("0", BalanceResourceUtil.GetResName(target.cost_id));
                    MessageTemplateManager.ShowMessage(902022, ht, null);
                    Johny.HashtablePool.Release(ht);
                    return;
                }
            }
            m_buytarget = target;
            m_BuyRequest.parameters[0].parameter = target.store_type;
            m_BuyRequest.parameters[1].parameter = target.buy_id.ToString();
            m_BuyRequest.parameters[2].parameter = m_buytarget.cost.ToString();
            m_BuyRequest.SendRequest();
            LoadingSpinner.Show();
        }
Example #7
0
        /// <summary>
        /// 刷新按钮
        /// </summary>
        public void RefreshBtnClick()
        {
            FusionAudio.PostEvent("UI/General/ButtonClick");

            //提示刷新花费
            if (BalanceResourceUtil.GetResValue(m_RefreshCostId) < m_RefreshCost)
            {
                if (m_RefreshCostId.Equals("hc"))
                {
                    BalanceResourceUtil.HcLessMessage();
                    return;
                }
                else
                {
                    var ht = Johny.HashtablePool.Claim();
                    ht.Add("0", BalanceResourceUtil.GetResName(m_RefreshCostId));
                    MessageTemplateManager.ShowMessage(902022, ht, null);
                    Johny.HashtablePool.Release(ht);
                    return;
                }
            }
            if (m_RefreshCostId == "hc")
            {
                refreshBlueCostCache = m_RefreshCost;
            }

            {
                var ht = Johny.HashtablePool.Claim();
                ht.Add("0", m_RefreshCost);
                ht.Add("1", BalanceResourceUtil.GetResName(m_RefreshCostId));
                MessageTemplateManager.ShowMessage(902020, ht, delegate(int result)
                {
                    if (result == 0)
                    {
                        m_RefreshRequest.SendRequest();
                        LoadingSpinner.Show();
                    }
                });
                Johny.HashtablePool.Release(ht);
            }
        }
Example #8
0
        private void ShowRefreshPrice()
        {
            if (RefreshCostLabel != null)
            {
                RefreshCostLabel.text = m_RefreshCost.ToString();

                if (m_RefreshCost > BalanceResourceUtil.GetResValue(m_RefreshCostId))
                {
                    RefreshCostLabel.color = LT.Hotfix.Utility.ColorUtility.RedColor;
                }
                else
                {
                    RefreshCostLabel.color = LT.Hotfix.Utility.ColorUtility.WhiteColor;
                }

                if (RefreshCostSprite != null)
                {
                    RefreshCostSprite.spriteName = BalanceResourceUtil.GetResSpriteName(m_RefreshCostId);
                }
            }
        }
Example #9
0
 public static int GetItemAlreadyHave(string id, string type)
 {
     if (type.Equals(LTShowItemType.TYPE_GAMINVENTORY))
     {
         return(GetInventoryItemNum(id));
     }
     else if (type.Equals(LTShowItemType.TYPE_HERO))
     {
         return(GetHeroAlreadyHave(id));
     }
     else if (type.Equals(LTShowItemType.TYPE_HEROSHARD))
     {
         return(GetHeroShardAlreadyHave(id));
     }
     else if (type.Equals(LTShowItemType.TYPE_RES) || type.Equals(LTShowItemType.TYPE_ACTICKET))
     {
         return(BalanceResourceUtil.GetResValue(id));
     }
     else
     {
         return(0);
     }
 }
Example #10
0
        public override void SetMenuData(object param)
        {
            base.SetMenuData(param);
            Data                  = param as StoreItemData;
            Item.LTItemData       = new LTShowItemData(Data.id, Data.num, Data.type, false);
            HaveLabel.text        = EB.Localizer.GetString("ID_codefont_in_LTStoreBuyController_544") + Data.have;
            m_Discount_Label.text = LTChargeManager.GetDiscountText(Data.discount);
            m_Discount_Label.gameObject.CustomSetActive(Data.discount > 0 && Data.discount < 1);

            m_Cost_Label.text = m_Cost_Label.transform.GetChild(0).GetComponent <UILabel>().text = Data.cost.ToString();
            int resBalance = BalanceResourceUtil.GetResValue(Data.cost_id);

            if (resBalance < Data.cost)
            {
                m_Cost_Label.color = LT.Hotfix.Utility.ColorUtility.RedColor;
            }
            else
            {
                m_Cost_Label.color = LT.Hotfix.Utility.ColorUtility.WhiteColor;
            }
            m_Cost_Sprite.spriteName = BalanceResourceUtil.GetResSpriteName(Data.cost_id);

            string desc = string.Empty;

            if (Data.store_type == "challenge")
            {
                Hotfix_LT.Data.SkillTemplate skillTpl = Hotfix_LT.Data.SkillTemplateManager.Instance.GetTemplate(int.Parse(Data.id));
                desc = skillTpl.Description;
            }
            else
            {
                var item = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetItem(Data.id);
                desc = item.Desc;
            }
            Info.text = desc;
        }
Example #11
0
        void ShowInfo(string type, string id)
        {
            if (type == LTShowItemType.TYPE_RES || type == LTShowItemType.TYPE_HEROMEDAL || type == LTShowItemType.TYPE_ACTICKET || type == LTShowItemType.TYPE_VIPPOINT)
            {
                int resNum = BalanceResourceUtil.GetResValue(id);

                ShowItem.LTItemData = new LTShowItemData(id, 1, LTShowItemType.TYPE_RES, true);
                HaveNumLabel.text   = string.Format(EB.Localizer.GetString("ID_codefont_in_LTResToolTipController_951"), resNum);
                int resIdInEconemy = BalanceResourceUtil.GetResID(id);
                Hotfix_LT.Data.EconemyItemTemplate itemInfo = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetItem(resIdInEconemy);
                if (itemInfo != null)
                {
                    DescTextLabel.text = itemInfo.Desc;
                }
                else
                {
                    DescTextLabel.text = EB.Localizer.GetString("ID_ITEM_DESC");
                }
            }
            else if (type == LTShowItemType.TYPE_HEROSHARD)
            {
                int num = GameItemUtil.GetInventoryItemNum(id);

                ShowItem.LTItemData = new LTShowItemData(id, 1, LTShowItemType.TYPE_HEROSHARD, true);
                HaveNumLabel.text   = string.Format(EB.Localizer.GetString("ID_codefont_in_LTResToolTipController_951"), num);
                Hotfix_LT.Data.EconemyItemTemplate itemInfo = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetItem(id);
                if (itemInfo != null)
                {
                    DescTextLabel.text = itemInfo.Desc;
                }
                else
                {
                    DescTextLabel.text = EB.Localizer.GetString("ID_ITEM_DESC");
                }
            }
            else if (type == LTShowItemType.TYPE_HEADFRAME)
            {
                ShowItem.LTItemData = new LTShowItemData(id, 1, LTShowItemType.TYPE_HEADFRAME);
                HaveNumLabel.text   = string.Format(string.Empty);
                var data = EconemyTemplateManager.Instance.GetHeadFrame(id, 1);
                DescTextLabel.text = data.desc;
            }
            else if (type == LTShowItemType.TYPE_SCROLL)
            {
                ShowItem.LTItemData = new LTShowItemData(id, 1, LTShowItemType.TYPE_SCROLL);
                HaveNumLabel.text   = string.Empty;
                Hotfix_LT.Data.SkillTemplate skillTpl = Hotfix_LT.Data.SkillTemplateManager.Instance.GetTemplate(int.Parse(id));
                DescTextLabel.text = skillTpl.Description;
            }
            else
            {
                int num = GameItemUtil.GetInventoryItemNum(id);
                //运营活动的脚印数量不存背包,数量要特殊获取
                if (type == LTShowItemType.TYPE_ACTIVITY)
                {
                    if (id.Equals("2005"))
                    {
                        id = "2012";
                    }
                    DataLookupsCache.Instance.SearchDataByID("tl_acs." + id + ".current", out num);
                }

                ShowItem.LTItemData = new LTShowItemData(id, 1, type, true);
                HaveNumLabel.text   = string.Format(EB.Localizer.GetString("ID_codefont_in_LTResToolTipController_951"), num);
                Hotfix_LT.Data.EconemyItemTemplate itemInfo = Hotfix_LT.Data.EconemyTemplateManager.Instance.GetItem(id);
                if (itemInfo != null)
                {
                    DescTextLabel.text = itemInfo.Desc;
                }
                else
                {
                    DescTextLabel.text = EB.Localizer.GetString("ID_ITEM_DESC");
                }
            }
        }
Example #12
0
        /// <summary>
        /// 获取数据刷新
        /// </summary>
        public virtual void RefreshData()
        {
            string      title = EB.Localizer.GetString(m_StoreName);
            IDictionary data  = null;

            if (DataLookupsCache.Instance.SearchDataByID <IDictionary>(m_DataID, out data) && data != null)
            {
                m_RefreshCost     = EB.Dot.Integer("refreshCost.quantity", data, m_RefreshCost);
                m_RefreshCostId   = EB.Dot.String("refreshCost.data", data, m_RefreshCostId);
                m_LastRefreshTime = EB.Dot.Integer("lastRefreshTime", data, m_LastRefreshTime);

                int time = EB.Dot.Integer("nextRefreshTime", data, m_NextRefreshTime);

                m_NextRefreshTime = time;

                ShowRefreshPrice();

                int limit = EB.Dot.Integer("unlimited", data, 0);
                if (limit == 1)
                {
                    if (m_RefreshTimeLabel != null)
                    {
                        m_RefreshTimeLabel.gameObject.CustomSetActive(false);
                    }

                    if (RefreshBtnRoot != null)
                    {
                        RefreshBtnRoot.gameObject.CustomSetActive(false);
                    }
                }
                else
                {
                    if (m_RefreshTimeLabel != null)
                    {
                        m_RefreshTimeLabel.gameObject.CustomSetActive(true);
                    }

                    if (RefreshBtnRoot != null)
                    {
                        RefreshBtnRoot.gameObject.CustomSetActive(true);
                        RefreshBtnRoot.onClick.Clear();
                        RefreshBtnRoot.onClick.Add(new EventDelegate(RefreshBtnClick));
                    }
                }

                if (NewCurrencyCommonLabel != null && NewCurrencyCommonSprite != null)
                {
                    if (m_CurStoreGold == "gold")
                    {
                        NewCurrencyCommonLabel.transform.parent.gameObject.SetActive(false);
                    }
                    else
                    {
                        NewCurrencyCommonLabel.transform.parent.gameObject.SetActive(true);
                    }
                    NewCurrencyCommonLabel.text        = BalanceResourceUtil.NumFormat(BalanceResourceUtil.GetResValue(m_CurStoreGold).ToString());
                    NewCurrencyCommonSprite.spriteName = BalanceResourceUtil.GetResSpriteName(m_CurStoreGold);
                }

                if (act != null)
                {
                    StopCoroutine(act);
                    act = null;
                }
                act = RefreshTime(m_NextRefreshTime);
                StartCoroutine(act);

                List <StoreItemData> datas = new List <StoreItemData>();
                ArrayList            items = Hotfix_LT.EBCore.Dot.Array("itemList", data, null);

                float discount  = 1;
                bool  isGoldVIP = LTChargeManager.Instance.IsGoldVIP();
                if (!m_StoreType.Equals("bosschallenge1") && !m_StoreType.Equals("bosschallenge2") && !m_StoreType.Equals("bosschallenge3"))
                {
                    discount = VIPTemplateManager.Instance.GetVIPPercent(VIPPrivilegeKey.ShopDiscount);
                }

                if (items != null && items.Count > 0)
                {
                    for (int i = 0; i < items.Count; i++)
                    {
                        int    sid       = EB.Dot.Integer("id", items[i], 0);
                        string id        = EB.Dot.String("redeems.data", items[i], "");
                        string type      = EB.Dot.String("redeems.type", items[i], "");
                        int    buy_num   = EB.Dot.Integer("redeems.quantity", items[i], 0);
                        int    have      = GameItemUtil.GetItemAlreadyHave(id, type);
                        string cost_id   = EB.Dot.String("spends.data", items[i], "");
                        int    cost_num  = EB.Dot.Integer("spends.quantity", items[i], 0);
                        int    num       = EB.Dot.Integer("num", items[i], 0);
                        float  mdiscount = EB.Dot.Single("discount", items[i], 1);
                        bool   sell_out  = num > 0 || num == -1 ? false : true;
                        int    weight    = 1;

                        float result = cost_num * discount + 0.05f;
                        cost_num = (int)(result);

                        if (!string.IsNullOrEmpty(id))
                        {
                            StoreItemData itemdata = new StoreItemData(sid, id, type, buy_num, have, cost_id, cost_num, sell_out, weight, i, m_StoreType, mdiscount, num);
                            datas.Add(itemdata);
                        }
                    }
                    int left = datas.Count % m_Columns;
                    if (left > 0)         //补全
                    {
                        left = m_Columns - left;
                        for (int i = 0; i < left; i++)
                        {
                            StoreItemData itemdata = new StoreItemData(0, "", "", 1, 1, "", 1, true, 1, i, m_StoreType, 1);
                            datas.Add(itemdata);
                        }
                    }

                    m_Scroll.SetItemDatas(datas);
                }
                else
                {
                    EB.Debug.LogWarning("{0}===no data items", m_DataID);
                }
            }
            else
            {
                EB.Debug.LogWarning("{0}===no data", m_DataID);
            }
        }