internal static PrefabStage.Mode GetPrefabStageModeFromModifierKeys() { // Update GetPrefabButtonContent if this logic changes var defaultPrefabMode = PreferencesProvider.GetDefaultPrefabModeForHierarchy(); var alternativePrefabMode = (defaultPrefabMode == PrefabStage.Mode.InContext) ? PrefabStage.Mode.InIsolation : PrefabStage.Mode.InContext; return(Event.current.alt ? alternativePrefabMode : defaultPrefabMode); }
internal static GUIContent GetPrefabButtonContent(int instanceID) { GUIContent result; var defaultPrefabMode = PreferencesProvider.GetDefaultPrefabModeForHierarchy(); switch (defaultPrefabMode) { case PrefabStage.Mode.InContext: result = new GUIContent("", null, $"Open Prefab Asset in context.\nPress modifier key [Alt] to open in isolation."); break; case PrefabStage.Mode.InIsolation: result = new GUIContent("", null, "Open Prefab Asset in isolation.\nPress modifier key [Alt] to open in context."); break; default: result = new GUIContent(""); Debug.LogError("Unhandled defaultPrefabMode enum"); break; } return(result); }