91d17cbc-e923-43ee-ae72-0c256447f83a.js.map 32 KB
{"version":3,"sources":["assets/script/game/ui/view/impl/ChatListViewImpl.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { CCPureView, CCView } from \"../../../../common/classbase/CCViewBase\";\nimport { ChatListViewProps, ChatListView, ChatListViewType, ChatListItemProps, ChatListAutoNextPlot } from \"../type/ChatListView\";\nimport { RegView } from \"../../PresenterCCViewFactory\";\nimport { DummyScrollView, DummyLayout, DummyPrefab, DummyNode, DummyLabel } from \"../../../../common/CCDummyObjects\";\nimport { NodePoolFactory } from \"../../../../common/utils/NodePoolFactory\";\nimport { shallowEqual, debounce } from \"simba-utils\";\nimport ChatBubbleView from \"./message/ChatBubbleView\";\nimport { SentenceType } from \"../../../../avg/model/PlotModel\";\nimport { richNodesToCocosString } from \"../../../../avg/utils/RichTextUtils\";\n\nconst { ccclass, property } = cc._decorator;\n\nconst OtherBubblePrefab = \"prefab/ui/message/ChatBubble\";\nconst SelfBubblePrefab = \"prefab/ui/message/SelfChatBubble\";\nconst GiftBubblePrefab = \"prefab/ui/message/GiftChatBubble\";\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 addLikeTemplate = DummyNode;\n    @property(cc.Node)\n    private bottomPanel = DummyNode;\n    @property(cc.Node)\n    private backRedDot = DummyNode;\n\n    onCloseBtnClick() {\n        this.closeAction();\n    }\n\n    private closeAction = debounce(() => {\n        this._props.onCloseBtnClick();\n    }, 500, true);\n\n    onNextPlotBtnClick() {\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    }\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.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            } 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            } else {\n                let item = this._props.items[this._props.items.length - 1];\n                if (item && item.type === \"plot\" && 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            }\n            if (this._firstReciveProps && !this._loading && !this._newItems.length) {\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            }\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    }\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.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            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                promise = comp.setContent(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.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                promise = comp.setContent(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;\n                    comp.setExtraContent(likeNode);\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.gift && item.isSelf) {\n                node = NodePoolFactory.getNode(GiftBubblePrefab)!;\n                node.parent = this.contentLayout.node;\n                let comp = node.getComponent(ChatBubbleView);\n                comp.setName(item.name!);\n                comp.setIcon(item.icon!);\n                comp.setItemIcon(item.gift.icon);\n                comp.setText(item.gift.text);\n                node.x = 720 / 2 - 20;\n            } else 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.content, 0, false);\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;\n                    comp.setExtraContent(likeNode);\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            NodePoolFactory.createPool(GiftBubblePrefab, 1, \"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}"]}