GameSceneLoadBtns.cs 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using UnityEngine.UI;
  5. using UnityEngine.SceneManagement;
  6. public class GameSceneLoadBtns : MonoBehaviour
  7. {
  8. public static void Create() {
  9. GameObject.Instantiate(Resources.Load<GameObject>("Prefabs/GameSceneLoadBtns"), GameObject.Find("GameMgr/Canvas").transform);
  10. }
  11. // Start is called before the first frame update
  12. void Start()
  13. {
  14. string curSceneName = SceneManager.GetActiveScene().name;
  15. string[] sceneNames = {"Demo_01", "demoScene_free", "Demo"};
  16. for (int i = 0; i < this.transform.childCount; i++) {
  17. Transform t = this.transform.GetChild(i);
  18. t.GetComponentInChildren<Text>().text = "场景" + (i + 1);
  19. string sceneName = sceneNames[i];
  20. if (sceneName == curSceneName) {
  21. t.GetComponent<Image>().color = Color.green;
  22. }
  23. t.GetComponent<Button>().onClick.AddListener(delegate() {
  24. SceneManager.LoadScene(sceneName, LoadSceneMode.Single);
  25. });
  26. }
  27. }
  28. // Update is called once per frame
  29. void Update()
  30. {
  31. }
  32. }