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); } }
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"); }); }
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; } }
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经验!"); }
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(); }
/// <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(); }
/// <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); } }
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); } } }
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); } }
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; }
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"); } } }
/// <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); } }