91d17cbc-e923-43ee-ae72-0c256447f83a.js.map 38.8 KB
{"version":3,"sources":["assets/script/game/ui/view/impl/ChatListViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { debounce, shallowEqual } from \"simba-utils\";\nimport { richNodesToCocosString, SentenceType } from \"../../../../avg/AVG\";\nimport { DummyLayout, DummyNode, DummyPrefab, DummyScrollView } from \"../../../../common/CCDummyObjects\";\nimport { CCPureView, CCView } from \"../../../../common/classbase/CCViewBase\";\nimport { NodePoolFactory } from \"../../../../common/utils/NodePoolFactory\";\nimport { GameConfig } from \"../../../../GameConfig\";\nimport { DirectionType } from \"../../../Enums\";\nimport { GuideViewParamModel } from \"../../presenter/GuideViewPresenter\";\nimport { RegView } from \"../../PresenterCCViewFactory\";\nimport { ChatListAutoNextPlot, ChatListItemProps, ChatListView, ChatListViewProps, ChatListViewType } from \"../type/ChatListView\";\nimport ChatBubbleView from \"./message/ChatBubbleView\";\n\nconst { ccclass, property } = cc._decorator;\n\nconst OtherBubblePrefab = \"prefab/ui/message/ChatBubble\";\nconst SelfBubblePrefab = \"prefab/ui/message/SelfChatBubble\";\n\n@ccclass\n@RegView(ChatListViewType, \"prefab/ui/message/ChatListView\")\nexport class ChatListViewImpl extends CCPureView<ChatListViewProps> implements ChatListView {\n    //#region editor bindings\n    // @property(cc.Label)\n    // private titleLabel: cc.Label = DummyLabel;\n    @property(cc.ScrollView)\n    private scrollView: cc.ScrollView = DummyScrollView;\n    @property(cc.Layout)\n    private contentLayout: cc.Layout = DummyLayout;\n    @property(cc.Prefab)\n    private historyPrefab: cc.Prefab = DummyPrefab;\n    @property(cc.Prefab)\n    private endPrefab: cc.Prefab = DummyPrefab;\n    // @property(cc.Node)\n    // private noPlotPanel: cc.Node = DummyNode;\n    @property(cc.Node)\n    private nextPlotBtn: cc.Node = DummyNode;\n    @property(cc.Node)\n    private addLikeTemplate = DummyNode;\n    @property(cc.Node)\n    private bottomPanel = DummyNode;\n    @property(cc.Node)\n    private backRedDot = DummyNode;\n    @property(cc.Node)\n    private backBtnNode = DummyNode;\n\n    private _timeoutTickerId: number = NaN;\n\n\n    onCloseBtnClick() {\n        GameConfig.isVerb = false;\n        this.closeAction();\n    }\n\n    private closeAction = debounce(() => {\n        this._props.onCloseBtnClick();\n    }, 500, true);\n\n    private _canProcessNextPlot = true;\n\n    onNextPlotBtnClick() {\n        if (!this._canProcessNextPlot) {\n            // console.warn(\"click so frequently!\");\n            return;\n        }\n        this.doNextPlot();\n        let sTime: number = 0.6;//seconds\n        this.setNextBtnUnClickAble();\n        this._timeoutTickerId = setTimeout(() => {\n            this._canProcessNextPlot = true;\n        }, sTime * 1000) as unknown as number;\n    }\n\n    clearTimeoutTicker() {\n        if (this._timeoutTickerId !== NaN) {\n            clearTimeout(this._timeoutTickerId);\n            this._timeoutTickerId = NaN;\n        }\n    }\n\n    resumeNextBtnClickAble() {\n        this.clearTimeoutTicker();\n        this._canProcessNextPlot = true;\n    }\n\n    setNextBtnUnClickAble() {\n        this.clearTimeoutTicker();\n        this._canProcessNextPlot = false;\n    }\n\n    doNextPlot() {\n        if (!ChatListAutoNextPlot) {\n            let lastItem = this._props.items[this._props.items.length - 1];\n            if (lastItem && lastItem.type === \"plot\" && (!this._props.isSentenceSelectVisible())) {\n                this._props.onCompletePlot(this._lastSelect);\n                this._lastSelect = undefined;\n            } else { // 没有体力的情况下,可能为空列表\n                this._props.onCompletePlot();\n            }\n        }\n    }\n\n    private _triggerLoading = true;\n    onScrollEvent() {\n        if (this.scrollView.getScrollOffset().y < -20 && this._triggerLoading) {\n            this._triggerLoading = false;\n            this._loading = true;\n        }\n        if (this.scrollView.getScrollOffset().y > 0) {\n            this._triggerLoading = true;\n        }\n    }\n\n    private _initing = true;\n    private _itemNodes: (cc.Node | undefined)[] = [];\n\n    private _loadingItems: ChatListItemProps[] = [];\n    private _loading = false;\n    private _firstLoad = false;\n    private _newItems: ChatListItemProps[] = [];\n\n\n    private _lastSelect?: number;\n    private _firstReciveProps = true;\n\n    onLoad() {\n        this.createNodePools();\n        // this.bindProp(\"title\", this.titleLabel, \"string\");\n        this.bindProp(\"backRedDot\", this.backRedDot, \"active\");\n    }\n\n    open(parent: CCView) {\n        super.open(parent);\n        this._firstReciveProps = true;\n        let widget = this.node.getComponent(cc.Widget);\n        widget.enabled = true;\n        widget.updateAlignment();\n        widget.enabled = false;\n        this.node.x = 720;\n        this.node.runAction(cc.moveTo(0.2, 0, 0));\n        this.bottomPanel.children[0].active = !ChatListAutoNextPlot;\n        this.addLikeTemplate.active = false;\n        this.resumeNextBtnClickAble();\n    }\n\n    closeAnimation() {\n        return new Promise<void>((resolve) => {\n            this.node.runAction(cc.sequence(cc.moveTo(0.2, 720, 0), cc.callFunc(resolve)));\n        });\n    }\n\n    onPropsReceive() {\n        (this._props as any).items = [...this._props.items];\n        if (this._prevProps) {\n            if (this._props.msgSceneId !== this._prevProps.msgSceneId || !this._prevProps.items.length) { // reload list\n                this._props.onSetContent(undefined);\n\n                // this.noPlotPanel.active = false;\n                // this.nextPlotBtn.active = true;\n                this.clearChatList();\n                this._newItems = [];\n                this._loadingItems = this._props.items.slice();\n                this._loading = true;\n                this._firstLoad = true;\n                this._itemNodes.length = this._loadingItems.length;\n                (this._props as any).items = [...this._props.items];\n            }\n            else if (!shallowEqual(this._props.items, this._prevProps.items)) { // update or add new items\n                this._props.onSetContent(undefined);\n                this._newItems = [];\n                let lastItem: number = -1;\n                let findIndex = this._props.items.length - 1;\n                // 更新历史消息(新消息只在最后,前面的只有变更和删除)\n                for (let i = this._prevProps.items.length - 1; i >= 0; i--) {\n                    let foundIndex = -1\n                    for (let j = findIndex; j >= 0; j--) {\n                        if (this._props.items[j].key === this._prevProps.items[i].key) {\n                            foundIndex = j\n                        }\n                    }\n                    if (foundIndex >= 0) {\n                        if (lastItem < 0) lastItem = foundIndex;\n                        if (this._prevProps.items[i] !== this._props.items[foundIndex]) {\n                            this.updateItem(i, this._prevProps.items[i], this._props.items[foundIndex]);\n                        }\n                        findIndex = foundIndex - 1;\n                    } else { // remove child\n                        let child = this._itemNodes[i];\n                        if (child) {\n                            this.removeChild(child);\n                        }\n                        this._itemNodes.splice(i, 1);\n                    }\n                }\n                // 新消息放到数组中异步加载\n                for (let i = lastItem + 1; i < this._props.items.length; i++) {\n                    this._newItems.push(this._props.items[i]);\n                }\n                // if (this._newItems.length && this._newItems[this._newItems.length - 1].type === \"plot\") {// || this._newItems[this._newItems.length - 1].type === \"history\"\n                //     // this.noPlotPanel.active = false;\n                //     this.nextPlotBtn.active = true;\n                // }\n            } else {\n                let item = this._props.items[this._props.items.length - 1];\n                if (item && item.type === \"plot\" && item.content.type === SentenceType.SELECT) {\n                    if (item.select === undefined) {\n                        // this.nextPlotBtn.active = false;\n                        this._props.onSetContent(item.content);\n                    } else {\n                        // this.nextPlotBtn.active = true;\n                    }\n                }\n            }\n            if (this._firstReciveProps && !this._newItems.length && this._props.items.length) {//&& !this._loading \n                // this.noPlotPanel.active = false;\n                // this.nextPlotBtn.active = true;\n                let item = this._props.items[this._props.items.length - 1];\n                if (item.type === \"plot\") {\n                    if (ChatListAutoNextPlot && !(this._props.isSentenceSelectVisible())) {\n                        if (item.content.type === SentenceType.SELECT) {\n                            console.error(\"Invalid select sentence.\");\n                            this._props.onCompletePlot(0);\n                        } else {\n                            this._props.onCompletePlot();\n                        }\n                    }\n                }\n                else {\n                    // this.noPlotPanel.active = true;\n                    // this.nextPlotBtn.active = false;\n                }\n            }\n            this._firstReciveProps = false;\n        } else {\n            if (this._props.items.length) {\n                this._firstReciveProps = false;\n                this._loadingItems = this._props.items.slice();\n            }\n        }\n        let isShowNextPlot: boolean = false;\n        if (this._props.items && this._props.items.length !== 0) {\n            let judgeItem = this._props.items[this._props.items.length - 1];\n            isShowNextPlot = judgeItem && judgeItem.type === \"plot\" && !(judgeItem.content.type === SentenceType.SELECT && judgeItem.select === undefined);\n        }\n        this.nextPlotBtn.active = isShowNextPlot;\n    }\n\n    private removeChild(child: cc.Node) {\n        if ((child as any)._path) {\n            NodePoolFactory.putNode(child);\n        } else {\n            child.destroy();\n        }\n    }\n\n    private updateItem = (index: number, prevProp: ChatListItemProps, prop: ChatListItemProps) => {\n        let child = this._itemNodes[index];\n        if (!child) {\n            if (index < this._loadingItems.length) {\n                this._loadingItems.splice(index, 1, prop);\n            } else {\n                // console.log(\"some error happens.\")\n            }\n            return;\n        }\n        if (prevProp.type !== prop.type) {\n            this.removeChild(child);\n            let node = this.addItem(prop);\n            node.setSiblingIndex(index);\n            this._itemNodes[index] = node;\n        } else {\n            if (prop.type === \"plot\") {\n                child.getComponent(ChatBubbleView).setContent(prop.id, prop.content, prop.select);\n            }\n        }\n        if (index === this._itemNodes.length - 1) {\n            this.contentLayout.updateLayout();\n            this.scrollToBottom();\n        }\n    }\n\n    update() {\n        if (this._initing || !this.node.parent) return;\n        if (this._loading && this._loadingItems.length) {\n            for (let i = 0; i < 10; i++) {\n                let item = this._loadingItems.pop();\n                if (!item) { break; }\n                this._itemNodes[this._loadingItems.length] = this.addItem(item, false, true);\n            }\n            this._loading = false;\n            let height = this.contentLayout.node.height;\n            this.contentLayout.updateLayout();\n            if (this._firstLoad) {\n                this._firstLoad = false;\n                this.scrollToBottom(false);\n\n                let lastItem = this._props.items[this._props.items.length - 1];\n                if (lastItem.type === \"plot\") {\n                    if (ChatListAutoNextPlot && !(this._props.isSentenceSelectVisible())) {\n                        this._props.onCompletePlot();\n                    }\n                }\n            } else {\n                this.scrollView.stopAutoScroll();\n                let pos = this.scrollView.getContentPosition();\n                pos.y += this.contentLayout.node.height - height;\n                this.scrollView.setContentPosition(pos);\n            }\n        }\n        if (this._newItems.length) {\n            for (let i = 0; i < this._newItems.length - 1; i++) { // 正常情况只有一个新剧情\n                this._itemNodes.push(this.addItem(this._newItems[i], false));\n            }\n            this._itemNodes.push(this.addItem(this._newItems[this._newItems.length - 1], true, false, this._itemNodes.length >= this._props.historyMsgCount));\n            this.scheduleOnce(() => {\n                this.scrollToBottom();\n            });\n            let lastItem = this._props.items[this._props.items.length - 1];\n            if (lastItem.type !== \"plot\") {\n                // this.noPlotPanel.active = true;\n                // this.nextPlotBtn.active = false;\n            } else {\n                // this.noPlotPanel.active = false;\n                // this.nextPlotBtn.active = true;\n            }\n            this._newItems = [];\n        }\n    }\n\n\n\n    private addItem = (item: ChatListItemProps, newItem = true, unshift = false, delay?: boolean) => {\n        let node: cc.Node;\n        let promise: Promise<void> | undefined;\n        if (!ChatListAutoNextPlot) delay = false;\n        if (delay === undefined) delay = newItem;\n        if (item.type === \"history\") {\n            node = cc.instantiate(this.historyPrefab);\n            node.parent = this.contentLayout.node;\n        } else if (item.type === \"end\") {\n            node = cc.instantiate(this.endPrefab);\n            node.parent = this.contentLayout.node;\n        } else if (item.type === \"plot\") { // 正常剧情\n            if (item.isSelf) { // 自己\n                node = NodePoolFactory.getNode(SelfBubblePrefab)!;\n                node.parent = this.contentLayout.node;\n                let comp = node.getComponent(ChatBubbleView);\n                comp.setName(item.name!);\n                comp.setIcon(item.icon!);\n                comp.setNameIcon(item.nameSpr!);\n                promise = comp.setContent(item.id, item.content, item.select, delay);\n                node.x = 720 / 2 - 20;\n                if (item.content.type === SentenceType.SELECT && item.select === undefined) {\n                    // this._sentenceSelector.node.active = true;\n                    // this._sentenceSelector.setContent(item.content);\n                    this._props.onSetContent(item.content);\n                }\n                else if (!item.addLike) {\n                    let preLike = node.getChildByName(\"Container\").getChildByName(\"LikeTip\");\n                    if (preLike) {\n                        preLike.active = false;\n                    }\n                }\n            } else if (item.name) { // 别人\n                node = NodePoolFactory.getNode(OtherBubblePrefab)!;\n                node.parent = this.contentLayout.node;\n                let comp = node.getComponent(ChatBubbleView);\n                comp.setName(item.name);\n                comp.setIcon(item.icon!);\n                comp.setNameIcon(item.nameSpr!);\n                promise = comp.setContent(item.id, item.content, 0, delay);\n                node.x = -720 / 2 + 20;\n                if (item.addLike) {\n                    let likeNode = cc.instantiate(this.addLikeTemplate);\n                    // likeNode.active = true;\n                    likeNode.children[1].getComponent(cc.Label).string = \"+\" + item.addLike.toString();\n                    comp.setExtraContent(likeNode);\n                }\n                else {\n                    let preLike = node.getChildByName(\"Container\").getChildByName(\"LikeTip\");\n                    if (preLike) {\n                        preLike.active = false;\n                    }\n                }\n            } else { // 旁白\n                node = new cc.Node();\n                node.parent = this.contentLayout.node;\n                node.x = 0;\n                let label = node.addComponent(cc.RichText);\n                label.horizontalAlign = cc.macro.TextAlignment.CENTER;\n                label.fontSize = 18;\n                label.lineHeight = 20;\n                label.maxWidth = 650;\n                if (item.content.type === SentenceType.TEXT) {\n                    label.string = richNodesToCocosString(item.content.value);\n                }\n            }\n        } else if (item.type === \"customplot\") { // 送礼相关剧情\n            if (item.content && !item.isSelf) {\n                node = NodePoolFactory.getNode(OtherBubblePrefab)!;\n                node.parent = this.contentLayout.node;\n                let comp = node.getComponent(ChatBubbleView);\n                comp.setName(item.name!);\n                comp.setIcon(item.icon!);\n                promise = comp.setContent(item.id, item.content, 0, false);\n                node.x = -720 / 2 + 20;\n\n                if (item.addLike) {\n                    let likeNode = cc.instantiate(this.addLikeTemplate);\n                    // likeNode.active = true;\n                    let lbl = likeNode.children[1].getComponent(cc.Label);\n                    lbl.string = \"+\" + item.addLike.toString();\n                    comp.setExtraContent(likeNode);\n                }\n                else {\n                    let preLike = node.getChildByName(\"Container\").getChildByName(\"LikeTip\");\n                    if (preLike) {\n                        preLike.active = false;\n                    }\n                }\n            } else {\n                throw new Error(\"This should never happen.\");\n            }\n        } else {\n            throw new Error(\"This should never happen.\");\n        }\n\n        if ((newItem || this._firstLoad) && promise) {\n            promise.then(() => {\n                this.scrollToBottom();\n                if (ChatListAutoNextPlot && this.enabledInHierarchy && !(this._props.isSentenceSelectVisible())) {\n                    if (item.type === \"plot\") {\n                        if (item.content.type === SentenceType.SELECT) {\n                            console.error(\"Invalid select sentence.\");\n                            this._props.onCompletePlot(0);\n                        } else {\n                            this._props.onCompletePlot();\n                        }\n                    }\n                }\n            });\n        }\n\n        if (unshift) {\n            node.setSiblingIndex(0);\n        }\n        return node;\n    }\n\n    createNodePools() {\n        Promise.all([\n            NodePoolFactory.createPool(OtherBubblePrefab, 10, \"ChatBubbleView\"),\n            NodePoolFactory.createPool(SelfBubblePrefab, 5, \"ChatBubbleView\"),\n        ]).then(() => {\n            this._initing = false;\n        });\n    }\n\n    scrollToBottom(animate = true) {\n        if (this.contentLayout.node.height > this.scrollView.node.height && !this.scrollView.isScrolling()) {\n            this.scrollView.stopAutoScroll();\n            this.scrollView.scrollToBottom(animate ? 0.5 : undefined);\n        }\n    }\n\n    scrollToTop() {\n        this.scrollView.scrollToTop();\n    }\n\n    private clearChatList = () => {\n        let children = this.contentLayout!.node.children;\n        for (let child of children) {\n            if ((child as any)._path) {\n                NodePoolFactory.putNode(child);\n            }\n        }\n        this._itemNodes = [];\n        this.contentLayout.node.removeAllChildren();\n        this.contentLayout.node.height = 0;\n        this.contentLayout.node.y = 0;\n    }\n\n    close(destroy?: boolean) {\n        if (!destroy) {\n            let node = this._itemNodes[this._itemNodes.length - 1];\n            if (node) {\n                node.getComponent(ChatBubbleView)?.clearInputting();\n            }\n        }\n        super.close(destroy);\n    }\n\n    onNameTitleClick() {\n        // console.log(\"onNameTitleClick\");\n        this._props.onNameTitleClick();\n    }\n\n\n    getGuideBackParam = (): GuideViewParamModel | undefined => {\n        let node = this.backBtnNode;\n        let wp = node.convertToWorldSpaceAR(cc.v2(0, 0));\n        let m: GuideViewParamModel = {\n            x: wp.x,\n            y: wp.y,\n            w: node.width - 20,\n            h: node.height - 20,\n            d: DirectionType.RIGHT,\n        }\n        return m;\n    }\n\n    resumeAll = () => {\n        this.scheduleOnce(() => {\n            this._initing = false;\n\n            this._loadingItems = [];\n            this._loading = false;\n            this._firstLoad = false;\n            this._newItems = [];\n\n\n            this._lastSelect = undefined;\n            this._firstReciveProps = true;\n            this.clearChatList();\n        });\n\n    }\n}"]}