UIManager
来源:互联网 发布:京麦工作台和淘宝助理 编辑:程序博客网 时间:2024/05/22 04:33
using System.Collections;using System.Collections.Generic;using UnityEngine;using System.Reflection;public class UIManager { private static Dictionary<string, KeyValuePair<GameObject, UIBase>> dic = new Dictionary<string, KeyValuePair<GameObject, UIBase>>(); private static GameObject InstantiatePanel(string prefabId) { GameObject prefab = ResourcesManager.Instance.GetUIPrefab(prefabId); if (prefab == null) { Debug.LogError("prefab is null ," + prefabId); return null; } GameObject UIPrefab = GameObject.Instantiate(prefab) as GameObject; UIPrefab.name = prefabId; Transform canvas = GameObject.FindGameObjectWithTag("Canvas").transform; if (canvas == null) { Debug.LogError("Canvas is not find"); return null; } UIPrefab.transform.SetParent(canvas, false); return UIPrefab; } public static void ShowPanel(string name) { GameObject panel = null; UIBase uibase = null; KeyValuePair<GameObject, UIBase> found; if (!dic.TryGetValue(name, out found)) { panel = InstantiatePanel(name); uibase = Assembly.GetExecutingAssembly().CreateInstance(name) as UIBase; if (panel == null) { return; } if (uibase == null) { return; } uibase.Init(panel); dic.Add(name, new KeyValuePair<GameObject, UIBase>(panel, uibase)); } else { panel = found.Key; uibase = found.Value; } if (panel == null || uibase == null) return; panel.SetActive(true); uibase.Enter(); } public static void HidePanel(string name) { KeyValuePair<GameObject, UIBase> pair; if (!dic.TryGetValue(name, out pair)) { return; } pair.Key.SetActive(false); pair.Value.Exit(); } public static void DestroyAllPanel() { } }
0 0
- UIManager
- UIManager
- java UIManager
- UIManager.cs
- Java UIManager
- UIManager和LookAndFeel
- JAVA---LookAndFeel(UIManager)
- 获取UIManager中的key
- java UIManager.getDefaults()
- JAVASE---LookAndFeel(UIManager)
- LookAndFeel类&UIManager类
- UIManager的界面问题
- lua cocos2dx UIManager
- UIManager的作用
- Swing 改变观感 UIManager.setLookAndFeel UIManager.update.updateLookAndFeel(..)
- java UIManager 中的各种属性
- java UIManager 中的各种属性
- JAVA中UIManager的使用
- 93. Restore IP Addresses
- DownloadManager
- QT:键盘事件
- ResourcesManager
- QT:SQLite数据库 '增、删、改、查'
- UIManager
- QT:在Qt中使用SQLite数据库
- UIBase
- greenDAO 3.2 初探
- LoginPanel
- 最大K乘积
- mac mysql 重置root密码
- QT:Qt多线程创建
- 尺取法