예제 #1
0
    /// <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("礼盒使用失败");
            }
        }
    }
예제 #2
0
    /// <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();
    }
예제 #3
0
    /// <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);
    }