Example #1
0
        /** 输出数据列表 */
        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));
        }
Example #2
0
        /// <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();
        }
Example #3
0
        /// <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);
        }