Ejemplo n.º 1
0
        private IEnumerator <int> AsyncLoadData()
        {
            UIInfoData _uiInfoData = null;

            UnityEngine.Object _prefabObj = null;
            GameObject         _uiObject  = null;

            if (stackOpenUIs != null && stackOpenUIs.Count > 0)
            {
                do
                {
                    _uiInfoData = stackOpenUIs.Pop();
                    _prefabObj  = Resources.Load(_uiInfoData.Path);
                    if (_prefabObj != null)
                    {
                        //_uiObject = NUGITools.AddChild(Game.Instance.mainUICamera.gameObject,_prefabObj);
                        _uiObject = MonoBehaviour.Instantiate(_prefabObj) as GameObject;
                        BaseUI _baseUI = _uiObject.GetComponent <BaseUI>();
                        if (_baseUI == null)
                        {
                            _baseUI = _uiObject.AddComponent(_uiInfoData.ScriptType) as BaseUI;
                        }
                        else
                        {
                            _baseUI.SetUIWhenOpening(_uiInfoData.UIparams);
                        }
                        dicOpenUIs.Add(_uiInfoData.UIType, _uiObject);
                    }
                } while(stackOpenUIs.Count > 0);
            }
            yield return(0);
        }
Ejemplo n.º 2
0
        private IEnumerator <int> AsyncLoadData()
        {
            UIInfoData _uiInfoData = null;

            UnityEngine.Object _prefabObj = null;

            GameObject _uiObject = null;


            if (stackOpenUIs != null && stackOpenUIs.Count > 0)
            {
                do
                {
                    GameObject obj = null;
                    _uiInfoData = stackOpenUIs.Pop();
                    _prefabObj  = Resources.Load(_uiInfoData.Path);



                    if (_prefabObj != null)
                    {
                        if (_prefabObj as GameObject)
                        {
                            obj = (GameObject)_prefabObj;
                        }

                        _uiObject = NGUITools.AddChild(cameraSP.gameObject, _prefabObj as GameObject);



                        BaseUI _baseUI = _uiObject.GetComponent <BaseUI>();
                        if (null == _baseUI)
                        {
                            _baseUI = _uiObject.AddComponent(_uiInfoData.ScriptType) as BaseUI;
                        }
                        if (null != _baseUI)
                        {
                            _baseUI.SetUIWhenOpening(cameraBG, _uiInfoData.UIParams);//把背景相机传过去,让UI内部更好的处理背景,把Y轴的位置信息传递过去,让UI自己处理
                        }
                        else
                        {
                            Debug.Log("_baseUI是空的");
                        }
                        dicOpenUIs.Add(_uiInfoData.UIType, _uiObject);
                    }
                    else
                    {
                        //Debug.Log("_prefabObj是空的");
                    }
                }while (stackOpenUIs.Count > 0);
            }
            yield return(0);
        }
Ejemplo n.º 3
0
        private IEnumerator <int> AsyncLoadData(string loadPath = null)
        {
            UIInfoData _uiInfoData = null;

            UnityEngine.Object _prefabObj = null;
            GameObject         _uiObject  = null;

            if (stackOpenUIs != null && stackOpenUIs.Count > 0)
            {
                do
                {
                    _uiInfoData = stackOpenUIs.Pop();
                    _prefabObj  = Resources.Load(_uiInfoData.Path);
                    if (_prefabObj != null)
                    {
                        //_uiObject = NGUITools.AddChild(Game.Instance.mainUICamera.gameObject, _prefabObj as GameObject);
                        _uiObject = MonoBehaviour.Instantiate(_prefabObj) as GameObject;
                        if (loadPath != null)
                        {
                            Vector3 rotTemp = _uiObject.transform.localScale;
                            Vector3 posTem  = _uiObject.transform.localPosition;
                            _uiObject.transform.parent = GameObject.Find(loadPath).transform;//加载预制件的路径
                            //_uiObject.transform.
                            _uiObject.transform.localScale    = rotTemp;
                            _uiObject.transform.localPosition = posTem;
                        }
                        _uiObject.transform.localPosition = new Vector3();
                        BaseUI _baseUI = _uiObject.GetComponent <BaseUI>();
                        if (null == _baseUI)
                        {
                            _baseUI = _uiObject.AddComponent(_uiInfoData.ScriptType) as BaseUI;
                        }
                        if (null != _baseUI)
                        {
                            _baseUI.SetUIWhenOpening(_uiInfoData.UIParams);
                        }
                        dicOpenUIs.Add(_uiInfoData.UIType, _uiObject);
                    }
                } while (stackOpenUIs.Count > 0);
            }
            yield return(0);
        }