/// <summary> /// 使用成功回调 /// </summary> /// <param name="isSucceed"></param> public void UseResult(bool isSucceed, SCUseWarehouseGoods data, WebErrorCode code) { if (isSucceed) { switch (_data._data.Use) { case Company.Cfg.GoodsUseType.ExtendBag: ExtendBagIDCount extendBagIDCount = StaticData.configExcel.GetVertical().UserExtendBag; if (extendBagIDCount.GoodsID == _data._id) { int number = extendBagIDCount.Count; number = number * _currNumber; StaticData.playerInfoData.userInfo.WarehouseCount = StaticData.playerInfoData.userInfo.WarehouseCount + number; } Debug.Log("扩容使用完毕"); break; case Company.Cfg.GoodsUseType.GiftBox: List <CSWareHouseStruct> newGoods = new List <CSWareHouseStruct>(); for (int i = 0; i < data.GetGoodsInfo.Count; i++) { SCBuyGoodsStruct sCBuyGoodsStruct = data.GetGoodsInfo[i]; //获取这次获得数量 int number = sCBuyGoodsStruct.Count; number = number - StaticData.GetWareHouseItem(sCBuyGoodsStruct.GoodsId).GoodNum; CSWareHouseStruct goodsData = new CSWareHouseStruct(); goodsData.GoodId = sCBuyGoodsStruct.GoodsId; goodsData.GoodNum = number; newGoods.Add(goodsData); StaticData.UpdateWareHouseItems(sCBuyGoodsStruct.GoodsId, sCBuyGoodsStruct.Count); } StaticData.OpenReceiveAward(newGoods, _data._id); Debug.Log("礼盒使用完毕"); break; } StaticData.UpdateWareHouseItem(_data._id, -_currNumber); Close(); WarehouseController.Instance.RefreshNewData(); } else { if (code == WebErrorCode.Good_Warehouse_Insufficient) { StaticData.CreateToastTips("仓库空间不足!领取礼盒失败!"); } else { Debug.Log("礼盒使用失败"); } } }
/// <summary> /// 个数变化 /// </summary> /// <param name="number"></param> void Change(int number) { int numberValue = 0; switch (_data._data.Use) { case Company.Cfg.GoodsUseType.ExtendBag: ExtendBagIDCount extendBagIDCount = StaticData.configExcel.GetVertical().UserExtendBag; if (extendBagIDCount.GoodsID == _data._id) { int count = extendBagIDCount.Count; numberValue = number * count; } break; case Company.Cfg.GoodsUseType.GiftBox: PackageDefine packageDefine = null; for (int i = 0; i < StaticData.configExcel.Package.Count; i++) { PackageDefine data = StaticData.configExcel.Package[i]; if (data.BoxID == _data._data.ID) { packageDefine = data; } } int index = 0; if (packageDefine != null) { for (int i = 0; i < packageDefine.BoxAward.Count; i++) { index = index + (int)packageDefine.BoxAward[i].Count; } } numberValue = index * number; break; } _effectText.text = numberValue.ToString(); }
/// <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); _haveNumberText.text = _data._number.ToString();; //设置输入框默认显示钥匙数量Placeholder _uISetAmountComponent.inputFiled.text = "1"; _uISetAmountComponent.inputFiled.placeholder.GetComponent <Text>().text = "1"; switch (_data._data.Use) { case Company.Cfg.GoodsUseType.ExtendBag: _effectText.transform.parent.Find("Title").GetComponent <Text>().text = StaticData.GetMultilingual(120232); ExtendBagIDCount extendBagIDCount = StaticData.configExcel.GetVertical().UserExtendBag; if (extendBagIDCount.GoodsID == _data._id) { int count = extendBagIDCount.Count; _effectText.text = count.ToString(); } break; case Company.Cfg.GoodsUseType.GiftBox: PackageDefine packageDefine = null; _effectText.transform.parent.Find("Title").GetComponent <Text>().text = StaticData.GetMultilingual(120233); for (int i = 0; i < StaticData.configExcel.Package.Count; i++) { PackageDefine PackageData = StaticData.configExcel.Package[i]; if (PackageData.BoxID == _data._data.ID) { packageDefine = PackageData; } } int index = 0; if (packageDefine != null) { for (int i = 0; i < packageDefine.BoxAward.Count; i++) { index = index + (int)packageDefine.BoxAward[i].Count; } _effectText.text = index.ToString(); } break; } //设置最多能输入 switch (data._data.Use) { case Company.Cfg.GoodsUseType.ExtendBag: int max = StaticData.configExcel.GetVertical().WarehouseTotal - StaticData.playerInfoData.userInfo.WarehouseCount; int number = StaticData.configExcel.GetVertical().UserExtendBag.Count; int index = max / number; if (index <= (int)data._number) { _uISetAmountComponent._maxValue = index; } else { _uISetAmountComponent._maxValue = (int)data._number; } if (max == 0) { _uISetAmountComponent._defaultValue = "0"; _uISetAmountComponent._minValue = 0; //设置输入框默认显示钥匙数量Placeholder _uISetAmountComponent.inputFiled.text = "0"; _uISetAmountComponent.inputFiled.placeholder.GetComponent <Text>().text = "0"; } break; default: _uISetAmountComponent._maxValue = (int)data._number; break; } Sprite iconSprite = null; try { iconSprite = await ABManager.GetAssetAsync <Sprite>(_data._data.Icon); } catch (System.Exception er) { Debug.Log("获取道具icon失败"); } _iconImage.sprite = iconSprite; //_iconImage.SetNativeSize(); gameObject.SetActive(true); }