1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
-
- using UnityEngine;
- using UnityEngine.SceneManagement;
- namespace NRKernal.NRExamples
- {
-
- public class DemoScenesMenu : SingletonBehaviour<DemoScenesMenu>
- {
-
- public Transform m_ButtonsRoot;
-
- private UserDefineButton[] Buttons;
-
- void Start()
- {
- Buttons = gameObject.GetComponentsInChildren<UserDefineButton>(true);
- m_ButtonsRoot.gameObject.SetActive(false);
- foreach (var item in Buttons)
- {
- item.OnClick += OnItemTriggerEvent;
- }
- GameObject.DontDestroyOnLoad(gameObject);
- }
-
-
- private void OnItemTriggerEvent(string key)
- {
- if (key.Equals("InvisibleBtn"))
- {
- m_ButtonsRoot.gameObject.SetActive(!m_ButtonsRoot.gameObject.activeInHierarchy);
- }
- else if (CanSceneLoaded(key))
- {
- SceneManager.LoadScene(key);
- }
- }
-
-
-
- private bool CanSceneLoaded(string name)
- {
- return (SceneUtility.GetBuildIndexByScenePath(name) != -1) &&
- !SceneManager.GetActiveScene().name.Equals(name);
- }
- }
- }
|