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); }