コード例 #1
0
        /// <summary>
        /// 购买物品
        /// </summary>
        public void BuyGoods(SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC)
        {
            var ContainerSize     = UI.MainUI.ContainerInfomanager.Instance.GetContainerClientContsext(2);
            var ItemContainerGood = UI.MainUI.ContainerInfomanager.Instance.sSyncContainerGoods_SCs;
            int ItemCount         = ContainerInfomanager.Instance.GetPackItemList().Count; // ItemContainerGood.FindAll((SSyncContainerGoods_SC P) => { return P.uidGoods > 0; }).Count;

            if (ItemCount < 80)                                                            //判断背包是否已满
            {
                if (!ContainerInfomanager.Instance.PackIsFull())
                {
                    ShowSelectGoodsNumberPanel(sMsgTradeOpenShopGoodsInfo_SC);
                }
                else
                {
                    //弹出解锁背包提示框
                    if (unlockContainerBoxTips == null)
                    {
                        unlockContainerBoxTips = CreatObjectToNGUI.InstantiateObj(unlockContainerBoxTipsPrefab, transform).GetComponent <UnlockContainerBoxTips>();
                    }
                    unlockContainerBoxTips.Show(LanguageTextManager.GetString("IDS_H1_205"), ShowUnLockContainerMessageBox, null,
                                                LanguageTextManager.GetString("IDS_H2_56"), LanguageTextManager.GetString("IDS_H2_28"));
                    //ShowUnLockContainerMessageBox();//解锁新背包
                }
            }
            else
            {
                MessageBox.Instance.Show(3, "", LanguageTextManager.GetString("IDS_H2_2"), LanguageTextManager.GetString("IDS_H2_55"), null);
            }
        }
コード例 #2
0
    public byte[] dDiscountTime;         //商店折扣时间(两个uint的数组)

    public static SMsgTradeOpenShopGoodsInfo_SC ParsePackage(byte[] dataBuffer)
    {
        SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC = new SMsgTradeOpenShopGoodsInfo_SC();
        //int of = Marshal.SizeOf(typeof(SMsgTradeOpenShop_SC));
        int of = 0;

        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.dGoodsID);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.dShopGoodsID);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.bType);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.dPrice);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.dwExChangeGoodsID);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.dwExChangeGoodsNumber);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.byRow);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.byList);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShopGoodsInfo_SC.bPrecent);
        byte[] TimeValue = new byte[8];
        for (int i = 0; i < 8; i++)
        {
            of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out TimeValue[i]);
        }
        sMsgTradeOpenShopGoodsInfo_SC.dShevesTime = TimeValue;
        for (int i = 0; i < 8; i++)
        {
            of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out TimeValue[i]);
        }
        sMsgTradeOpenShopGoodsInfo_SC.dDiscountTime = TimeValue;
        return(sMsgTradeOpenShopGoodsInfo_SC);
    }
コード例 #3
0
        public void Show(SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC, ShopInfoUIManager_V2 MyParent)
        {
            SelectNumberScoreBar.scrollValue = 1f / 99f;
            InputLabel.text = "";
            this.ShopSingleGoodsBox.Init(sMsgTradeOpenShopGoodsInfo_SC, null);
            BuyNumber = 1;
            this.sMsgTradeOpenShopGoodsInfo_SC = sMsgTradeOpenShopGoodsInfo_SC;
            this.MyParent = MyParent;
            var PlayerData = PlayerManager.Instance.FindHeroDataModel().PlayerValues;

            this.m_BindMoney        = PlayerData.PLAYER_FIELD_CURRENCY_COWRY;
            this.m_GoldMoney        = PlayerData.PLAYER_FIELD_BINDPAY;
            this.m_CopperCoin       = PlayerData.PLAYER_FIELD_HOLDMONEY;
            transform.localPosition = new Vector3(0, 0, -200);
        }
