public bool HasOpenUI(UIDefine panelId) { if (_panels.ContainsKey(panelId)) { return(true); } return(false); }
private void Init() { _uiRoot = GameObject.Find("UIRoot").transform; _displayPanels = new Dictionary <UIType, UIPanel>(); _popStack = new Stack <UIPanel>(); _allPanels = new Dictionary <UIType, UIPanel>(); _define = new UIDefine(); }
// 加载数据 protected override void PreloadData() { // 初始化UI信息 UIDefine.Init(); // 读取游戏设置 GameSetting.Instance.Load(); }
public void CloseUIById(UIDefine panelId) { if (_panels.ContainsKey(panelId)) { GameObject node = _panels[panelId]; UIComponent ui = node.GetComponent <UIComponent>(); ui.OnRelease(); GameLoader.Instance.UnLoadGameObject(ui.m_LoadAsset); GameObject.Destroy(node); _panels.Remove(panelId); } }
public void OpenUI(UIDefine panelId, params object[] param) { if (_panels.ContainsKey(panelId)) { Debug.Log("already open panelId:" + panelId); return; } UIData data = UIDataSetting.Instance.UIPrefabs[panelId]; if (data == null) { Debug.Log("not find panelId:" + panelId); return; } ILoadAsset asset = GameLoader.Instance.LoadAssetSync(data.path); if (asset.GameObjectAsset == null) { Debug.Log("not load path:" + data.path); return; } GameObject node = asset.GameObjectAsset; UIComponent ui = node.AddComponent(data.className) as UIComponent; if (ui == null) { Debug.Log("not instantiate class:" + data.className.Name); return; } _panels.Add(panelId, node); node.transform.parent = UIRoot.transform; node.transform.localPosition = new Vector3(0, 0, 0); ui.panelId = panelId; ui.m_LoadAsset = asset; ui.OnInit(param); }
/// <summary> /// /// </summary> /// <param name="ID">UI 枚举</param> /// <param name="param">参数</param> public void OpenUI(UIDefine ID, params object[] param) { }
/// <summary> /// /// </summary> /// <param name="ID">UI 枚举</param> public void OpenUI(UIDefine ID) { }