private void DoEnterPlayModeSettings() { GUILayout.Space(10); GUILayout.Label(Content.enterPlayModeSettings, EditorStyles.boldLabel); EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(m_EnterPlayModeOptionsEnabled, Content.enterPlayModeOptionsEnabled); if (EditorGUI.EndChangeCheck() && m_IsGlobalSettings) { EditorSettings.enterPlayModeOptionsEnabled = m_EnterPlayModeOptionsEnabled.boolValue; } EditorGUI.indentLevel++; using (new EditorGUI.DisabledScope(!m_EnterPlayModeOptionsEnabled.boolValue)) { EnterPlayModeOptions options = (EnterPlayModeOptions)m_EnterPlayModeOptions.intValue; options = ToggleEnterPlayModeOptions(options, EnterPlayModeOptions.DisableDomainReload, Content.enterPlayModeOptionsEnableDomainReload); options = ToggleEnterPlayModeOptions(options, EnterPlayModeOptions.DisableSceneReload, Content.enterPlayModeOptionsEnableSceneReload); if (m_EnterPlayModeOptions.intValue != (int)options) { m_EnterPlayModeOptions.intValue = (int)options; if (m_IsGlobalSettings) { EditorSettings.enterPlayModeOptions = options; } } } EditorGUI.indentLevel--; }
private static void InitializeOnEnterPlayMode(EnterPlayModeOptions options) { LogMethod(type: Type.Structure); // _frameCount = 0; _lastLogFrameCount = 0; }
public IEnumerator SubScene_NotOpenedForEdit_RemainsClosedInPlayMode([Values(EnterPlayModeOptions.DisableDomainReload | EnterPlayModeOptions.DisableSceneReload)] EnterPlayModeOptions enterPlayModeOptions) { // Set editor settings EditorSettings.enterPlayModeOptionsEnabled = enterPlayModeOptions != EnterPlayModeOptions.None; EditorSettings.enterPlayModeOptions = enterPlayModeOptions; var expectingDomainReload = !enterPlayModeOptions.HasFlag(EnterPlayModeOptions.DisableDomainReload); DisableSetupAndTearDown(); EditorSceneManager.OpenScene("Assets/HelloCube/3. SubScene/SubScene.unity", OpenSceneMode.Single); var subScene = Object.FindObjectOfType <SubScene>(); Assert.NotNull(subScene); Assert.IsFalse(subScene.IsLoaded); Assert.AreEqual(1, SceneManager.sceneCount); // Enter play mode yield return(new EnterPlayMode(expectingDomainReload)); // Validate that subscene is still loaded subScene = Object.FindObjectOfType <SubScene>(); Assert.NotNull(subScene); Assert.IsFalse(subScene.IsLoaded); Assert.AreEqual(1, SceneManager.sceneCount); yield return(new ExitPlayMode()); EnableSetupAndTearDown(); }
public IEnumerator RuntimeSetup() { savedState = EditorSettings.enterPlayModeOptionsEnabled; EditorSettings.enterPlayModeOptionsEnabled = true; savedOptions = EditorSettings.enterPlayModeOptions; EditorSettings.enterPlayModeOptions = EnterPlayModeOptions.DisableDomainReload; Addressables.reinitializeAddressables = true; Assert.False(Application.isPlaying); yield return(new EnterPlayMode(false)); }
public void BaseOneTimeSetUp() { if (m_IsSetupAndTearDownDisabled) { return; } if (!m_IsInitialized) { m_OldEnterPlayModeOptionsEnabled = EditorSettings.enterPlayModeOptionsEnabled; m_OldEnterPlayModeOptions = EditorSettings.enterPlayModeOptions; m_IsInitialized = true; } }
private EnterPlayModeOptions ToggleEnterPlayModeOptions(EnterPlayModeOptions options, EnterPlayModeOptions flag, GUIContent content) { bool isSet = ((options & flag) == flag); isSet = EditorGUILayout.Toggle(content, !isSet); if (isSet) { options &= ~flag; } else { options |= flag; } return options; }
private void DoEnterPlayModeSettings() { GUILayout.Space(10); GUILayout.Label(Content.enterPlayModeSettings, EditorStyles.boldLabel); EditorSettings.enterPlayModeOptionsEnabled = EditorGUILayout.Toggle(Content.enterPlayModeOptionsEnabled, EditorSettings.enterPlayModeOptionsEnabled); EditorGUI.indentLevel++; using (new EditorGUI.DisabledScope(!EditorSettings.enterPlayModeOptionsEnabled)) { EnterPlayModeOptions options = EditorSettings.enterPlayModeOptions; options = ToggleEnterPlayModeOptions(options, EnterPlayModeOptions.DisableDomainReload, Content.enterPlayModeOptionsEnableDomainReload); options = ToggleEnterPlayModeOptions(options, EnterPlayModeOptions.DisableSceneReload, Content.enterPlayModeOptionsEnableSceneReload); EditorSettings.enterPlayModeOptions = options; } EditorGUI.indentLevel--; }
protected override void OnDrawInToolbar() { #if UNITY_2019_3_OR_NEWER if (EditorSettings.enterPlayModeOptionsEnabled) { EnterPlayModeOptions option = EditorSettings.enterPlayModeOptions; selectedEnterPlayMode = (int)option + 1; } selectedEnterPlayMode = EditorGUILayout.Popup(selectedEnterPlayMode, enterPlayModeOption, GUILayout.Width(WidthInToolbar)); if (GUI.changed && 0 <= selectedEnterPlayMode && selectedEnterPlayMode < enterPlayModeOption.Length) { EditorSettings.enterPlayModeOptionsEnabled = selectedEnterPlayMode != 0; EditorSettings.enterPlayModeOptions = (EnterPlayModeOptions)(selectedEnterPlayMode - 1); } #endif }
public void SetUp() { if (m_Assets.TempAssetDir != null) { // this setup code is run again when we switch to playmode return; } // Create a temporary folder for test assets m_Assets.SetUp(); m_DefaultWorld.Setup(); m_SubSceneTest.Setup(); m_WasLiveLinkEnabled = SubSceneInspectorUtility.LiveLinkEnabledInEditMode; SubSceneInspectorUtility.LiveLinkEnabledInEditMode = true; m_EnterPlayModeOptions = EditorSettings.enterPlayModeOptions; m_UseEnterPlayerModeOptions = EditorSettings.enterPlayModeOptionsEnabled; m_TestTexture = AssetDatabase.LoadAssetAtPath <Texture>(AssetPath("TestTexture.asset")); m_TestMaterial = AssetDatabase.LoadAssetAtPath <Material>(AssetPath("TestMaterial.mat")); }
public void SetUp() { if (m_Assets.TempAssetDir != null) { // this setup code is run again when we switch to playmode return; } // Create a temporary folder for test assets m_Assets.SetUp(); m_DefaultWorld.Setup(); m_WasLiveLinkEnabled = SubSceneInspectorUtility.LiveLinkEnabledInEditMode; m_EnterPlayModeOptions = EditorSettings.enterPlayModeOptions; m_UseEnterPlayerModeOptions = EditorSettings.enterPlayModeOptionsEnabled; SubSceneInspectorUtility.LiveLinkEnabledInEditMode = true; AssetDatabase.CreateAsset(m_TestTexture = new Texture2D(64, 64), m_Assets.GetNextPath(".asset")); AssetDatabase.CreateAsset(m_TestMaterial = new Material(Shader.Find("Standard")), m_Assets.GetNextPath(".mat")); m_TestMaterial.mainTexture = m_TestTexture; }
public void SetUp() { if (m_TempAssetDir != null) { // this setup code is run again when we switch to playmode return; } // Create a temporary folder for test assets string path; do { path = Path.GetRandomFileName(); } while (AssetDatabase.IsValidFolder(Path.Combine("Assets", path))); var guid = AssetDatabase.CreateFolder("Assets", path); m_TempAssetDir = AssetDatabase.GUIDToAssetPath(guid); m_WasLiveLinkEnabled = SubSceneInspectorUtility.LiveLinkEnabledInEditMode; m_EnterPlayModeOptions = EditorSettings.enterPlayModeOptions; m_UseEnterPlayerModeOptions = EditorSettings.enterPlayModeOptionsEnabled; SubSceneInspectorUtility.LiveLinkEnabledInEditMode = true; }
private static void InitializeOnEnterPlayMode(EnterPlayModeOptions options) { _minimaps = new Dictionary <int, MinimapBase>(); }
public IEnumerator DefaultBootstrappedWorld_OnSecondEnterPlayMode_ProducesOneWorld([ValueSource(nameof(TestEnterPlayModeOptions))] EnterPlayModeOptions enterPlayModeOptions) { // Set editor settings EditorSettings.enterPlayModeOptionsEnabled = enterPlayModeOptions != EnterPlayModeOptions.None; EditorSettings.enterPlayModeOptions = enterPlayModeOptions; m_ExpectingDomainReload = !enterPlayModeOptions.HasFlag(EnterPlayModeOptions.DisableDomainReload); DisableSetupAndTearDown(); // Make sure we have an Editor world initialized AddVerificationScript(); Assert.NotNull(World.DefaultGameObjectInjectionWorld); // Enter play mode Debug.Log("Before EnterPlayMode"); yield return(new EnterPlayMode(m_ExpectingDomainReload)); m_DefaultWorldsCount = GetDefaultWorldsCount(); m_EditorWorldsCount = GetEditorWorldsCount(); m_FirstEnterWorldsCount = World.All.Count; Debug.Log("Before ExitPlayMode"); yield return(new ExitPlayMode()); // Validate Game World in Play Mode Assert.AreEqual(1, m_DefaultWorldsCount); // Validate no Editor World in Play Mode Assert.AreEqual(0, m_EditorWorldsCount); Debug.Log("Before EnterPlayMode"); yield return(new EnterPlayMode(m_ExpectingDomainReload)); m_DefaultWorldsCount = GetDefaultWorldsCount(); m_EditorWorldsCount = GetEditorWorldsCount(); m_SecondEnterWorldsCount = World.All.Count; Debug.Log("Before ExitPlayMode"); yield return(new ExitPlayMode()); EnableSetupAndTearDown(); Assert.AreEqual(1, m_DefaultWorldsCount); Assert.AreEqual(0, m_EditorWorldsCount); Assert.AreEqual(m_FirstEnterWorldsCount, m_SecondEnterWorldsCount); }
private static void InitializeOnEnterPlayMode(EnterPlayModeOptions options) { ManagedLog.LogMethod(type: ManagedLog.Type.Structure); StateMachines.Clear(); }