62 lines
1.1 KiB
C#
62 lines
1.1 KiB
C#
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<MenuLayer> ();
|
||
|
|
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 ();
|
||
|
|
}*/
|
||
|
|
}
|