EditPlay.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEditor;
  4. using UnityEngine;
  5. using UnityEngine.SceneManagement;
  6. //在编辑器场景使用
  7. public class EditPlay : MonoBehaviour
  8. {
  9. static string sceneName = "Entry";
  10. [RuntimeInitializeOnLoadMethod(RuntimeInitializeLoadType.BeforeSceneLoad)]
  11. private static void Initialize()
  12. {
  13. RefreshMenuChecked();
  14. if (Menu.GetChecked("播放场景/Entry场景"))
  15. {
  16. Debug.Log("Play的Entry场景!");
  17. string sceneName = SceneManager.GetActiveScene().name;
  18. if (sceneName != "Entry")SceneManager.LoadScene("Entry");
  19. }
  20. else {
  21. Debug.Log("Play的Current场景!");
  22. }
  23. }
  24. [MenuItem("播放场景/当前场景")]
  25. static void playCurrentScene()
  26. {
  27. Debug.Log("切换成Current场景!");
  28. sceneName = "Current";
  29. RefreshMenuChecked();
  30. }
  31. [MenuItem("播放场景/Entry场景")]
  32. static void playEntryScene()
  33. {
  34. Debug.Log("切换成Entry场景!");
  35. sceneName = "Entry";
  36. RefreshMenuChecked();
  37. }
  38. static void RefreshMenuChecked()
  39. {
  40. Menu.SetChecked("播放场景/当前场景", sceneName == "Current");
  41. Menu.SetChecked("播放场景/Entry场景", sceneName == "Entry");
  42. }
  43. }