Advertisement
Muk99

Unity Layout

Jan 15th, 2017
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.08 KB | None | 0 0
  1.     private const string TEMP_LAYOUT = "Temp/TempLayout.dwlt";
  2.     private const BindingFlags FULL_BINDING = BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic;  
  3.  
  4.     public static void SaveLayout() {
  5.         var windowLayoutType = typeof(Editor).Assembly.GetType("UnityEditor.WindowLayout");
  6.         var saveLayoutMethod = windowLayoutType.GetMethod("SaveWindowLayout", FULL_BINDING);
  7.  
  8.         saveLayoutMethod.Invoke(null, new object[] { TEMP_LAYOUT });
  9.     }
  10.  
  11.     public static void LoadLayout() {
  12.         try {
  13.             var windowLayoutType = typeof(Editor).Assembly.GetType("UnityEditor.WindowLayout");
  14.             var loadMethod = windowLayoutType.GetMethod("LoadWindowLayout", FULL_BINDING);
  15.  
  16.             loadMethod.Invoke(null, new object[] { TEMP_LAYOUT, false });
  17.         }
  18.         catch(Exception e) {
  19.             InternalEditorUtility.LoadDefaultLayout();
  20.             Debug.LogException(e);
  21.             Debug.LogError("Exception was thrown while loading the previous layout, the default layout was loaded instead");
  22.         }
  23.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement