Example #1
0
 public void UpdateConfigure(KSKitConfigure conf)
 {
     configure = new KSNavigatorBarConfigure
     {
         key = conf.key,
     };
 }
Example #2
0
    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);
    }
Example #3
0
    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);
    }