コード例 #4
0
        public void Init(SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC, ShopGoodsListPanel_V2 MyParent)
        {
            ////TODO GuideBtnManager.Instance.RegGuideButton(this.gameObject, UIType.ShopInfo, SubType.ShopInfoGoodItem, out m_guideBtnID);
            OverlayLabel.SetText("");
            this.MyParent = MyParent;
            this.sMsgTradeOpenShopGoodsInfo_SC = sMsgTradeOpenShopGoodsInfo_SC;
            Effect01.gameObject.SetActive(false);
            Effect02.gameObject.SetActive(false);
            this.LocalGoodsData = ItemDataManager.Instance.GetItemData((int)sMsgTradeOpenShopGoodsInfo_SC.dGoodsID);
            NameLabel.text      = GetGoodsName(LocalGoodsData);
            AllowLvLabel.SetButtonText(LocalGoodsData._AllowLevel.ToString());
            CreatItemIconPoint.ClearChild();
            CreatObjectToNGUI.InstantiateObj(LocalGoodsData._picPrefab, CreatItemIconPoint);
            //var AddString = LocalGoodsData('+');
            //var EfferData = ItemDataManager.Instance.EffectDatas._effects.FirstOrDefault(P => P.m_SzName == AddString[0]);
            switch ((BoxItemType)LocalGoodsData._GoodsClass)
            {
            case BoxItemType.Equipment:
                var AddString = (LocalGoodsData as EquipmentData)._vectEffects.Split('|');
                for (int i = 0; i < AddString.Length; i++)
                {
                    var efferData = ItemDataManager.Instance.EffectDatas._effects.FirstOrDefault(P => P.m_SzName == AddString[i].Split('+')[0]);
                    if (i == 0)
                    {
                        Effect01.gameObject.SetActive(true);
                        Effect01.SetButtonText(HeroAttributeScale.GetScaleAttribute(efferData, int.Parse(AddString[i].Split('+')[1])).ToString());
                        Effect01.SetButtonBackground(efferData.EffectRes);
                    }
                    else if (i == 1)
                    {
                        Effect02.gameObject.SetActive(true);
                        Effect02.SetButtonText(HeroAttributeScale.GetScaleAttribute(efferData, int.Parse(AddString[i].Split('+')[1])).ToString());
                        Effect02.SetButtonBackground(efferData.EffectRes);
                    }
                }
                break;

            case BoxItemType.Materien:
                OverlayLabel.SetText(string.Format("x{0}", LocalGoodsData._PileQty));
                break;

            case BoxItemType.Medicament:
                OverlayLabel.SetText(string.Format("x{0}", LocalGoodsData._PileQty));
                break;
            }
            FlashBackground();
        }
コード例 #5
0
    public static SMsgTradeOpenShop_SC ParsePackage(byte[] dataBuffer)
    {
        SMsgTradeOpenShop_SC sMsgTradeOpenShop_SC = new SMsgTradeOpenShop_SC();
        int of = 0;

        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShop_SC.uidNPC);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShop_SC.dwShopID);
        //sMsgTradeOpenShop_SC.szShopName = dataBuffer.Skip(of).Take(32).ToArray();
        //of += 32;
        //sMsgTradeOpenShop_SC.ShopName = Encoding.UTF8.GetString(sMsgTradeOpenShop_SC.szShopName);
        of += PackageHelper.ReadData(dataBuffer.Skip(of).ToArray(), out sMsgTradeOpenShop_SC.bShopGoodsNum);

        SMsgTradeOpenShopGoodsInfo_SC[] GoodsInfoValue = new SMsgTradeOpenShopGoodsInfo_SC[sMsgTradeOpenShop_SC.bShopGoodsNum];
        for (int i = 0; i < GoodsInfoValue.Length; i++)
        {
            GoodsInfoValue[i] = SMsgTradeOpenShopGoodsInfo_SC.ParsePackage(dataBuffer.Skip(of).ToArray());
            of += Marshal.SizeOf(typeof(SMsgTradeOpenShopGoodsInfo_SC));
        }
        sMsgTradeOpenShop_SC.ShopGoodsInfo = GoodsInfoValue;

        return(sMsgTradeOpenShop_SC);
    }
コード例 #6
0
 void ShowSelectGoodsNumberPanel(SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC)
 {
     this.shopSelectGoodsNumberPanel.Show(sMsgTradeOpenShopGoodsInfo_SC, this);
 }