private static void OnModeChangeLayouts(ModeChangedArgs args) { // Prevent double loading the default/last layout already done by the WindowLayout system. if (args.prevIndex == -1) { return; } if (HasCapability(ModeCapability.LayoutSwitching, true)) { WindowLayout.SaveCurrentLayoutPerMode(GetModeId(args.prevIndex)); try { if (args.nextIndex != 0 || args.prevIndex == -1 || HasCapability(args.prevIndex, ModeCapability.LayoutSwitching, true)) { // Load the last valid layout for this mode WindowLayout.LoadCurrentModeLayout(keepMainWindow: true); } } catch (Exception) { // Error while loading layout. Load the default layout for current mode. WindowLayout.LoadDefaultLayout(); } } if (HasCapability(ModeCapability.LayoutWindowMenu, true)) { WindowLayout.ReloadWindowLayoutMenu(); EditorUtility.Internal_UpdateAllMenus(); } }
private static void OnModeChangeLayouts(ModeChangedArgs args) { // Prevent double loading the default/last layout already done by the WindowLayout system. if (args.prevIndex == -1) { return; } if (!HasCapability(ModeCapability.LayoutSwitching, true)) { return; } WindowLayout.SaveCurrentLayoutPerMode(GetModeId(args.prevIndex)); try { // Load the last valid layout for this mode WindowLayout.LoadDefaultWindowPreferences(); } catch (Exception) { // Error while loading layout. Load the default layout for current mode. WindowLayout.LoadDefaultLayout(); } WindowLayout.ReloadWindowLayoutMenu(); }
private static void OnModeChangeLayouts(ModeChangedArgs args) { // Prevent double loading the default/last layout already done by the WindowLayout system. if (args.prevIndex == -1) { return; } if (!HasCapability(ModeCapability.LayoutSwitching, true)) { return; } // Save previous mode layout var prevLayoutPath = Path.Combine(Application.temporaryCachePath, $"{k_ModeLayoutKeyName}-{GetModeId(args.prevIndex)}.wlt"); WindowLayout.SaveWindowLayout(prevLayoutPath); // Load exiting layout if available var modeLayoutPath = Path.Combine(Application.temporaryCachePath, $"{k_ModeLayoutKeyName}-{GetModeId(args.nextIndex)}.wlt"); if (File.Exists(modeLayoutPath)) { WindowLayout.LoadWindowLayout(modeLayoutPath, false, false); } else { var layouts = GetModeDataSection(args.nextIndex, k_LayoutsSectionName) as IList <object>; if (layouts != null && layouts.Count > 0) { var layoutPath = layouts[0] as string; if (layoutPath != null) { WindowLayout.LoadWindowLayout(layoutPath, false, false); } } } WindowLayout.ReloadWindowLayoutMenu(); }
private static void OnModeChangeMenus(ModeChangedArgs args) { UpdateModeMenus(args.nextIndex); }
private static void OnModeChangeUpdate(ModeChangedArgs args) { EditorApplication.UpdateMainWindowTitle(); SaveProjectPrefModeIndex(args.nextIndex); UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); }
private static void OnModeChangeUpdate(ModeChangedArgs args) { SaveProjectPrefModeIndex(args.nextIndex); }
private static void OnModeChangeUpdate(ModeChangedArgs args) { EditorApplication.UpdateMainWindowTitle(); SaveProjectPrefModeIndex(args.nextIndex); }