/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { base.toCopy(data); if (!(data is AuctionToolData)) { return; } AuctionToolData mData = (AuctionToolData)data; if (mData.itemRecords != null) { if (this.itemRecords != null) { this.itemRecords.clear(); this.itemRecords.ensureCapacity(mData.itemRecords.size()); } else { this.itemRecords = new IntObjectMap <AuctionItemRecordData>(mData.itemRecords.size()); } IntObjectMap <AuctionItemRecordData> itemRecordsT = this.itemRecords; if (!mData.itemRecords.isEmpty()) { AuctionItemRecordData[] itemRecordsVValues = mData.itemRecords.getValues(); for (int itemRecordsVI = itemRecordsVValues.Length - 1; itemRecordsVI >= 0; --itemRecordsVI) { AuctionItemRecordData itemRecordsV = itemRecordsVValues[itemRecordsVI]; if (itemRecordsV != null) { AuctionItemRecordData itemRecordsU; if (itemRecordsV != null) { itemRecordsU = (AuctionItemRecordData)itemRecordsV.clone(); } else { itemRecordsU = null; nullObjError("itemRecordsU"); } itemRecordsT.put(itemRecordsU.id, itemRecordsU); } } } } else { this.itemRecords = null; nullObjError("itemRecords"); } }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { base.toShadowCopy(data); if (!(data is AuctionToolData)) { return; } AuctionToolData mData = (AuctionToolData)data; this.itemRecords = mData.itemRecords; }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { if (!base.toDataEquals(data)) { return(false); } AuctionToolData mData = (AuctionToolData)data; if (mData.itemRecords != null) { if (this.itemRecords == null) { return(false); } if (this.itemRecords.size() != mData.itemRecords.size()) { return(false); } IntObjectMap <AuctionItemRecordData> itemRecordsR = mData.itemRecords; if (!this.itemRecords.isEmpty()) { int itemRecordsKFreeValue = this.itemRecords.getFreeValue(); int[] itemRecordsKKeys = this.itemRecords.getKeys(); AuctionItemRecordData[] itemRecordsVValues = this.itemRecords.getValues(); for (int itemRecordsKI = itemRecordsKKeys.Length - 1; itemRecordsKI >= 0; --itemRecordsKI) { int itemRecordsK = itemRecordsKKeys[itemRecordsKI]; if (itemRecordsK != itemRecordsKFreeValue) { AuctionItemRecordData itemRecordsV = itemRecordsVValues[itemRecordsKI]; AuctionItemRecordData itemRecordsU = itemRecordsR.get(itemRecordsK); if (itemRecordsU != null) { if (itemRecordsV == null) { return(false); } if (!itemRecordsV.dataEquals(itemRecordsU)) { return(false); } } else { if (itemRecordsV != null) { return(false); } } } } } } else { if (this.itemRecords != null) { return(false); } } return(true); }