3333800e-410e-433b-bb40-a18733be8b29.js.map 28.1 KB
{"version":3,"sources":["assets/script/common/gameplay/managers/UIManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ResUtils } from \"simba-cc-resutils\";\nimport { ToastManager } from \"./ToastManager\";\nimport { Presenter, createPresenter, PresenterParamType } from \"../../classbase/PresenterBase\";\nimport { View } from \"../../classbase/ViewBase\";\nimport { CCView } from \"../../classbase/CCViewBase\";\nimport { AlertManager } from \"./AlertManager\";\nimport { SpecialToastType } from \"../../../game/ui/SpecialToast\";\n\nexport namespace UIManager {\n    const MODAL_Z = 1000;\n    const ALERT_Z = 2000;\n    const TOAST_Z = 3000;\n\n    let rootNode: cc.Node;\n    let rootView: View;\n    let modalPresenter: Presenter<any> | undefined;\n    let toastRoot: cc.Node;\n    let alertRoot: cc.Node;\n    let modalRoot: cc.Node;\n    let modalRootView: View;\n    let loadingContainer: cc.Node;\n    let loadingView: cc.Node;\n\n    /**场景最上层如提示父节点 */\n    let toastParentNode:cc.Node;\n\n    type PresenterExt = Presenter<any> & { hideViews?: string[] };\n    const presenterStack: PresenterExt[] = [];\n    const viewMap: { [key: string]: PresenterExt } = {};\n    const viewCache: { [key: string]: PresenterExt } = {};\n    const loadingViews: string[] = [];\n\n    export async function init(uiRoot: cc.Node,toastParentNode_:cc.Node) {\n        let promise = ToastManager.init();\n        rootNode = uiRoot;\n        rootView = rootNode.addComponent(CCView);\n        toastParentNode = toastParentNode_;\n        if (!modalRoot) {\n            modalRoot = new cc.Node();\n            modalRoot.name = \"modalRoot\";\n            modalRoot.zIndex = MODAL_Z;\n            rootNode.addChild(modalRoot);\n            modalRootView = modalRoot.addComponent(CCView);\n        }\n\n        if (!alertRoot) {\n            alertRoot = new cc.Node();\n            alertRoot.name = \"alertRoot\";\n            alertRoot.zIndex = ALERT_Z;\n            rootNode.addChild(alertRoot);\n        }\n\n        if (!toastRoot) {\n            toastRoot = new cc.Node();\n            toastRoot.name = \"toastRoot\";\n            toastRoot.zIndex = TOAST_Z;\n            rootNode.addChild(toastRoot);\n        }\n\n        if (!loadingContainer) {\n            loadingContainer = new cc.Node();\n            loadingContainer.name = \"loadingContainer\";\n            loadingContainer.zIndex = 99;\n            loadingContainer.active = false;\n            rootNode.addChild(loadingContainer);\n\n\n            let widget = loadingContainer.addComponent(cc.Widget);\n            widget.top = widget.bottom = widget.left = widget.right = 0;\n            widget.isAlignTop = widget.isAlignBottom = widget.isAlignLeft = widget.isAlignRight = true;\n            loadingContainer.addComponent(cc.BlockInputEvents);\n        }\n\n        if (!loadingView) {\n            let ret = await ResUtils.loadRes(\"prefab/ui/ViewLoading\", cc.Prefab);\n            loadingView = cc.instantiate(ret);\n            loadingContainer.addChild(loadingView);\n            loadingView.active = false;\n        }\n        await promise;\n    }\n\n    let viewInstanceId = 0;\n    export function pushPresenter<T extends Presenter<any, any>>(presentCls: { new(): T, uuid: string, allowMultiInstances?: boolean }, param: PresenterParamType<T>, hideOthers = false) {\n        return new Promise<T>(async (resolve, reject) => {\n            try {\n                if (presenterStack.length > 0) presenterStack[presenterStack.length - 1].onEnterBackground();\n                let nodeName = presentCls.allowMultiInstances ? presentCls.uuid + (viewInstanceId++) : presentCls.uuid;\n                if (viewMap[nodeName]) {\n                    if (presenterStack[presenterStack.length - 1].view.name == nodeName) {\n                        console.log(presentCls.uuid + \"视图已经在最顶层\");\n                        presenterStack[presenterStack.length - 1].onOpen(param);\n                        resolve(presenterStack[presenterStack.length - 1] as T);\n                        return;\n                    }\n                    // move view to top\n                    let index = presenterStack.findIndex(v => v.view.name === nodeName);\n                    let presenter = presenterStack[index];\n                    presenterStack.push(presenter);\n                    presenterStack.splice(index, 1);\n                    (presenter.view as CCView).node.setSiblingIndex(presenterStack.length);\n                    presenter.onOpen(param);\n                    if (presenter.hideViews) {\n                        let len = presenterStack.length - 1;\n                        if (hideOthers) {\n                            for (let i = index; i < len; i++) {\n                                if (!presenterStack[i].view.isHidden) {\n                                    presenterStack[i].view.hide();\n                                    presenter.hideViews!.push(presenterStack[i].view.name);\n                                }\n                            }\n                        } else {\n                            let hideNode: PresenterExt | undefined;\n                            for (let i = index; i < len; i++) {\n                                if (presenterStack[i].hideViews) {\n                                    hideNode = presenterStack[i];\n                                    break;\n                                }\n                            }\n                            if (hideNode) {\n                                for (let str of presenter.hideViews!) {\n                                    hideNode.hideViews!.push(str);\n                                }\n                            } else {\n                                for (let str of presenter.hideViews!) {\n                                    viewMap[str].view.show();\n                                }\n                            }\n                            delete presenter.hideViews;\n                        }\n                    } else if (hideOthers) {\n                        let len = presenterStack.length - 1;\n                        presenter.hideViews = [];\n                        for (let i = 0; i < len; i++) {\n                            if (!presenterStack[i].view.isHidden) {\n                                presenterStack[i].view.hide();\n                                presenter.hideViews.push(presenterStack[i].view.name);\n                            }\n                        }\n                    }\n                    resolve(presenter as T);\n                } else {\n                    if (!loadingContainer.active) {\n                        loadingViews.push(presentCls.uuid);\n                        loadingContainer.active = true;\n                        loadingView.active = false;\n                        (<any>loadingView).timer = setTimeout(() => {\n                            (<any>loadingView).timer = undefined;\n                            loadingView.active = true;\n                        }, 1000);\n                    } else {\n                        let index = loadingViews.findIndex(v => v === presentCls.uuid);\n                        if (index >= 0) {\n                            reject(\"View is already loading.\");\n                            return;\n                        }\n                    }\n\n                    let error: Error | undefined;\n                    let presenter: PresenterExt = viewCache[presentCls.uuid];\n                    if (!presenter) {\n                        // create a view\n                        try {\n                            presenter = await createPresenter(presentCls);\n                            presenter.view.name = nodeName;\n                            viewCache[presentCls.uuid] = presenter;\n                        } catch (e) {\n                            error = e;\n                        }\n                    }\n                    if (presenter) {\n                        (presenter as T).open(rootView, param);\n                        (presenter.view as CCView).onClose.once((destroy) => {\n                            onPresenterInStackClose(presenter, destroy);\n                        });\n                        if (hideOthers) {\n                            presenter.hideViews = [];\n                            let len = presenterStack.length;\n                            for (let i = 0; i < len; i++) {\n                                if (!presenterStack[i].view.isHidden) {\n                                    presenterStack[i].view.hide();\n                                    presenter.hideViews.push(presenterStack[i].view.name);\n                                }\n                            }\n                        }\n                        presenterStack.push(presenter);\n                        viewMap[nodeName] = presenter;\n                    }\n                    let index = loadingViews.findIndex(v => v === presentCls.uuid);\n                    loadingViews.splice(index, 1);\n                    if (loadingViews.length == 0) {\n                        if ((<any>loadingView).timer) {\n                            clearTimeout((<any>loadingView).timer);\n                            (<any>loadingView).timer = undefined;\n                        }\n                        loadingContainer.active = false;\n                    }\n                    if (!presenter) reject(error ? error : new Error());\n                    else resolve(presenter as T);\n                }\n            } catch (error) {\n                console.log(\"pushPresenter error, \", error);\n            }\n\n        });\n    }\n\n    export function getTopPresenter(): Presenter {\n        return presenterStack[presenterStack.length - 1];\n    }\n\n    export function popPresenter(destroy: boolean = false) {\n        let presenter = presenterStack.pop();\n        if (presenter) {\n            delete viewMap[presenter.view.name];\n            if (destroy) delete viewCache[presenter.view.name];\n            presenter.view.close(destroy);\n            if (presenter.hideViews) {\n                for (let v of presenter.hideViews) {\n                    viewMap[v].view.show();\n                }\n            }\n            if (presenterStack.length > 0) presenterStack[presenterStack.length - 1].onEnterForeground();\n        }\n    }\n\n    /**弹出到具体某个presenter */\n    export function popToPresenter(presenter: Presenter<any, any>) {\n        while (presenterStack && presenterStack[presenterStack.length - 1] !== presenter) {\n            popPresenter();\n        }\n    }\n\n    /**\n     * 弹出所有presenter\n     * @param destroy 是否销毁\n     */\n    export function popAll(destroy?: boolean) {\n        while (presenterStack.length) {\n            let presenter = presenterStack.pop()!;\n            delete viewMap[presenter.view.name];\n            presenter.view.close(destroy);\n        }\n    }\n\n    function onPresenterInStackClose(presenter: Presenter<any>, destroy?: boolean) {\n        let view = presenter.view.name;\n        if (!viewMap[view]) return;\n        let presenterExt = presenter as PresenterExt;\n        let index = presenterStack.findIndex(v => v === presenter);\n        presenterStack.splice(index, 1);\n        if (index === presenterStack.length) {\n            presenterStack[presenterStack.length - 1].onEnterForeground();\n        }\n        delete viewMap[view];\n        if (destroy) {\n            delete viewCache[view];\n        }\n        if (presenterExt.hideViews && presenterExt.hideViews.length) {\n            let len = presenterStack.length;\n            let node1: PresenterExt | undefined;\n            for (let i = index; i < len; i++) {\n                if (presenterStack[i].hideViews) {\n                    node1 = presenterStack[i];\n                    break;\n                }\n            }\n            if (node1) {\n                presenterExt.hideViews.push(...presenterExt.hideViews);\n            } else {\n                for (let i of presenterExt.hideViews) {\n                    if (viewMap[i] && viewMap[i].view) {\n                        viewMap[i].view.show();\n                    }\n                }\n            }\n        }\n    }\n\n    export function closePresenterInStack(presenter: Presenter<any>, destroy?: boolean) {\n        let view = ((presenter.constructor as any).uuid as string);\n        if (!viewMap[view]) return;\n        if (presenterStack[presenterStack.length - 1] === presenter) {\n            popPresenter();\n        } else {\n            presenter.view.close(destroy);\n        }\n    }\n\n    export function showModalPresenter<T extends Presenter<any, any>>(presentCls: { new(): T, uuid: string, allowMultiInstances?: boolean }, param: PresenterParamType<T>) {\n        return new Promise<T>(async (resolve, reject) => {\n            if (modalPresenter instanceof presentCls) {\n                resolve(modalPresenter);\n            } else {\n                let nodeName = presentCls.uuid;\n                if (!loadingContainer.active) {\n                    loadingViews.push(presentCls.uuid);\n                    loadingContainer.active = true;\n                    loadingView.active = false;\n                    (<any>loadingView).timer = setTimeout(() => {\n                        (<any>loadingView).timer = undefined;\n                        loadingView.active = true;\n                    }, 1000);\n                } else {\n                    let index = loadingViews.findIndex(v => v === presentCls.uuid);\n                    if (index >= 0) {\n                        reject(\"View is already loading.\");\n                        return;\n                    }\n                }\n\n                let error: Error | undefined;\n                let presenter: PresenterExt = viewCache[presentCls.uuid];\n                if (!presenter) {\n                    // create a view\n                    try {\n                        presenter = await createPresenter(presentCls);\n                        presenter.view.name = nodeName;\n                        viewCache[presentCls.uuid] = presenter;\n                    } catch (e) {\n                        error = e;\n                    }\n                }\n                if (presenter) {\n                    (presenter as T).open(modalRootView, param);\n                    modalPresenter = presenter;\n                    (modalPresenter.view as CCView).onClose.once(() => {\n                        modalPresenter = undefined;\n                    })\n                }\n                let index = loadingViews.findIndex(v => v === presentCls.uuid);\n                loadingViews.splice(index, 1);\n                if (loadingViews.length == 0) {\n                    if ((<any>loadingView).timer) {\n                        clearTimeout((<any>loadingView).timer);\n                        (<any>loadingView).timer = undefined;\n                    }\n                    loadingContainer.active = false;\n                }\n                if (!presenter) reject(error ? error : new Error());\n                else resolve(presenter as T);\n            }\n        });\n    }\n\n    export function dismissModalPresenter(destroy?: boolean) {\n        if (modalPresenter) {\n            modalPresenter.view.close(destroy);\n            modalPresenter = undefined;\n        }\n    }\n\n    export function getModalPresenter() {\n        return modalPresenter;\n    }\n\n    export function showToast(content: string | cc.Node) {\n        ToastManager.addToast(toastRoot, content);\n    }\n\n    /**\n     * 在场景最上层弱提示\n     * @param parentNode toast的父节点\n     * @param content 显示内容\n     */\n    export function showSceneToast(content: string | cc.Node, time: number = 2){\n        ToastManager.addToast(toastParentNode,content, time);\n    }\n\n    /**\n     * 展示特殊Toast\n     * @param type 特殊Toast的类型\n     */\n    export function showSpecialToast(type: SpecialToastType) {\n        ToastManager.addSpecialToast(toastRoot, type);\n    }\n\n    export function getPresenter(view: string): Presenter | undefined {\n        return viewMap[view];\n    }\n\n    export function showAlert(nodeOrPrefab: cc.Node | string, animate = true) {\n        return AlertManager.showAlert(rootNode, nodeOrPrefab, animate);\n    }\n\n}"]}