/** 输出数据列表 */ public static void printDataList <T>(SList <T> list) where T : BaseData { StringBuilder sb = StringBuilderPool.create(); T data; for (int i = 0, len = list.size(); i < len; i++) { data = list.get(i); sb.Append(i); sb.Append(":"); if (data == null) { sb.Append("null"); } else { sb.Append(data.toDataString()); } sb.Append("\n"); } Ctrl.print(StringBuilderPool.releaseStr(sb)); }
/// <summary> /// 转文本输出 /// </summary> protected override void toWriteDataString(DataWriter writer) { writer.writeTabs(); writer.sb.Append("name"); writer.sb.Append(':'); writer.sb.Append(this.name); writer.writeEnter(); writer.writeTabs(); writer.sb.Append("type"); writer.sb.Append(':'); writer.sb.Append(this.type); writer.writeEnter(); writer.writeTabs(); writer.sb.Append("style"); writer.sb.Append(':'); writer.sb.Append(this.style); writer.writeEnter(); writer.writeTabs(); writer.sb.Append("children"); writer.sb.Append(':'); writer.sb.Append("List<UIObjectData>"); if (this.children != null) { SList <UIObjectData> childrenT = this.children; int childrenLen = childrenT.size(); writer.sb.Append('('); writer.sb.Append(childrenLen); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); for (int childrenI = 0; childrenI < childrenLen; ++childrenI) { UIObjectData childrenV = childrenT.get(childrenI); writer.writeTabs(); writer.sb.Append(childrenI); writer.sb.Append(':'); if (childrenV != null) { childrenV.writeDataString(writer); } else { writer.sb.Append("UIObjectData=null"); } writer.writeEnter(); } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("intArgs"); writer.sb.Append(':'); writer.sb.Append("Array<int>"); if (this.intArgs != null) { int[] intArgsT = this.intArgs; int intArgsLen = intArgsT.Length; writer.sb.Append('('); writer.sb.Append(intArgsLen); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); for (int intArgsI = 0; intArgsI < intArgsLen; ++intArgsI) { int intArgsV = intArgsT[intArgsI]; writer.writeTabs(); writer.sb.Append(intArgsI); writer.sb.Append(':'); writer.sb.Append(intArgsV); writer.writeEnter(); } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); writer.writeTabs(); writer.sb.Append("strArgs"); writer.sb.Append(':'); writer.sb.Append("Array<string>"); if (this.strArgs != null) { string[] strArgsT = this.strArgs; int strArgsLen = strArgsT.Length; writer.sb.Append('('); writer.sb.Append(strArgsLen); writer.sb.Append(')'); writer.writeEnter(); writer.writeLeftBrace(); for (int strArgsI = 0; strArgsI < strArgsLen; ++strArgsI) { string strArgsV = strArgsT[strArgsI]; writer.writeTabs(); writer.sb.Append(strArgsI); writer.sb.Append(':'); writer.sb.Append(strArgsV); writer.writeEnter(); } writer.writeRightBrace(); } else { writer.sb.Append("=null"); } writer.writeEnter(); }
/// <summary> /// 是否数据一致 /// </summary> protected override bool toDataEquals(BaseData data) { UIObjectData mData = (UIObjectData)data; if (this.name != mData.name) { return(false); } if (this.type != mData.type) { return(false); } if (this.style != mData.style) { return(false); } if (mData.children != null) { if (this.children == null) { return(false); } if (this.children.size() != mData.children.size()) { return(false); } SList <UIObjectData> childrenT = this.children; SList <UIObjectData> childrenR = mData.children; int childrenLen = childrenT.size(); for (int childrenI = 0; childrenI < childrenLen; ++childrenI) { UIObjectData childrenU = childrenT.get(childrenI); UIObjectData childrenV = childrenR.get(childrenI); if (childrenV != null) { if (childrenU == null) { return(false); } if (!childrenU.dataEquals(childrenV)) { return(false); } } else { if (childrenU != null) { return(false); } } } } else { if (this.children != null) { return(false); } } if (mData.intArgs != null) { if (this.intArgs == null) { return(false); } if (this.intArgs.Length != mData.intArgs.Length) { return(false); } int[] intArgsT = this.intArgs; int[] intArgsR = mData.intArgs; int intArgsLen = intArgsT.Length; for (int intArgsI = 0; intArgsI < intArgsLen; ++intArgsI) { int intArgsU = intArgsT[intArgsI]; int intArgsV = intArgsR[intArgsI]; if (intArgsU != intArgsV) { return(false); } } } else { if (this.intArgs != null) { return(false); } } if (mData.strArgs != null) { if (this.strArgs == null) { return(false); } if (this.strArgs.Length != mData.strArgs.Length) { return(false); } string[] strArgsT = this.strArgs; string[] strArgsR = mData.strArgs; int strArgsLen = strArgsT.Length; for (int strArgsI = 0; strArgsI < strArgsLen; ++strArgsI) { string strArgsU = strArgsT[strArgsI]; string strArgsV = strArgsR[strArgsI]; if (strArgsU != strArgsV) { return(false); } } } else { if (this.strArgs != null) { return(false); } } return(true); }