//批量下发竞拍数据// CommandCallbackType ReceiveAuctionHandle(byte[] dataBuffer, int sorketID) { AuctionModel.Instance.sAuctionOpenUI_SC = SAuctionOpenUI_SC.ParsePackage(dataBuffer); AuctionModel.Instance.auctionUpdatDownTime = (float)AuctionModel.Instance.sAuctionOpenUI_SC.TimeInterval; // AuctionModel.Instance.isHaveRequestAuctionData = true; UIEventManager.Instance.TriggerUIEvent(UIEventType.ReceiveServerAuctionData, null); return(CommandCallbackType.Continue); }
public static SAuctionOpenUI_SC ParsePackage(byte[] dataBuffer) { SAuctionOpenUI_SC sAuctionOpenUI_SC = new SAuctionOpenUI_SC(); int offset = 0; offset += PackageHelper.ReadData(dataBuffer.Skip(offset).ToArray(), out sAuctionOpenUI_SC.TimeInterval); offset += PackageHelper.ReadData(dataBuffer.Skip(offset).ToArray(), out sAuctionOpenUI_SC.byUintNum); sAuctionOpenUI_SC.auctionMap = new Dictionary <byte, DAuctionUint>(); for (int i = 0; i < sAuctionOpenUI_SC.byUintNum; i++) { DAuctionUint dAuctionUint = DAuctionUint.ParsePackage(dataBuffer, ref offset); sAuctionOpenUI_SC.auctionMap.Add(dAuctionUint.byIndex, dAuctionUint); } return(sAuctionOpenUI_SC); }
//测试使用 public void Test() { isHaveRequestAuctionData = true; sAuctionOpenUI_SC = new SAuctionOpenUI_SC(); sAuctionOpenUI_SC.TimeInterval = 122; sAuctionOpenUI_SC.byUintNum = 20; sAuctionOpenUI_SC.auctionMap = new Dictionary <byte, DAuctionUint> (); for (int i = 0; i < (int)sAuctionOpenUI_SC.byUintNum; i++) { DAuctionUint test = new DAuctionUint(); test.byIndex = (byte)i; test.dwGoodsID = (uint)1000000; test.dwGoodsNum = (uint)(i + 5); test.dwCurPrice = (uint)4000; test.dwAcotorID = (uint)i; test.szName = new byte[] { 1, 2, 3 }; sAuctionOpenUI_SC.auctionMap.Add(test.byIndex, test); } }