Exemple #1
0
    /// <summary>
    /// 复制(深拷贝)
    /// </summary>
    protected override void toCopy(BaseData data)
    {
        if (!(data is ActivityPartData))
        {
            return;
        }

        ActivityPartData mData = (ActivityPartData)data;

        if (mData.datas != null)
        {
            if (this.datas != null)
            {
                this.datas.clear();
                this.datas.ensureCapacity(mData.datas.size());
            }
            else
            {
                this.datas = new IntObjectMap <ActivityData>(mData.datas.size());
            }

            IntObjectMap <ActivityData> datasT = this.datas;
            if (!mData.datas.isEmpty())
            {
                ActivityData[] datasVValues = mData.datas.getValues();
                for (int datasVI = datasVValues.Length - 1; datasVI >= 0; --datasVI)
                {
                    ActivityData datasV = datasVValues[datasVI];
                    if (datasV != null)
                    {
                        ActivityData datasU;
                        if (datasV != null)
                        {
                            datasU = (ActivityData)datasV.clone();
                        }
                        else
                        {
                            datasU = null;
                            nullObjError("datasU");
                        }

                        datasT.put(datasU.id, datasU);
                    }
                }
            }
        }
        else
        {
            this.datas = null;
            nullObjError("datas");
        }
    }