/// <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); } }
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); }
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); }
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(); }
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); }
void ShowSelectGoodsNumberPanel(SMsgTradeOpenShopGoodsInfo_SC sMsgTradeOpenShopGoodsInfo_SC) { this.shopSelectGoodsNumberPanel.Show(sMsgTradeOpenShopGoodsInfo_SC, this); }