Beispiel #1
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        base.toCopy(data);

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

        RoleGroupToolData mData = (RoleGroupToolData)data;

        if (mData.simpleDatas != null)
        {
            if (this.simpleDatas != null)
            {
                this.simpleDatas.clear();
                this.simpleDatas.ensureCapacity(mData.simpleDatas.size());
            }
            else
            {
                this.simpleDatas = new LongObjectMap <RoleGroupSimpleData>(mData.simpleDatas.size());
            }

            LongObjectMap <RoleGroupSimpleData> simpleDatasT = this.simpleDatas;
            if (!mData.simpleDatas.isEmpty())
            {
                long   simpleDatasKFreeValue             = mData.simpleDatas.getFreeValue();
                long[] simpleDatasKKeys                  = mData.simpleDatas.getKeys();
                RoleGroupSimpleData[] simpleDatasVValues = mData.simpleDatas.getValues();
                for (int simpleDatasKI = simpleDatasKKeys.Length - 1; simpleDatasKI >= 0; --simpleDatasKI)
                {
                    long simpleDatasK = simpleDatasKKeys[simpleDatasKI];
                    if (simpleDatasK != simpleDatasKFreeValue)
                    {
                        RoleGroupSimpleData simpleDatasV = simpleDatasVValues[simpleDatasKI];
                        long simpleDatasW;
                        RoleGroupSimpleData simpleDatasU;
                        simpleDatasW = simpleDatasK;

                        if (simpleDatasV != null)
                        {
                            simpleDatasU = (RoleGroupSimpleData)simpleDatasV.clone();
                        }
                        else
                        {
                            simpleDatasU = null;
                            nullObjError("simpleDatasU");
                        }

                        simpleDatasT.put(simpleDatasW, simpleDatasU);
                    }
                }
            }
        }
        else
        {
            this.simpleDatas = null;
            nullObjError("simpleDatas");
        }
    }
Beispiel #2
0
    /// <summary>
    /// 复制(潜拷贝)
    /// </summary>
    protected override void toShadowCopy(BaseData data)
    {
        base.toShadowCopy(data);

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

        RoleGroupToolData mData = (RoleGroupToolData)data;

        this.simpleDatas = mData.simpleDatas;
    }
Beispiel #3
0
    /// <summary>
    /// 是否数据一致
    /// </summary>
    protected override bool toDataEquals(BaseData data)
    {
        if (!base.toDataEquals(data))
        {
            return(false);
        }

        RoleGroupToolData mData = (RoleGroupToolData)data;

        if (mData.simpleDatas != null)
        {
            if (this.simpleDatas == null)
            {
                return(false);
            }
            if (this.simpleDatas.size() != mData.simpleDatas.size())
            {
                return(false);
            }
            LongObjectMap <RoleGroupSimpleData> simpleDatasR = mData.simpleDatas;
            if (!this.simpleDatas.isEmpty())
            {
                long   simpleDatasKFreeValue             = this.simpleDatas.getFreeValue();
                long[] simpleDatasKKeys                  = this.simpleDatas.getKeys();
                RoleGroupSimpleData[] simpleDatasVValues = this.simpleDatas.getValues();
                for (int simpleDatasKI = simpleDatasKKeys.Length - 1; simpleDatasKI >= 0; --simpleDatasKI)
                {
                    long simpleDatasK = simpleDatasKKeys[simpleDatasKI];
                    if (simpleDatasK != simpleDatasKFreeValue)
                    {
                        RoleGroupSimpleData simpleDatasV = simpleDatasVValues[simpleDatasKI];
                        RoleGroupSimpleData simpleDatasU = simpleDatasR.get(simpleDatasK);
                        if (simpleDatasU != null)
                        {
                            if (simpleDatasV == null)
                            {
                                return(false);
                            }
                            if (!simpleDatasV.dataEquals(simpleDatasU))
                            {
                                return(false);
                            }
                        }
                        else
                        {
                            if (simpleDatasV != null)
                            {
                                return(false);
                            }
                        }
                    }
                }
            }
        }
        else
        {
            if (this.simpleDatas != null)
            {
                return(false);
            }
        }

        return(true);
    }