Beispiel #1
0
 public bool HasOpenUI(UIDefine panelId)
 {
     if (_panels.ContainsKey(panelId))
     {
         return(true);
     }
     return(false);
 }
Beispiel #2
0
 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();
 }
Beispiel #3
0
    // 加载数据
    protected override void PreloadData()
    {
        // 初始化UI信息
        UIDefine.Init();

        // 读取游戏设置
        GameSetting.Instance.Load();
    }
Beispiel #4
0
 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);
     }
 }
Beispiel #5
0
    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);
    }
Beispiel #6
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ID">UI 枚举</param>
 /// <param name="param">参数</param>
 public void OpenUI(UIDefine ID, params object[] param)
 {
 }
Beispiel #7
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="ID">UI 枚举</param>
 public void OpenUI(UIDefine ID)
 {
 }