/// <summary> /// 复制(潜拷贝) /// </summary> protected override void toShadowCopy(BaseData data) { base.toShadowCopy(data); if (!(data is RoleSocialPoolToolData)) { return; } RoleSocialPoolToolData mData = (RoleSocialPoolToolData)data; this.dic = mData.dic; this.nextCutTime = mData.nextCutTime; }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { if (!base.toDataEquals(data)) { return(false); } RoleSocialPoolToolData mData = (RoleSocialPoolToolData)data; if (mData.dic != null) { if (this.dic == null) { return(false); } if (this.dic.size() != mData.dic.size()) { return(false); } LongObjectMap <RoleSocialPoolData> dicR = mData.dic; if (!this.dic.isEmpty()) { long dicKFreeValue = this.dic.getFreeValue(); long[] dicKKeys = this.dic.getKeys(); RoleSocialPoolData[] dicVValues = this.dic.getValues(); for (int dicKI = dicKKeys.Length - 1; dicKI >= 0; --dicKI) { long dicK = dicKKeys[dicKI]; if (dicK != dicKFreeValue) { RoleSocialPoolData dicV = dicVValues[dicKI]; RoleSocialPoolData dicU = dicR.get(dicK); if (dicU != null) { if (dicV == null) { return(false); } if (!dicV.dataEquals(dicU)) { return(false); } } else { if (dicV != null) { return(false); } } } } } } else { if (this.dic != null) { return(false); } } if (this.nextCutTime != mData.nextCutTime) { return(false); } return(true); }
/// <summary> /// 复制(深拷贝) /// </summary> protected override void toCopy(BaseData data) { base.toCopy(data); if (!(data is RoleSocialPoolToolData)) { return; } RoleSocialPoolToolData mData = (RoleSocialPoolToolData)data; if (mData.dic != null) { if (this.dic != null) { this.dic.clear(); this.dic.ensureCapacity(mData.dic.size()); } else { this.dic = new LongObjectMap <RoleSocialPoolData>(mData.dic.size()); } LongObjectMap <RoleSocialPoolData> dicT = this.dic; if (!mData.dic.isEmpty()) { long dicKFreeValue = mData.dic.getFreeValue(); long[] dicKKeys = mData.dic.getKeys(); RoleSocialPoolData[] dicVValues = mData.dic.getValues(); for (int dicKI = dicKKeys.Length - 1; dicKI >= 0; --dicKI) { long dicK = dicKKeys[dicKI]; if (dicK != dicKFreeValue) { RoleSocialPoolData dicV = dicVValues[dicKI]; long dicW; RoleSocialPoolData dicU; dicW = dicK; if (dicV != null) { dicU = (RoleSocialPoolData)dicV.clone(); } else { dicU = null; nullObjError("dicU"); } dicT.put(dicW, dicU); } } } } else { this.dic = null; nullObjError("dic"); } this.nextCutTime = mData.nextCutTime; }