void SetSelectItem(int index) { if (index - 1 < compassList.Count) { CompassDataBase db = compassList[index - 1]; if (db != null) { m_nItemID = db.dwID; } } int count = DataManager.Manager <ItemManager>().GetItemNumByBaseId(m_nItemID); if (count < 1 && bAutoConsume) { m_label_dianjuanxiaohao.gameObject.SetActive(true); Transform num = m_label_dianjuanxiaohao.transform.Find("Label"); if (num != null) { UILabel numLabel = num.GetComponent <UILabel>(); if (numLabel != null) { PointConsumeDataBase db = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(m_nItemID); if (db != null) { numLabel.text = db.buyPrice.ToString(); } } } } }
/// <summary> /// 通过[道具ID]二分快速查表 /// </summary> /// <param name="itemID">道具ID</param> /// <returns></returns> public static PointConsumeDataBase Query(this List <PointConsumeDataBase> sorted, uint itemID) { var key = new PointConsumeDataBase() { itemID = itemID }; var comparer = new Comparer1(); var index = sorted.BinarySearch(key, comparer); return(index >= 0 ? sorted[index] : default(PointConsumeDataBase)); }
public uint GetItemNeedColdNum(uint itemID) { uint num = 0; PointConsumeDataBase db = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(itemID); if (db != null) { return(db.buyPrice); } return(num); }
bool IsYuanBaoEnough() { //使用跳关符消耗 uint jumpItem = DataManager.Manager <NvWaManager>().NvWaJumpItemId; //元宝存量 int dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao); PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(jumpItem); uint dianJuanCost = 0; if (pcDb != null) { //每个道具要几个元宝来换 dianJuanCost = pcDb.buyPrice; } return(dianjuanCount >= dianJuanCost ? true : false); }
protected override void OnShow(object data) { base.OnShow(data); if (data is CommonSingleParam) { CommonSingleParam sp = (CommonSingleParam)data; m_label_title.text = sp.titletips; m_label_contentdes.text = sp.contentdes; m_label_autobuydes.text = sp.autobuydes; m_label_oktext.text = sp.oktext; m_label_canceltext.text = sp.canceltext; m_sprite_autoFlag.gameObject.SetActive(sp.bShowAutoBuy); bAutoBuy = sp.bShowAutoBuy; uint itemID = sp.itemID; ItemDataBase db = GameTableManager.Instance.GetTableItem <ItemDataBase>(sp.itemID); if (db != null) { int itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(itemID); UIItem.AttachParent(m_sprite_unlock_item_icon.transform, itemID, (uint)itemCount); if (itemCount >= sp.consumNum) { bCanOk = true; } else { bCanOk = false; } m_label_unlock_item_name.text = db.itemName; m_label_neednum.text = StringUtil.GetNumNeedString(itemCount, sp.consumNum); } PointConsumeDataBase pdb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(itemID); if (pdb != null) { m_label_moneynum.text = pdb.buyPrice.ToString(); m_uNeedMoney = pdb.buyPrice; } _cancleAction = sp.cancleAction; _okAction = sp.okAction; ShowItemNum(!bAutoBuy); } }
/// <summary> /// 元宝消耗 /// </summary> void SetDianjuanLabel() { //使用跳关符消耗 uint jumpItem = DataManager.Manager <NvWaManager>().NvWaJumpItemId; int dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao); //元宝存量 PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(jumpItem); uint dianJuanCost = 0; if (pcDb != null) { dianJuanCost = pcDb.buyPrice; //每个道具要几个元宝来换 } m_label_UseCostNum.text = dianJuanCost.ToString(); if (IsYuanBaoEnough()) { m_label_UseCostNum.color = Color.white; } else { m_label_UseCostNum.color = Color.red; } }
public void Init(UseItemWidnowParam param) { this.title = param.title; this.itemId = param.itemId; this.ok = param.ok; this.cancel = param.cancel; this.belowMinCount = param.belowMinCount; this.overMaxCount = param.overMaxCount; this.oktxt = param.oktxt; this.canletxt = param.canletxt; this.leftUseTimes = param.LeftUseTimes; this.canSetNum = param.canSetNum; this.canUseDianjuan = param.canUseDianjuan; //初始为默认状态 num = 1; useDianJuan = false; SetZidongbuzuFalse(); this.baseItem = new BaseItem(this.itemId); if (baseItem == null) { return; } itemCount = DataManager.Manager <ItemManager>().GetItemNumByBaseId(this.itemId); //道具存量 dianjuanCount = MainPlayerHelper.GetMoneyNumByType(ClientMoneyType.YuanBao); //元宝存量 PointConsumeDataBase pcDb = GameTableManager.Instance.GetTableItem <PointConsumeDataBase>(this.itemId); if (pcDb != null) { itemPerCostDianjuan = pcDb.buyPrice; //每个道具要几个元宝来换 } else { Engine.Utility.Log.Info("元宝代消耗表格无数据"); } //初始化item InitItem(); m_label_TitleLabel.text = this.title; m_label_Name.text = baseItem.Name; m_label_Description.text = baseItem.Des; m_btn_Btn_Use.GetComponentInChildren <UILabel>().text = this.oktxt; m_btn_Btn_Canel.GetComponentInChildren <UILabel>().text = this.canletxt; m_label_UnitNum.text = num.ToString(); //每日使用次数限制 if (this.leftUseTimes == -1) //-1 无使用次数限制 { m_trans_Times.gameObject.SetActive(false); this.availableNum = itemCount; } else { m_trans_Times.gameObject.SetActive(true); this.availableNum = Mathf.Min(this.leftUseTimes, itemCount); if (this.leftUseTimes == 0) { m_label_TimesNum.color = Color.red; } if (this.leftUseTimes > 0) { m_label_TimesNum.color = Color.green; } m_label_TimesNum.text = string.Format("{0}/{1}", this.leftUseTimes, baseItem.DailyUseNum); } //设置-+功能 if (this.canSetNum) { m_btn_Btn_Less.gameObject.SetActive(true); m_btn_Btn_Add.gameObject.SetActive(true); } else { m_btn_Btn_Less.gameObject.SetActive(false); m_btn_Btn_Add.gameObject.SetActive(false); } //使用元宝功能 if (this.canUseDianjuan) { m_trans_buzu.gameObject.SetActive(true); } else { m_trans_buzu.gameObject.SetActive(false); m_trans_UseCost.gameObject.SetActive(false); } }