コード例 #1
0
    /// <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");
        }
    }
コード例 #2
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        base.toShadowCopy(data);

        if (!(data is AuctionToolData))
        {
            return;
        }

        AuctionToolData mData = (AuctionToolData)data;

        this.itemRecords = mData.itemRecords;
    }
コード例 #3
0
    /// <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);
    }