示例#1
0
    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);
    }
示例#2
0
    /// <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();
        }
    }
示例#3
0
    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);
    }
示例#4
0
    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);
            }
        });
    }
示例#5
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);
        _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);
    }
示例#6
0
    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);
            }
        });
    }