private async void OnButtonDiamondIncreaseClick() { //钻石判定 var dealClass = StaticData.configExcel.GetAreaUnlockByID(this.manorRegionComponent.regionId).UseGoods; DealClass willCost = dealClass[0]; int currHaveCount = StaticData.GetWareHouseItem(dealClass[0].IdGameItem).GoodNum; if (currHaveCount < dealClass[0].Price) { string currencyName = StaticData.GetMultiLanguageByGameItemId(dealClass[0].IdGameItem); string Tips = string.Format(StaticData.GetMultilingual(120068), currencyName); var iconName = StaticData.configExcel.GetGameItemByID(dealClass[0].IdGameItem).Icon; Sprite currencyIcon = await ABManager.GetAssetAsync <Sprite>(iconName); //只能配货币和道具 StaticData.OpenCommonTips(Tips, 120123, async() => { var gameItemDefine = StaticData.configExcel.GetGameItemByID(willCost.IdGameItem); switch (gameItemDefine.ItemType) { case TypeGameItem.None: //货币 if (StaticData.configExcel.GetVertical().GoldGoodsId == willCost.IdGameItem) { //金币 await StaticData.OpenRechargeUI(0); } else if (StaticData.configExcel.GetVertical().JewelGoodsId == willCost.IdGameItem) { //钻石 await StaticData.OpenRechargeUI(1); } break; case TypeGameItem.Prop: //跳转到商店 await StaticData.OpenShopUI(1); break; default: await StaticData.OpenRechargeUI(1); break; } }); return; } manorRegionComponent.OnIncreaseClick(Game.Protocal.WorkShedSpeedUpWay.DiamondWay); }
/// <summary> /// 个数变化 /// </summary> /// <param name="number"></param> void Change(int number) { DealClass dealClass = null; for (int i = 0; i < _data._data.PriceSell.Count; i++) { if (_data._data.PriceSell[i].IdGameItem == StaticData.configExcel.GetVertical().GoldGoodsId) { dealClass = _data._data.PriceSell[i]; } } if (dealClass != null) { int price = dealClass.Price * number; _totalPrices.text = price.ToString(); } }
public void SetRegionComponent(ManorRegionComponent manorRegionComponent, DecorateBoardComponent decorateBoardComponent) { this.manorRegionComponent = manorRegionComponent; this.decorateBoardComponent = decorateBoardComponent; //设置货币加速的图标和数量 AreaUnlockDefine areaUnlockDefine = StaticData.configExcel.GetAreaUnlockByID(this.manorRegionComponent.regionId); var dealClass = areaUnlockDefine.UseGoods; DealClass willCost = dealClass[0]; var iconCurrency = StaticData.configExcel.GetGameItemByID(willCost.IdGameItem).Icon; ImageCurrency.sprite = ABManager.GetAsset <Sprite>(iconCurrency); TextCurrencyNum.text = $"{willCost.Price}"; int adAddMinute = areaUnlockDefine.SpeedTime / 60; int diamondAddMinute = areaUnlockDefine.GoodsSpeedTime / 60; TextAdIncrease.text = string.Format(TextAdIncrease.text, adAddMinute); TextDiamondIncrease.text = string.Format(TextDiamondIncrease.text, diamondAddMinute); }
internal void OnIncreaseClick(WorkShedSpeedUpWay workShedSpeedUpWay) { CSWorkShedSpeedUp csWorkShedSpeedUp = new CSWorkShedSpeedUp() { AreaId = regionId, SpeedUpWay = workShedSpeedUpWay }; ManorProtocalHelper.WorkLoadSpeedUp(csWorkShedSpeedUp, (succ) => { StaticData.CreateToastTips($"加速成功"); //UIComponent.HideUI(UIType.UIManorRegionAdIncrease); decorateBoardComponent.SetRegionTimeChange(succ.UnlockTime, this); //广告加速钻石不变 if (workShedSpeedUpWay == WorkShedSpeedUpWay.DiamondWay) { //更新道具 var dealClass = StaticData.configExcel.GetAreaUnlockByID(regionId).UseGoods; DealClass willCost = dealClass[0]; StaticData.UpdateWareHouseItem(willCost.IdGameItem, -willCost.Price); } }); }
/// <summary> /// 展示数据 /// </summary> /// <param name="data"></param> public async void ShowData(GoodsData data) { if (_isInitial == false) { Initial(); } _data = data; _nameText.text = StaticData.GetMultilingual(_data._data.ItemName); _uISetAmountComponent._maxValue = (int)_data._number; _iconImage.sprite = null; _iconImage.sprite = await ABManager.GetAssetAsync <Sprite>(_data._data.Icon); //_iconImage.SetNativeSize(); _haveNumberText.text = _data._number.ToString();; _priceText.text = data._data.PriceSell[0].Price.ToString(); _uISetAmountComponent.inputFiled.text = "1"; DealClass dealClass = null; for (int i = 0; i < _data._data.PriceSell.Count; i++) { if (_data._data.PriceSell[i].IdGameItem == StaticData.configExcel.GetVertical().GoldGoodsId) { dealClass = _data._data.PriceSell[i]; } } if (dealClass != null) { int price = dealClass.Price; _totalPrices.text = price.ToString(); } else { _totalPrices.text = "0"; } gameObject.SetActive(true); }
public void BeginPay() { //道具判定 var dealClass = StaticData.configExcel.GetAreaUnlockByID(regionId).ConsumptionGood; bool isEnough = true; DealClass willCost = null; for (int i = 0; i < dealClass.Count; i++) { willCost = dealClass[i]; int currHaveCount = StaticData.GetWareHouseItem(willCost.IdGameItem).GoodNum; if (currHaveCount < willCost.Price) { isEnough = false; break; } } if (isEnough == false) { string CoinNameNotEnough = StaticData.configExcel.GetLocalizeByID(willCost.IdGameItem).SimplifiedChinese; string Tips = string.Format(StaticData.GetMultilingual(120068), CoinNameNotEnough); StaticData.OpenCommonTips(Tips, 120010, async() => { UIComponent.RemoveUI(UIType.UIManorRegionPay); if (willCost.IdGameItem == 1000001)//表示钻石 { //跳转充值 await StaticData.OpenRechargeUI(1, BeginPayUI); } else if (willCost.IdGameItem == 1000002)//表示金币 { //跳转充值 await StaticData.OpenRechargeUI(0, BeginPayUI); } else { //跳转商城 await StaticData.OpenShopUI(1, BeginPayUI); } }); return; } CSUnlockArea csUnlockArea = new CSUnlockArea() { AreaId = regionId, State = AreaState.Pay//上一阶段对话状态 }; ManorProtocalHelper.UnlockRegion(csUnlockArea, (regionUnLockPaySucc) => { StaticData.DebugGreen($"对话结束返回状态:{regionUnLockPaySucc.State.ToString()}"); //对话状态开始 if (regionUnLockPaySucc.State == AreaState.RoadWork) { //关闭UI UIComponent.RemoveUI(UIType.UIManorRegionPay); //更新道具 StaticData.UpdateWareHouseItem(willCost.IdGameItem, -willCost.Price); SetSelfRoadWorkState(regionUnLockPaySucc.RoadworkTime); } }); }