/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { base.toCopy(data); if (!(data is GameAuctionToolData)) { return; } GameAuctionToolData mData = (GameAuctionToolData)data; if (mData.itemPriceDic != null) { if (this.itemPriceDic != null) { this.itemPriceDic.clear(); this.itemPriceDic.ensureCapacity(mData.itemPriceDic.size()); } else { this.itemPriceDic = new IntIntMap(mData.itemPriceDic.size()); } IntIntMap itemPriceDicT = this.itemPriceDic; if (!mData.itemPriceDic.isEmpty()) { int itemPriceDicKFreeValue = mData.itemPriceDic.getFreeValue(); int[] itemPriceDicKKeys = mData.itemPriceDic.getKeys(); int[] itemPriceDicVValues = mData.itemPriceDic.getValues(); for (int itemPriceDicKI = itemPriceDicKKeys.Length - 1; itemPriceDicKI >= 0; --itemPriceDicKI) { int itemPriceDicK = itemPriceDicKKeys[itemPriceDicKI]; if (itemPriceDicK != itemPriceDicKFreeValue) { int itemPriceDicV = itemPriceDicVValues[itemPriceDicKI]; int itemPriceDicW; int itemPriceDicU; itemPriceDicW = itemPriceDicK; itemPriceDicU = itemPriceDicV; itemPriceDicT.put(itemPriceDicW, itemPriceDicU); } } } } else { this.itemPriceDic = null; nullObjError("itemPriceDic"); } }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { base.toShadowCopy(data); if (!(data is GameAuctionToolData)) { return; } GameAuctionToolData mData = (GameAuctionToolData)data; this.itemPriceDic = mData.itemPriceDic; }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { if (!base.toDataEquals(data)) { return(false); } GameAuctionToolData mData = (GameAuctionToolData)data; if (mData.itemPriceDic != null) { if (this.itemPriceDic == null) { return(false); } if (this.itemPriceDic.size() != mData.itemPriceDic.size()) { return(false); } IntIntMap itemPriceDicR = mData.itemPriceDic; if (!this.itemPriceDic.isEmpty()) { int itemPriceDicKFreeValue = this.itemPriceDic.getFreeValue(); int[] itemPriceDicKKeys = this.itemPriceDic.getKeys(); int[] itemPriceDicVValues = this.itemPriceDic.getValues(); for (int itemPriceDicKI = itemPriceDicKKeys.Length - 1; itemPriceDicKI >= 0; --itemPriceDicKI) { int itemPriceDicK = itemPriceDicKKeys[itemPriceDicKI]; if (itemPriceDicK != itemPriceDicKFreeValue) { int itemPriceDicV = itemPriceDicVValues[itemPriceDicKI]; int itemPriceDicU = itemPriceDicR.get(itemPriceDicK); if (itemPriceDicV != itemPriceDicU) { return(false); } } } } } else { if (this.itemPriceDic != null) { return(false); } } return(true); }