public void UpdateConfigure(KSKitConfigure conf) { configure = new KSNavigatorBarConfigure { key = conf.key, }; }
public T PushCtrl <T>(KSKitConfigure configure) where T : KSWindow { if (canvas_stack.Count >= KSLayer.maxui) { return(null); } //1、更新标识Key if (configure.is_custom_key == false) { configure.UpdateKey(typeof(T).Name); } //2、获取Canvas KSCanvas ui_canvas = canvas_manager.InstantiateUICanvas <T>(camera_manager.ui_camera, configure, canvas_stack.Count); //3、页面组件 T prefab_component = KSWindow.CreateWindow <T>(); //4、导航组件 KSNavigatorBar navigator_bar_component = null; switch (configure.bar_type) { case KSNavigatorBarType.nomarl: navigator_bar_component = navigator_bar_manager.InstantiateNavigatorBar(); navigator_bar_component.UpdateConfigure(configure); prefab_component.navigator_bar = navigator_bar_component; break; case KSNavigatorBarType.popup: break; } //5、设置父物体 prefab_component.transform.SetParent(ui_canvas.transform, false); if (navigator_bar_component != null) { navigator_bar_component.transform.SetParent(ui_canvas.transform, false); } //6、入栈 canvas_stack.Push(ui_canvas); //7、更新CameraCullingMask camera_manager.UpdateCameraCullingMask(canvas_stack); return(prefab_component); }
public KSCanvas InstantiateUICanvas <T>(Camera worldCamera, KSKitConfigure configure, int index) where T : KSWindow { GameObject ui_canvas_gob = UnityEngine.Object.Instantiate(ui_canvas_go); ui_canvas_gob.name = typeof(T).Name + index; Canvas canvas = ui_canvas_gob.GetComponent <Canvas>(); canvas.worldCamera = worldCamera; canvas.sortingOrder = index; canvas.sortingLayerName = configure.sorting_layer; canvas.transform.SetSiblingIndex(index); KSCanvas canvas_component = ui_canvas_gob.GetComponent <KSCanvas>(); canvas_component.configure = configure; return(canvas_component); }