/// <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"); } }
/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { base.toShadowCopy(data); if (!(data is RoleGroupToolData)) { return; } RoleGroupToolData mData = (RoleGroupToolData)data; this.simpleDatas = mData.simpleDatas; }
/// <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); }