更新强制main场景启动功能

This commit is contained in:
shenjianxing 2025-02-18 17:23:30 +08:00
parent 4e911ce005
commit 40f0e1e6d9
3 changed files with 56 additions and 7 deletions

View File

@ -0,0 +1,35 @@
using UnityEditor;
using UnityEngine;
#if UNITY_EDITOR
public class FixedMainEditor
{
private const string FixedMainKey = "IsFixedMain";
public static bool isFixedMain
{
get
{
return PlayerPrefs.GetInt(FixedMainKey, 0) == 1;
}
set
{
PlayerPrefs.SetInt(FixedMainKey, value ? 1 : 0);
PlayerPrefs.Save();
}
}
[MenuItem("Tools/强制Main场景启动 %#x", false, 10)]
private static void ToggleOption()
{
isFixedMain = !isFixedMain;
EditorUtility.DisplayDialog("Option Status", "Option is now " + (isFixedMain ? "enabled" : "disabled"), "OK");
}
[MenuItem("Tools/强制Main场景启动 %#x", true, 10)]
private static bool ValidateToggleOption()
{
Menu.SetChecked("Tools/强制Main场景启动", isFixedMain);
return true;
}
}
#endif

View File

@ -0,0 +1,11 @@
fileFormatVersion: 2
guid: 0b0b3735d5f7030428778c408124d2f8
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

View File

@ -1,12 +1,13 @@
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.SceneManagement;
#if UNITY_EDITOR
public class OpeanCustomScene : MonoBehaviour
{
[RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
private static void Initialize()
{
Debug.LogError(FixedMainEditor.isFixedMain);
if (FixedMainEditor.isFixedMain)
{
Scene scene = SceneManager.GetActiveScene();
if (!scene.name.Equals("Main"))
@ -15,3 +16,5 @@ public class OpeanCustomScene : MonoBehaviour
}
}
}
}
#endif