/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { ActivityPartData mData = (ActivityPartData)data; if (mData.datas != null) { if (this.datas == null) { return(false); } if (this.datas.size() != mData.datas.size()) { return(false); } IntObjectMap <ActivityData> datasR = mData.datas; if (!this.datas.isEmpty()) { int datasKFreeValue = this.datas.getFreeValue(); int[] datasKKeys = this.datas.getKeys(); ActivityData[] datasVValues = this.datas.getValues(); for (int datasKI = datasKKeys.Length - 1; datasKI >= 0; --datasKI) { int datasK = datasKKeys[datasKI]; if (datasK != datasKFreeValue) { ActivityData datasV = datasVValues[datasKI]; ActivityData datasU = datasR.get(datasK); if (datasU != null) { if (datasV == null) { return(false); } if (!datasV.dataEquals(datasU)) { return(false); } } else { if (datasV != null) { return(false); } } } } } } else { if (this.datas != null) { return(false); } } return(true); }