Ejemplo n.º 1
0
    /// <summary>
    /// 玩家购买结果消息处理
    /// </summary>
    /// <param name="msgType"></param>
    /// <param name="umsg"></param>
    /// <returns></returns>
    private bool PlayerBuyResultHandle(uint msgType, UMessage umsg)
    {
        uint playerid = umsg.ReadUInt();

        if (playerid == GetPlayerId())
        {
            bBuyingProcess = false;
            uint itemid   = umsg.ReadUInt();
            byte buystate = umsg.ReadByte();

            ShopItemdata itemdata = CCsvDataManager.Instance.ShopItemDataMgr.GetShopItemData(itemid);
            if (itemdata == null)
            {
                return(false);
            }

            //购买钻石时由支付平台返回值处理关闭等待框
            //if(itemdata.ItemType != Shop.ITEMTYPE.ITEMTYPE_DIAMOND)
            CCustomDialog.CloseCustomWaitUI();
#if UKGAME_SDK
            CCustomDialog.CloseCustomWaitUI();
#endif

#if UNITY_EDITOR || WINDOWS_GUEST
            //编辑器模式下购买钻石没有支付平台返回结果
            if (itemdata.ItemType == Shop.ITEMTYPE.ITEMTYPE_DIAMOND)
            {
                CCustomDialog.CloseCustomWaitUI();
            }
#endif
            if (buystate == 0)
            {
                //京东卡和手机充值
                if (itemdata.ItemType == Shop.ITEMTYPE.ITEMTYPE_JINGDONG ||
                    itemdata.ItemType == Shop.ITEMTYPE.ITEMTYPE_MOBILE ||
                    itemdata.ItemType == Shop.ITEMTYPE.ITEMTYPE_GOODS)
                {
                    string tradeNoId = umsg.ReadString();
                    Bag.GetBagInstance().AddExchangeRecordData(tradeNoId, itemid, 0);
                    Bag.GetBagInstance().SetItemInfoPanelActive(false);
                    CCustomDialog.OpenCustomConfirmUIWithFormatParam(1113, itemdata.ItemName);
                }
                else
                {
                    //GameMain.hall_.shop.OpenBuyResultDialogUI(itemdata.ItemIcon, itemdata.ItemType, itemdata.ItemNum + itemdata.PresentItemNum, 1101);
                    //GameMain.hall_.gift.ShowBuyItemIcon((int)itemdata.ItemID);
                }
            }
            else
            {
                uint tipsID = 0;
                //0表示成功 ,1验证不通过,2购买所需的货币不足,3商品库存不足
                switch (buystate)
                {
                case 1:
                    tipsID = 1104;
                    break;

                case 2:
                {
                    if (itemdata.CurrencyType == Shop.CURRENCYTYPE.CURRENCYTYPE_DIAMOND)
                    {
                        tipsID = 1102;
                    }
                    else if (itemdata.CurrencyType == Shop.CURRENCYTYPE.CURRENCYTYPE_LOTTERY)
                    {
                        tipsID = 1103;
                    }
                    else if (itemdata.CurrencyType == Shop.CURRENCYTYPE.CURRENCYTYPE_GOODS)
                    {
                        tipsID = 1114;
                    }
                }
                break;

                case 3:
                    tipsID = 1105;
                    break;
                }
                CCustomDialog.OpenCustomConfirmUI(tipsID);
            }
        }
        return(true);
    }