示例#1
0
    public static bool LoadEditorLayout(EditorRoot root)
    {
        bool bRet = false;

        EditorLayoutInfo editorLayout = new EditorLayoutInfo();

        editorLayout.ReadEditorLayoutInfo(LayoutInfoBaseDir, root, ref editorLayout);

        if (CheckLayoutInfoValid(root, editorLayout))
        {
            //root.position = new Rect(editorLayout.XPox, editorLayout.YPox, editorLayout.Width, editorLayout.Height);
            //EditorUtility.SetDirty(root);
            //root.position = new Rect(editorLayout.XPox, editorLayout.YPox, editorLayout.Width, editorLayout.Height);
            List <EditorControl> spliterTbl = root.GetSpliterCtrl(root.RootCtrl);

            foreach (var item in spliterTbl)
            {
                foreach (var info in editorLayout.DivisionInfo)
                {
                    if (item.CtrlID == info.SpliterID)
                    {
                        item.layoutConstraint.spliterOffset    = info.SplitOffset;
                        item.layoutConstraint.spliterOffsetInv = info.SpliterOffsetInv;
                        break;
                    }
                }
            }
        }

        return(bRet);
    }