using UnityEngine; using System.Collections; [ExecuteInEditMode] public class MenuManager : MonoBehaviour { public MenuLayer activeMenu; public MenuLayer previousMenu; private MenuLayer[] menuArray; // Use this for initialization void Start () { menuArray = GameObject.FindObjectsOfType (); foreach (var m in menuArray) { m.manager = this; Debug.Log("Found menu: " + m.Name); } } // Update is called once per frame void Update () { } public MenuLayer GetMenu(string menuName){ if (string.IsNullOrEmpty (menuName)) { return null; } foreach (var m in menuArray) { if(m.Name == menuName){ return m; } } return null; } public void ActivateMenu(string menu){ var nextMenu = GetMenu (menu); if (activeMenu == nextMenu) { return; } if (activeMenu != null) { activeMenu.Leave(); } previousMenu = activeMenu; activeMenu = nextMenu; if (nextMenu != null) { nextMenu.Enter(); } } public void ActivatePreviousMenu(){ ActivateMenu (previousMenu == null ? "" : previousMenu.Name); } /*void OnGUI(){ if (activeMenu == null) { return; } activeMenu.Draw (); }*/ }