/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { AuctionBuyItemData mData = (AuctionBuyItemData)data; if (this.instanceID != mData.instanceID) { return(false); } if (this.itemID != mData.itemID) { return(false); } if (this.num != mData.num) { return(false); } if (this.price != mData.price) { return(false); } return(true); }
/// <summary> /// 回池 /// </summary> protected override void toRelease(DataPool pool) { base.toRelease(pool); this.data.release(pool); this.data = null; }
/// <summary> /// 创建实例 /// </summary> public static FuncAuctionBuyItemRequest create(int funcID, AuctionBuyItemData data) { FuncAuctionBuyItemRequest re = (FuncAuctionBuyItemRequest)BytesControl.createRequest(dataID); re.funcID = funcID; re.data = data; return(re); }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { if (!(data is AuctionBuyItemData)) { return; } AuctionBuyItemData mData = (AuctionBuyItemData)data; this.instanceID = mData.instanceID; this.itemID = mData.itemID; this.num = mData.num; this.price = mData.price; }
protected override void copyData() { base.copyData(); AuctionBuyItemData dataTemp = data; if (dataTemp != null) { this.data = (AuctionBuyItemData)dataTemp.clone(); } else { this.data = null; nullObjError("data"); } }
/// <summary> /// 转文本输出 /// </summary> protected override void toWriteDataString(DataWriter writer) { base.toWriteDataString(writer); writer.writeTabs(); writer.sb.Append("sellItems"); writer.sb.Append(':'); writer.sb.Append("Map<long,AuctionItemData>"); if (this.sellItems != null) { writer.sb.Append('('); writer.sb.Append(this.sellItems.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!this.sellItems.isEmpty()) { long sellItemsKFreeValue = this.sellItems.getFreeValue(); long[] sellItemsKKeys = this.sellItems.getKeys(); AuctionItemData[] sellItemsVValues = this.sellItems.getValues(); for (int sellItemsKI = sellItemsKKeys.Length - 1; sellItemsKI >= 0; --sellItemsKI) { long sellItemsK = sellItemsKKeys[sellItemsKI]; if (sellItemsK != sellItemsKFreeValue) { AuctionItemData sellItemsV = sellItemsVValues[sellItemsKI]; writer.writeTabs(); writer.sb.Append(sellItemsK); writer.sb.Append(':'); if (sellItemsV != null) { sellItemsV.writeDataString(writer); } else { writer.sb.Append("AuctionItemData=null"); } writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("preSellItems"); writer.sb.Append(':'); writer.sb.Append("Map<long,AuctionItemData>"); if (this.preSellItems != null) { writer.sb.Append('('); writer.sb.Append(this.preSellItems.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!this.preSellItems.isEmpty()) { long preSellItemsKFreeValue = this.preSellItems.getFreeValue(); long[] preSellItemsKKeys = this.preSellItems.getKeys(); AuctionItemData[] preSellItemsVValues = this.preSellItems.getValues(); for (int preSellItemsKI = preSellItemsKKeys.Length - 1; preSellItemsKI >= 0; --preSellItemsKI) { long preSellItemsK = preSellItemsKKeys[preSellItemsKI]; if (preSellItemsK != preSellItemsKFreeValue) { AuctionItemData preSellItemsV = preSellItemsVValues[preSellItemsKI]; writer.writeTabs(); writer.sb.Append(preSellItemsK); writer.sb.Append(':'); if (preSellItemsV != null) { preSellItemsV.writeDataString(writer); } else { writer.sb.Append("AuctionItemData=null"); } writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("preBuyItems"); writer.sb.Append(':'); writer.sb.Append("Map<long,AuctionBuyItemData>"); if (this.preBuyItems != null) { writer.sb.Append('('); writer.sb.Append(this.preBuyItems.size()); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); if (!this.preBuyItems.isEmpty()) { long preBuyItemsKFreeValue = this.preBuyItems.getFreeValue(); long[] preBuyItemsKKeys = this.preBuyItems.getKeys(); AuctionBuyItemData[] preBuyItemsVValues = this.preBuyItems.getValues(); for (int preBuyItemsKI = preBuyItemsKKeys.Length - 1; preBuyItemsKI >= 0; --preBuyItemsKI) { long preBuyItemsK = preBuyItemsKKeys[preBuyItemsKI]; if (preBuyItemsK != preBuyItemsKFreeValue) { AuctionBuyItemData preBuyItemsV = preBuyItemsVValues[preBuyItemsKI]; writer.writeTabs(); writer.sb.Append(preBuyItemsK); writer.sb.Append(':'); if (preBuyItemsV != null) { preBuyItemsV.writeDataString(writer); } else { writer.sb.Append("AuctionBuyItemData=null"); } writer.writeEnter(); } } } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { if (!base.toDataEquals(data)) { return(false); } PlayerAuctionToolData mData = (PlayerAuctionToolData)data; if (mData.sellItems != null) { if (this.sellItems == null) { return(false); } if (this.sellItems.size() != mData.sellItems.size()) { return(false); } LongObjectMap <AuctionItemData> sellItemsR = mData.sellItems; if (!this.sellItems.isEmpty()) { long sellItemsKFreeValue = this.sellItems.getFreeValue(); long[] sellItemsKKeys = this.sellItems.getKeys(); AuctionItemData[] sellItemsVValues = this.sellItems.getValues(); for (int sellItemsKI = sellItemsKKeys.Length - 1; sellItemsKI >= 0; --sellItemsKI) { long sellItemsK = sellItemsKKeys[sellItemsKI]; if (sellItemsK != sellItemsKFreeValue) { AuctionItemData sellItemsV = sellItemsVValues[sellItemsKI]; AuctionItemData sellItemsU = sellItemsR.get(sellItemsK); if (sellItemsU != null) { if (sellItemsV == null) { return(false); } if (!sellItemsV.dataEquals(sellItemsU)) { return(false); } } else { if (sellItemsV != null) { return(false); } } } } } } else { if (this.sellItems != null) { return(false); } } if (mData.preSellItems != null) { if (this.preSellItems == null) { return(false); } if (this.preSellItems.size() != mData.preSellItems.size()) { return(false); } LongObjectMap <AuctionItemData> preSellItemsR = mData.preSellItems; if (!this.preSellItems.isEmpty()) { long preSellItemsKFreeValue = this.preSellItems.getFreeValue(); long[] preSellItemsKKeys = this.preSellItems.getKeys(); AuctionItemData[] preSellItemsVValues = this.preSellItems.getValues(); for (int preSellItemsKI = preSellItemsKKeys.Length - 1; preSellItemsKI >= 0; --preSellItemsKI) { long preSellItemsK = preSellItemsKKeys[preSellItemsKI]; if (preSellItemsK != preSellItemsKFreeValue) { AuctionItemData preSellItemsV = preSellItemsVValues[preSellItemsKI]; AuctionItemData preSellItemsU = preSellItemsR.get(preSellItemsK); if (preSellItemsU != null) { if (preSellItemsV == null) { return(false); } if (!preSellItemsV.dataEquals(preSellItemsU)) { return(false); } } else { if (preSellItemsV != null) { return(false); } } } } } } else { if (this.preSellItems != null) { return(false); } } if (mData.preBuyItems != null) { if (this.preBuyItems == null) { return(false); } if (this.preBuyItems.size() != mData.preBuyItems.size()) { return(false); } LongObjectMap <AuctionBuyItemData> preBuyItemsR = mData.preBuyItems; if (!this.preBuyItems.isEmpty()) { long preBuyItemsKFreeValue = this.preBuyItems.getFreeValue(); long[] preBuyItemsKKeys = this.preBuyItems.getKeys(); AuctionBuyItemData[] preBuyItemsVValues = this.preBuyItems.getValues(); for (int preBuyItemsKI = preBuyItemsKKeys.Length - 1; preBuyItemsKI >= 0; --preBuyItemsKI) { long preBuyItemsK = preBuyItemsKKeys[preBuyItemsKI]; if (preBuyItemsK != preBuyItemsKFreeValue) { AuctionBuyItemData preBuyItemsV = preBuyItemsVValues[preBuyItemsKI]; AuctionBuyItemData preBuyItemsU = preBuyItemsR.get(preBuyItemsK); if (preBuyItemsU != null) { if (preBuyItemsV == null) { return(false); } if (!preBuyItemsV.dataEquals(preBuyItemsU)) { return(false); } } else { if (preBuyItemsV != null) { return(false); } } } } } } else { if (this.preBuyItems != null) { return(false); } } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { base.toCopy(data); if (!(data is PlayerAuctionToolData)) { return; } PlayerAuctionToolData mData = (PlayerAuctionToolData)data; if (mData.sellItems != null) { if (this.sellItems != null) { this.sellItems.clear(); this.sellItems.ensureCapacity(mData.sellItems.size()); } else { this.sellItems = new LongObjectMap <AuctionItemData>(mData.sellItems.size()); } LongObjectMap <AuctionItemData> sellItemsT = this.sellItems; if (!mData.sellItems.isEmpty()) { AuctionItemData[] sellItemsVValues = mData.sellItems.getValues(); for (int sellItemsVI = sellItemsVValues.Length - 1; sellItemsVI >= 0; --sellItemsVI) { AuctionItemData sellItemsV = sellItemsVValues[sellItemsVI]; if (sellItemsV != null) { AuctionItemData sellItemsU; if (sellItemsV != null) { sellItemsU = (AuctionItemData)sellItemsV.clone(); } else { sellItemsU = null; nullObjError("sellItemsU"); } sellItemsT.put(sellItemsU.instanceID, sellItemsU); } } } } else { this.sellItems = null; nullObjError("sellItems"); } if (mData.preSellItems != null) { if (this.preSellItems != null) { this.preSellItems.clear(); this.preSellItems.ensureCapacity(mData.preSellItems.size()); } else { this.preSellItems = new LongObjectMap <AuctionItemData>(mData.preSellItems.size()); } LongObjectMap <AuctionItemData> preSellItemsT = this.preSellItems; if (!mData.preSellItems.isEmpty()) { AuctionItemData[] preSellItemsVValues = mData.preSellItems.getValues(); for (int preSellItemsVI = preSellItemsVValues.Length - 1; preSellItemsVI >= 0; --preSellItemsVI) { AuctionItemData preSellItemsV = preSellItemsVValues[preSellItemsVI]; if (preSellItemsV != null) { AuctionItemData preSellItemsU; if (preSellItemsV != null) { preSellItemsU = (AuctionItemData)preSellItemsV.clone(); } else { preSellItemsU = null; nullObjError("preSellItemsU"); } preSellItemsT.put(preSellItemsU.instanceID, preSellItemsU); } } } } else { this.preSellItems = null; nullObjError("preSellItems"); } if (mData.preBuyItems != null) { if (this.preBuyItems != null) { this.preBuyItems.clear(); this.preBuyItems.ensureCapacity(mData.preBuyItems.size()); } else { this.preBuyItems = new LongObjectMap <AuctionBuyItemData>(mData.preBuyItems.size()); } LongObjectMap <AuctionBuyItemData> preBuyItemsT = this.preBuyItems; if (!mData.preBuyItems.isEmpty()) { AuctionBuyItemData[] preBuyItemsVValues = mData.preBuyItems.getValues(); for (int preBuyItemsVI = preBuyItemsVValues.Length - 1; preBuyItemsVI >= 0; --preBuyItemsVI) { AuctionBuyItemData preBuyItemsV = preBuyItemsVValues[preBuyItemsVI]; if (preBuyItemsV != null) { AuctionBuyItemData preBuyItemsU; if (preBuyItemsV != null) { preBuyItemsU = (AuctionBuyItemData)preBuyItemsV.clone(); } else { preBuyItemsU = null; nullObjError("preBuyItemsU"); } preBuyItemsT.put(preBuyItemsU.instanceID, preBuyItemsU); } } } } else { this.preBuyItems = null; nullObjError("preBuyItems"); } }
/// <summary> /// 读取字节流(完整版) /// </summary> protected override void toReadBytesFull(BytesReadStream stream) { base.toReadBytesFull(stream); stream.startReadObj(); int sellItemsLen = stream.readLen(); if (this.sellItems != null) { this.sellItems.clear(); this.sellItems.ensureCapacity(sellItemsLen); } else { this.sellItems = new LongObjectMap <AuctionItemData>(sellItemsLen); } LongObjectMap <AuctionItemData> sellItemsT = this.sellItems; for (int sellItemsI = sellItemsLen - 1; sellItemsI >= 0; --sellItemsI) { AuctionItemData sellItemsV; BaseData sellItemsVT = stream.readDataFullNotNull(); if (sellItemsVT != null) { if (sellItemsVT is AuctionItemData) { sellItemsV = (AuctionItemData)sellItemsVT; } else { sellItemsV = new AuctionItemData(); if (!(sellItemsVT.GetType().IsAssignableFrom(typeof(AuctionItemData)))) { stream.throwTypeReadError(typeof(AuctionItemData), sellItemsVT.GetType()); } sellItemsV.shadowCopy(sellItemsVT); } } else { sellItemsV = null; } sellItemsT.put(sellItemsV.instanceID, sellItemsV); } int preSellItemsLen = stream.readLen(); if (this.preSellItems != null) { this.preSellItems.clear(); this.preSellItems.ensureCapacity(preSellItemsLen); } else { this.preSellItems = new LongObjectMap <AuctionItemData>(preSellItemsLen); } LongObjectMap <AuctionItemData> preSellItemsT = this.preSellItems; for (int preSellItemsI = preSellItemsLen - 1; preSellItemsI >= 0; --preSellItemsI) { AuctionItemData preSellItemsV; BaseData preSellItemsVT = stream.readDataFullNotNull(); if (preSellItemsVT != null) { if (preSellItemsVT is AuctionItemData) { preSellItemsV = (AuctionItemData)preSellItemsVT; } else { preSellItemsV = new AuctionItemData(); if (!(preSellItemsVT.GetType().IsAssignableFrom(typeof(AuctionItemData)))) { stream.throwTypeReadError(typeof(AuctionItemData), preSellItemsVT.GetType()); } preSellItemsV.shadowCopy(preSellItemsVT); } } else { preSellItemsV = null; } preSellItemsT.put(preSellItemsV.instanceID, preSellItemsV); } int preBuyItemsLen = stream.readLen(); if (this.preBuyItems != null) { this.preBuyItems.clear(); this.preBuyItems.ensureCapacity(preBuyItemsLen); } else { this.preBuyItems = new LongObjectMap <AuctionBuyItemData>(preBuyItemsLen); } LongObjectMap <AuctionBuyItemData> preBuyItemsT = this.preBuyItems; for (int preBuyItemsI = preBuyItemsLen - 1; preBuyItemsI >= 0; --preBuyItemsI) { AuctionBuyItemData preBuyItemsV; BaseData preBuyItemsVT = stream.readDataFullNotNull(); if (preBuyItemsVT != null) { if (preBuyItemsVT is AuctionBuyItemData) { preBuyItemsV = (AuctionBuyItemData)preBuyItemsVT; } else { preBuyItemsV = new AuctionBuyItemData(); if (!(preBuyItemsVT.GetType().IsAssignableFrom(typeof(AuctionBuyItemData)))) { stream.throwTypeReadError(typeof(AuctionBuyItemData), preBuyItemsVT.GetType()); } preBuyItemsV.shadowCopy(preBuyItemsVT); } } else { preBuyItemsV = null; } preBuyItemsT.put(preBuyItemsV.instanceID, preBuyItemsV); } stream.endReadObj(); }
/// <summary> /// 写入字节流(简版) /// </summary> protected override void toWriteBytesSimple(BytesWriteStream stream) { base.toWriteBytesSimple(stream); if (this.sellItems != null) { stream.writeLen(this.sellItems.size()); if (!this.sellItems.isEmpty()) { AuctionItemData[] sellItemsVValues = this.sellItems.getValues(); for (int sellItemsVI = sellItemsVValues.Length - 1; sellItemsVI >= 0; --sellItemsVI) { AuctionItemData sellItemsV = sellItemsVValues[sellItemsVI]; if (sellItemsV != null) { if (sellItemsV != null) { stream.writeDataSimpleNotNull(sellItemsV); } else { nullObjError("sellItemsV"); } } } } } else { nullObjError("sellItems"); } if (this.preSellItems != null) { stream.writeLen(this.preSellItems.size()); if (!this.preSellItems.isEmpty()) { AuctionItemData[] preSellItemsVValues = this.preSellItems.getValues(); for (int preSellItemsVI = preSellItemsVValues.Length - 1; preSellItemsVI >= 0; --preSellItemsVI) { AuctionItemData preSellItemsV = preSellItemsVValues[preSellItemsVI]; if (preSellItemsV != null) { if (preSellItemsV != null) { stream.writeDataSimpleNotNull(preSellItemsV); } else { nullObjError("preSellItemsV"); } } } } } else { nullObjError("preSellItems"); } if (this.preBuyItems != null) { stream.writeLen(this.preBuyItems.size()); if (!this.preBuyItems.isEmpty()) { AuctionBuyItemData[] preBuyItemsVValues = this.preBuyItems.getValues(); for (int preBuyItemsVI = preBuyItemsVValues.Length - 1; preBuyItemsVI >= 0; --preBuyItemsVI) { AuctionBuyItemData preBuyItemsV = preBuyItemsVValues[preBuyItemsVI]; if (preBuyItemsV != null) { if (preBuyItemsV != null) { stream.writeDataSimpleNotNull(preBuyItemsV); } else { nullObjError("preBuyItemsV"); } } } } } else { nullObjError("preBuyItems"); } }