Esempio n. 1
0
    public void OpenUI(UIType type, params object[] data)
    {
        BaseUI ui = null;

        if (_uiPool.TryGetValue((int)type, out ui))
        {
            ui.OnOpen(data);
        }
        else
        {
            UIRegisterData registerData = _registerData[(int)type];
            if (registerData != null)
            {
                var go = ResourceManager.LoadRes <GameObject>(registerData.path);
                go = GameObject.Instantiate(go);
                ui = go.GetComponent <BaseUI>();
                go.transform.SetParent(_canvas, false);
                if (ui == null)
                {
                    Debug.LogError(string.Format("ui {0} not find baseui component", type));
                }
                else
                {
                    ui.SetRegisterData(registerData);
                    ui.OnOpen(data);
                    _uiPool.Add((int)type, ui);
                }
            }
            else
            {
                Debug.LogError("can not find uitype " + type);
            }
        }
    }
Esempio n. 2
0
 public void SetRegisterData(UIRegisterData data)
 {
     _registerData = data;
 }