using System.Collections; using System.Collections.Generic; using System.Linq; using UnityEditor; using UnityEngine; using UnityEngine.Accessibility; public class CabinetUIManager : MonoBehaviour { public static CabinetUIManager Instance; public Menu current_menu; public List cabinet_ui_base_list = new List(); private void Awake() { Instance = this; } private void Start() { cabinet_ui_base_list = GetComponentsInChildren(true).ToList(); } public static void ChangeMenu(Menu menu) { Instance.current_menu = menu; Instance.cabinet_ui_base_list.ForEach(x => x.OnMenuChanged(menu)); //switch (menu) //{ // case Menu.M_全景监控_设备告警: // break; // case Menu.M_全景监控_温度: // //temperature_and_humidity_list.ForEach(x=>x.) // break; // case Menu.M_全景监控_湿度: // break; // case Menu.M_全景监控_柜门状态: // break; // case Menu.M_全景监控_红外监测: // break; // case Menu.M_全景监控_现场作业: // break; // case Menu.M_全景监控_摄像头: // break; // case Menu.M_数字孪生_机柜容量: // break; // case Menu.M_数字孪生_接地网: // break; // case Menu.M_数字孪生_线缆连接_展示: // break; // case Menu.M_数字孪生_线缆连接_配置: // break; // case Menu.M_数字孪生_场景管理: // break; // case Menu.M_数字孪生_智能巡检: // break; // default: // break; //} } #region Editor Test [ContextMenu("Editor Change Menu")] public void ChangeMenu() { ChangeMenu(current_menu); } public GameObject 温湿度预制体; [ContextMenu("创建温湿度预制体")] public void CreateWsd() { for (int i = 0; i < transform.childCount; i++) { if (transform.GetChild(i).Find("温湿度")) continue; var go = Instantiate(温湿度预制体); go.name = "温湿度"; go.transform.SetParent(transform.GetChild(i)); } } #endregion } public enum Menu { M_全景监控_设备告警, M_全景监控_温度, M_全景监控_湿度, M_全景监控_柜门状态, M_全景监控_红外监测, M_全景监控_现场作业, M_全景监控_摄像头, M_数字孪生_机柜容量, M_数字孪生_接地网, M_数字孪生_线缆连接_展示, M_数字孪生_线缆连接_配置, M_数字孪生_场景管理, M_数字孪生_智能巡检, }