public override void DrawCell(int i, int index, int count = 0) { base.DrawCell(i, index, count); var dataList = dynamicPackage.GetFilteredTradeInfoList(); if (mIndex >= dataList.Count) { return; } NTradeInfo tradeInfo = dataList[mIndex]; ITEM_RES config = itemPackage.GetItemDataByConfigID(tradeInfo.configID); nameLabel.text = config.MinName; iconSprite.spriteName = config.IconName; NItemInfo info = itemPackage.GetItemInfo(tradeInfo.configID); if (info == null) { numLabel.text = "0"; } else { numLabel.text = GlobalFunction.NumberFormat(info.number); } }
public bool IsAbleToUnlockOrUpgrade(int configID) { int requireVal; double curVal; ItemPackage itemPackage = FacadeSingleton.Instance.RetrieveData(ConstVal.Package_Item) as ItemPackage; UserPackage userPackage = FacadeSingleton.Instance.RetrieveData(ConstVal.Package_User) as UserPackage; BUILDING config = GetBuildingConfigDataByConfigID(configID); //level requireVal = config.BldgLvLim; curVal = userPackage.GetManorLevel(); if (curVal < requireVal) { return(false); } //gold cost requireVal = config.GoldCost; curVal = itemPackage.GetGoldNumber(); if ((double)requireVal > curVal) { return(false); } //item for (int i = 0; i < config.CostTableCount; i++) { var cost = config.GetCostTable(i); if (cost.CostId == 0) { continue; } requireVal = cost.CostQty; NItemInfo info = itemPackage.GetItemInfo(cost.CostId); // ITEM_RES itemConfig = itemPackage.GetItemDataByConfigID(cost.CostId); // if(itemConfig == null) // { // Debug.Log(string.Format("configID = {0} missing!!!", cost.CostId)); // continue; // } if (info == null || info.number < cost.CostQty) { return(false); } } return(true); }
void InitView(NDictionary data = null) { configID = itemPackage.GetSelectionItemConfigID(); isBuy = data.Value <bool>("isbuy"); ITEM_RES config = itemPackage.GetItemDataByConfigID(configID); if (isBuy) { titleLabel.text = string.Format("购买 {0}", config.MinName); double price = itemPackage.GetItemPrice(configID); double curGold = itemPackage.GetGoldNumber(); double tax = itemPackage.GetTaxRate(); itemCap = Mathf.Min(itemPackage.GetBuyLimit(configID), (int)(curGold / (price * (1 + tax)))); btnLabel.text = "购买"; } else { NItemInfo info = itemPackage.GetItemInfo(configID); titleLabel.text = string.Format("出售 {0}", config.MinName); itemCap = info.number; if (itemCap <= 0) { ITEM_RES test = itemPackage.GetItemDataByConfigID(info.configID); print(string.Format("{0}'s number is zero", test.MinName)); } btnLabel.text = "出售"; } if (config.GoldConv >= 1000) { ratio = 1; } else { ratio = 1000 / config.GoldConv; } itemCap = AdjustCap(ratio, itemCap); value = 0; slider.value = 0f; slider.numberOfSteps = (int)Mathf.Ceil((float)itemCap / (float)ratio) + 1; UpdateValueView(); }
void RefreshItemInfo() { int selectionConfigID = itemPackage.GetSelectionItemConfigID(); if (selectionConfigID == 0) { taxLabel.text = ""; nameLabel.text = ""; cdTimeLabel.text = ""; return; } var dataList = ConfigDataStatic.GetConfigDataTable("ITEM_RES"); if (!dataList.ContainsKey(selectionConfigID)) { Debug.Log(string.Format("ITEM_RES config={0} missing", selectionConfigID)); return; } ITEM_RES itemConfig = dataList[selectionConfigID] as ITEM_RES; taxLabel.text = string.Format("当前中间人费用{0}%", itemPackage.GetTaxRate() * 100); nameLabel.text = string.Format("{0}近3日价格", itemConfig.MinName); priceLabel.text = string.Format("当前价格: {0}", itemPackage.GetItemPrice(selectionConfigID).ToString("0.00")); //set buy & sell button NItemInfo info = itemPackage.GetItemInfo(itemPackage.GetSelectionItemConfigID()); //PURCHASE_LIM limConfig = ConfigDataStatic.GetConfigDataTable("PURCHASE_LIM")[userPackage.GetPlayerLevel()] as PURCHASE_LIM; if (info == null || info.number <= 0) { sellBtn.isEnabled = false; } else { sellBtn.isEnabled = true; } RefreshBuyLimit(); RefreshGraph(); }
void InitView() { NBuildingInfo info = sanctuaryPackage.GetBuildingInfo(selectionBuilding.BuildingID); var buildingDataMap = ConfigDataStatic.GetConfigDataTable("BUILDING"); BUILDING buildingData = buildingDataMap[info.configID] as BUILDING; int level = sanctuaryPackage.GetBulidingLevelByConfigID(info.configID); long remainTime = 0; //check if is crafting isCrafting = false; isCollect = false; if (GlobalFunction.GetRemainTime(info.processFinishTime, out remainTime)) { isCrafting = true; } else if (info.number > 0) { isCollect = true; } toConfigID = buildingData.ProId; fromConfigID = buildingData.ConId; //item name var itemDataMap = ConfigDataStatic.GetConfigDataTable("ITEM_RES"); ITEM_RES itemData = itemDataMap[fromConfigID] as ITEM_RES; fromItemName.text = itemData.MinName; fromSprite.spriteName = itemData.IconName; ratio = buildingData.ConPro; itemData = itemDataMap[toConfigID] as ITEM_RES; toItemName.text = itemData.MinName; describeLabel.text = itemData.Desc; toSprite.spriteName = itemData.IconName; descSprite.spriteName = itemData.IconName; // set number NItemInfo itemInfo = itemPackage.GetItemInfo(fromConfigID); craftNum = 0; slider.value = 0f; if (itemInfo == null) { craftMax = 0; } else { int toItemMax = (int)Mathf.Floor((float)itemInfo.number / (float)ratio); craftMax = toItemMax * ratio; slider.numberOfSteps = (int)Mathf.Ceil((float)craftMax / (float)ratio) + 1; } //check if is self if (info.processUID == userPackage.UserID) { isSelf = true; } else { isSelf = false; } //text title.text = string.Format("{0} Lv.{1}", buildingData.BldgName, level); collectButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(false); //stop timer if (TimerCo != null) { timeLabel.text = "00:00"; StopCoroutine(TimerCo); } if (isCrafting) { //check if is self if (isSelf) { stateLabel.text = "你正在使用"; cancelButton.gameObject.SetActive(true); } else { stateLabel.text = string.Format("玩家Uid{0}正在使用", info.processUID); } //set time if (remainTime > 0) { TimerCo = StartCoroutine(Timer(remainTime)); } } else if (isCollect) { if (isSelf) { stateLabel.text = string.Format("可以领取{0}", info.number); collectButton.gameObject.SetActive(true); } timeLabel.text = "00:00"; } else { stateLabel.text = "该工厂处于空闲状态"; collectButton.gameObject.SetActive(false); cancelButton.gameObject.SetActive(false); } UpdateNumView(); }
void ShowCost(BUILDING configData) { int count = 0; //show gold & elec if (configData.GoldCost > 0) { int costNum = configData.GoldCost; double curNum = itemPackage.GetGoldNumber(); costCellList[count].title.text = "黄金消耗: "; costCellList[count].value.text = string.Format("{0} / {1}", GlobalFunction.NumberFormat(costNum), GlobalFunction.NumberFormat(curNum)); costCellList[count].go.SetActive(true); if ((double)costNum > curNum) { costCellList[count].title.color = Color.red; costCellList[count].value.color = Color.red; } else { costCellList[count].title.color = Color.white; costCellList[count].value.color = Color.white; } count++; } if (configData.ElecCost > 0) { int costNum = configData.ElecCost; double curNum = itemPackage.GetElecNumber(); costCellList[count].title.text = "电力消耗: "; costCellList[count].value.text = string.Format("{0} / {1}", GlobalFunction.NumberFormat(costNum), GlobalFunction.NumberFormat(curNum)); costCellList[count].go.SetActive(true); if ((double)costNum > curNum) { costCellList[count].title.color = Color.red; costCellList[count].value.color = Color.red; } else { costCellList[count].title.color = Color.white; costCellList[count].value.color = Color.white; } count++; } for (int i = 0; i < configData.CostTableCount; i++) { int itemConfigId = configData.GetCostTable(i).CostId; if (itemConfigId == 0) { continue; } int num = configData.GetCostTable(i).CostQty; ITEM_RES itemData = itemPackage.GetItemDataByConfigID(itemConfigId); NItemInfo itemInfo = itemPackage.GetItemInfo(itemConfigId); int curNum = itemInfo == null ? 0 : itemInfo.number; costCellList[count].title.text = itemData.MinName + ": "; costCellList[count].value.text = string.Format("{0} / {1}", num.ToString(), curNum); costCellList[count].go.SetActive(true); if (itemInfo == null || itemInfo.number < num) { costCellList[count].title.color = Color.red; costCellList[count].value.color = Color.red; } else { costCellList[count].title.color = Color.white; costCellList[count].value.color = Color.white; } count++; } for (; count < 5; count++) { costCellList[count].go.SetActive(false); } }
public override void DrawCell(int index, int count = 0) { base.DrawCell(index, count); var dataList = sanctuaryPackage.GetBuildingCostList(); NCostDef cost = dataList[index]; bool isEnough = true; if (cost.configID == 1) { nameLabel.text = string.Format("庄园等级限制:"); valueLabel.text = string.Format("{0}/{1}", cost.value, userPackage.GetManorLevel()); if (userPackage.GetManorLevel() < cost.value) { isEnough = false; } } else if (cost.configID == 2) { nameLabel.text = string.Format("黄金:"); valueLabel.text = string.Format("{0}/{1}", cost.value, GlobalFunction.NumberFormat(itemPackage.GetGoldNumber())); if (itemPackage.GetGoldNumber() < cost.value) { isEnough = false; } } else if (cost.configID == 3) { nameLabel.text = string.Format("电力:"); valueLabel.text = string.Format("{0}/{1}", cost.value, GlobalFunction.NumberFormat(itemPackage.GetElecNumber())); if (itemPackage.GetElecNumber() < cost.value) { isEnough = false; } } else { ITEM_RES itemData = itemPackage.GetItemDataByConfigID(cost.configID); if (itemData == null) { return; } nameLabel.text = string.Format("{0}:", itemData.MinName); NItemInfo itemInfo = itemPackage.GetItemInfo(cost.configID); if (itemInfo == null) { valueLabel.text = string.Format("{0}/{1}", cost.value, 0); isEnough = false; } else { valueLabel.text = string.Format("{0}/{1}", cost.value, GlobalFunction.NumberFormat(itemInfo.number)); if (itemInfo.number < cost.value) { isEnough = false; } } } if (isEnough) { nameLabel.color = Color.white; valueLabel.color = Color.white; } else { nameLabel.color = Color.red; valueLabel.color = Color.red; } }