Esempio n. 1
0
        public void ShowWindow(string name, object param = null)
        {
            XDebug.Log(XUIConst.Tag, $"ShowWindow {name}");
            XUIWindow window = null;

            if (m_dictWindows.ContainsKey(name))
            {
                window = m_dictWindows[name];
            }
            else
            {
                var paramBundle = new XUIParamBundle();
                paramBundle.AssetLoader        = AssetLoader;
                paramBundle.LocalizationLoader = LocalizationLoader;
                paramBundle.EventManager       = EventManager;
                paramBundle.MsgManager         = MsgManager;
                paramBundle.uiRoot             = uiRoot;
                paramBundle.TextureManager     = TextureManager;

                window = XObjectPool.Alloc <XUIWindow>();
                window.Init(this, paramBundle, name, param);
                m_listWindows.Add(window);
                m_dictWindows.Add(name, window);
            }
            window.DstState = XUIWindow.EnumState.Show;
            window.openTick = Time.realtimeSinceStartup;
        }
Esempio n. 2
0
        public override void Init(string windowName, XUIParamBundle paramBundle)
        {
            base.Init(windowName, paramBundle);

            param = param.Trim();//去除意外的空格
            if (string.IsNullOrEmpty(param))
            {
                m_view = new XUIViewEmpty();
                return;
            }
            var variables = GetComponent <XMonoVariables>();

            if (variables == null)
            {
                Debug.LogError($"xuiview 没有找到XMonoVariables组件 !!!");
                return;
            }
            if (lua)
            {
                m_view = new XUIViewLua();
            }
            else
            {
                //这里暂时用反射
                m_view = typeof(IXUIView).Assembly.CreateInstance(param) as IXUIView;
            }

            if (m_view == null)
            {
                Debug.LogError($"lua:{lua} param:{param} is not exist!");
                return;
            }
            m_view.Init(variables);
        }
Esempio n. 3
0
        public virtual void Init(string windowName, XUIParamBundle paramBundle)
        {
            param = param.Trim();
            if (string.IsNullOrEmpty(param))
            {
                Controller = new XUIControllerEmpty();
                return;
            }
            var variables = GetComponent <XMonoVariables>();

            if (variables == null)
            {
                Debug.LogError($"xuicontroller 没有找到XMonoVariables组件 !!!");
                return;
            }
            if (lua)
            {
                Controller = new XUIControllerLua();
            }
            else
            {
                //这里暂时用反射
                Controller = typeof(IXUIController).Assembly.CreateInstance(param) as IXUIController;
            }

            if (Controller == null)
            {
                Debug.LogError($"lua:{lua} param:{param} is not exist!");
                return;
            }
            Controller.Init(windowName, paramBundle, variables);
        }
Esempio n. 4
0
        //widgetlist
        //protected List<XUIWidget> m_widgets = new List<XUIWidget>();

        public void Init(XUIManager uiManager, XUIParamBundle paramBundle, string name, object param)
        {
            this.uiManager   = uiManager;
            this.paramBundle = paramBundle;
            this.name        = name;
            //临时
            resName   = $"Assets/XGameKitSamples/XUI/Resources/{name}.prefab";
            initParam = param;
            CurState  = EnumState.None;
            DstState  = EnumState.None;

            //加载window行为
            var prefab = Resources.Load <GameObject>("XUIWindowBehavior");
            var root   = XBTUtilities.ParseMono(prefab.GetComponent <XBTNodeMono>());

            m_behavior.Start(root, this);
        }
Esempio n. 5
0
        public override void Init(string windowName, XUIParamBundle paramBundle)
        {
            base.Init(windowName, paramBundle);

            m_children.Clear();
            _FindControllerMonos(transform, ref m_children);
            foreach (var child in m_children)
            {
                child.Init(windowName, paramBundle);
                child.Controller.SetParent(Controller);
            }
            //初始化节点下所有的viewmono
            m_viewMonos.Clear();
            _FindViewMonos(transform, ref m_viewMonos);
            foreach (var viewMono in m_viewMonos)
            {
                viewMono.Init(windowName, paramBundle);
            }
        }
Esempio n. 6
0
 public virtual void Init(string windowName, XUIParamBundle paramBundle)
 {
     m_windowName  = windowName;
     m_paramBundle = paramBundle;
 }
Esempio n. 7
0
 public virtual void Init(string windowName, XUIParamBundle paramBundle, XMonoVariables variables)
 {
     m_windowName  = windowName;
     m_paramBundle = paramBundle;
 }