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; }
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); }
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); }
//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); }
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); } }
public virtual void Init(string windowName, XUIParamBundle paramBundle) { m_windowName = windowName; m_paramBundle = paramBundle; }
public virtual void Init(string windowName, XUIParamBundle paramBundle, XMonoVariables variables) { m_windowName = windowName; m_paramBundle = paramBundle; }