//点击兑换商店Item打开兑换窗口
 private void OnClickExchangeItem(ActivityExchangeShopVo vo)
 {
     if (_window == null)
     {
         _window = PopupManager.ShowWindow <ActivityMusicExchangeWindow>("ActivityMusicTemplate/Prefabs/ActivityMusicExchangeWindow");
         _window.SetData(vo, OnClickExchangeBuyBtn);
     }
 }
Beispiel #2
0
 public void SetData(ActivityExchangeShopVo vo)
 {
     _data = vo;
     _frame.SetData(vo.Rewards[0]);
     _name.text    = vo.Rewards[0].Name;
     _price.text   = vo.Price.ToString();
     _icon.texture = ResourceManager.Load <Texture>(vo.ExchangeIconPath);
     _mask.gameObject.SetActive(vo.RemainBuyNum == 0);
 }
Beispiel #3
0
    public void SetData(ActivityExchangeShopVo vo, Action <ActivityExchangeShopVo, int> callBack)
    {
        _onClickBuyCallBack = null;
        _onClickBuyCallBack = callBack;
        _data       = vo;
        _curBuyNum  = 1;
        _title.text = I18NManager.Get("Common_Buy") + vo.Rewards[0].Name;

        _frame.SetData(vo.Rewards[0]);
        _num.text = _curBuyNum.ToString();
        SetCurNum(vo.Rewards);
        _price.text           = I18NManager.Get("Shop_CostToBuy", _curBuyNum * vo.Price);
        _exchangeIcon.texture = ResourceManager.Load <Texture>(vo.ExchangeIconPath);
        _remainBuyNum.text    = I18NManager.Get("Shop_LeftBuyCounts2", vo.RemainBuyNum, vo.BuyMax);
        _desc.text            = I18NManager.Get("Shop_GoodsDesc") + ClientData.GetItemDescById(vo.Rewards[0].Id, vo.Rewards[0].Resource).ItemDesc;
    }
    private void OnClickExchangeBuyBtn(ActivityExchangeShopVo vo, int num)
    {
        var mallItemNum = GlobalData.PropModel.GetUserProp(vo.MallItemId).Num;
        var price       = num * vo.Price;

        if (price > mallItemNum)
        {
            FlowText.ShowMessage("兑换道具数量不足");
            return;
        }

        _window.CloseWindow();

        ActivityExchangeMallReq req = new ActivityExchangeMallReq
        {
            ActivityId = vo.ActivityId,
            MallId     = vo.MallId,
            Num        = num,
        };

        byte[] data = NetWorkManager.GetByteData(req);
        NetWorkManager.Instance.Send <ActivityExchangeMallRes>(CMD.ACTIVITY_ACTIVITYEXCHANGEMALL, data, ExchangeSucceed);
    }
    /// <summary>
    /// 初始化兑换商店用户信息
    /// </summary>
    /// <param name="curActivity"></param>
    private void InitUserInfo(ActivityVo curActivity)
    {
        _exchangeShopUserInfo = new List <ActivityExchangeShopVo>();
        var baseUserInfo = GlobalData.ActivityModel.GetActivityTemplateListRes(curActivity.ActivityType).UserBuyActivityMalls;

        foreach (var t in _exchangeShopRules)
        {
            var vo = new ActivityExchangeShopVo(t);
            _exchangeShopUserInfo.Add(vo);
        }

        var isNull = baseUserInfo == null;

        if (!isNull)
        {
            foreach (var t in baseUserInfo)
            {
                if (t.ActivityId == curActivity.ActivityId)
                {
                    UpdateUserData(curActivity.ActivityId, t);
                }
            }
        }
    }