3333800e-410e-433b-bb40-a18733be8b29.js.map 25.3 KB
{"version":3,"sources":["assets/script/common/gameplay/managers/UIManager.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { ResUtils } from \"../../utils/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\";\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    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) {\n        let promise = ToastManager.init();\n        rootNode = uiRoot;\n        rootView = rootNode.addComponent(CCView);\n\n        modalRoot = new cc.Node();\n        modalRoot.zIndex = MODAL_Z;\n        rootNode.addChild(modalRoot);\n        modalRootView = modalRoot.addComponent(CCView);\n\n        alertRoot = new cc.Node();\n        alertRoot.zIndex = ALERT_Z;\n        rootNode.addChild(alertRoot);\n\n        toastRoot = new cc.Node();\n        toastRoot.zIndex = TOAST_Z;\n        rootNode.addChild(toastRoot);\n\n        loadingContainer = new cc.Node();\n        loadingContainer.zIndex = 99;\n        loadingContainer.active = false;\n        rootNode.addChild(loadingContainer);\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        let ret = await ResUtils.loadRes(\"prefab/ui/ViewLoading\", cc.Prefab);\n        loadingView = cc.instantiate(ret);\n        loadingView.active = false;\n        loadingContainer.addChild(loadingView);\n        ResUtils.releaseAsset(ret);\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            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        });\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    export function popToPresenter(presenter: Presenter<any, any>) {\n        while (presenterStack && presenterStack[presenterStack.length - 1] !== presenter) {\n            popPresenter();\n        }\n    }\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                    viewMap[i].view.show();\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    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(alertRoot, nodeOrPrefab, animate);\n    }\n\n}"]}