22676a95-dd5b-47a3-95bc-d81b675c15b3.js.map
19.8 KB
{"version":3,"sources":["assets/script/game/ui/view/impl/message/ChatBubbleView.ts"],"names":[],"mappings":"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","file":"","sourceRoot":"/","sourcesContent":["import { SentenceType, SentenceMediaContent, SentenceContent, SentenceTextContent } from \"../../../../../avg/model/PlotModel\";\nimport { richNodesToCocosString, richNodeTextCount } from \"../../../../../avg/utils/RichTextUtils\";\nimport { DeepReadonly } from \"simba-utils\";\nimport { DummyNode, DummyRichText, DummyLabel, DummySprite } from \"../../../../../common/CCDummyObjects\";\nimport { AudioManager } from \"../../../../../common/gameplay/managers/AudioManager\";\nimport { ResUtils } from \"../../../../../common/utils/ResUtils\";\nimport { UIManager } from \"../../../../../common/gameplay/managers/UIManager\";\nimport { ImagePreviewPresenter } from \"../../../presenter/message/ImagePreviewPresenter\";\n\nconst { ccclass, property } = cc._decorator;\n\nconst BASE_DELAY = 1;\nconst PER_CHAR_DELAY = 0.1;\n\n@ccclass\nexport default class ChatBubbleView extends cc.Component {\n //#region editor bindings\n @property({ type: cc.Sprite })\n private iconSprite: cc.Sprite = DummySprite;\n @property({ type: cc.Label })\n private nameLabel: cc.Label = DummyLabel;\n @property({ type: cc.RichText })\n private textContentLabel: cc.RichText = DummyRichText;\n @property({ type: cc.Node })\n private inputtingNode?: cc.Node = undefined;\n @property({ type: cc.Node })\n private contentNode: cc.Node = DummyNode;\n @property({ type: cc.Node })\n private bgNode: cc.Node = DummyNode;\n @property({ type: cc.Sprite })\n private itemIconSprite?: cc.Sprite = undefined;\n @property({ type: cc.Sprite })\n private imageSprite?: cc.Sprite = undefined;\n @property({ type: cc.Node })\n private container?: cc.Node = undefined;\n\n playVoice() {\n if (this._voicePath) {\n this.contentNode.children[1].getComponent(cc.Animation)?.play(\"voice_play\");\n AudioManager.playVoice(this._voicePath).then(() => {\n this.contentNode.children[1].getComponent(cc.Animation)?.play(\"voice_stop\");\n });\n }\n }\n\n previewImage() {\n UIManager.pushPresenter(ImagePreviewPresenter, this._previewImage);\n }\n //#endregion\n\n private _previewImage: string;\n\n private _extraNode?: cc.Node;\n\n private _nodeHeight: number;\n private _bgWidth: number;\n private _bgHeight: number;\n private _textHeight: number;\n private _icon: string;\n private _itemIcon: string;\n private _timer?: number;\n private _voicePath?: string;\n\n private delay(time: number) {\n return new Promise((resolve) => {\n this._timer = setTimeout(() => {\n this._timer = undefined;\n resolve();\n }, time * 1000);\n });\n }\n\n init() {\n this._nodeHeight = this.node.height;\n this._bgWidth = this.bgNode.width;\n this._bgHeight = this.bgNode.height;\n this._textHeight = this.textContentLabel.node.height;\n }\n\n reuse() {\n if (this._timer) { clearTimeout(this._timer); this._timer = undefined; }\n if (this._nodeHeight === undefined) return;\n if (this._extraNode) this._extraNode.destroy();\n this.node.height = this._nodeHeight;\n this.bgNode.width = this._bgWidth;\n this.bgNode.height = this._bgHeight;\n this.textContentLabel.string = \"\";\n this._previewImage = \"\";\n this.bgNode.active = true;\n if (this.imageSprite) this.imageSprite.node.parent.active = false;\n }\n\n private async resizeContent() {\n if (this._previewImage) { // 图片类型\n let sf = this.imageSprite!.spriteFrame;\n let width = this.imageSprite!.node.width = Math.max(sf.getOriginalSize().width, 200);\n this.imageSprite!.node.height = width / sf.getOriginalSize().width * sf.getOriginalSize().height;\n this.node.height = -this.imageSprite!.node.y + this.imageSprite!.node.height + 40;\n } else {\n this.textContentLabel.node.active = true;\n this.textContentLabel.maxWidth = 0;\n while (!this.enabledInHierarchy) {\n if (!this.enabled) return;\n await this.delay(0.5);\n }\n (this.textContentLabel as any)._updateRichText();\n if (400 < this.textContentLabel.node.width) {\n this.textContentLabel.maxWidth = 400;\n let diff = this.textContentLabel.node.height - this._textHeight;\n this.node.height = this._nodeHeight + diff;\n this.bgNode.height = this._bgHeight + diff;\n }\n if (this.bgNode.anchorX == 0) {\n this.bgNode.width = Math.max(this._bgWidth, this.textContentLabel.node.x + this.textContentLabel.node.width + 40);\n } else {\n this.bgNode.width = Math.max(this._bgWidth, -this.textContentLabel.node.x + this.textContentLabel.node.width + 40);\n }\n }\n }\n\n setName(name: string) {\n this.nameLabel.string = name;\n }\n\n setIcon(icon: string) {\n if (icon && this._icon !== icon) {\n this._icon = icon;\n ResUtils.loadRes(icon, cc.SpriteFrame).then((sf) => {\n if (this._icon === icon) this.iconSprite.spriteFrame = sf;\n });\n }\n }\n\n setText(txt: string) {\n this.textContentLabel.string = txt;\n }\n\n setItemIcon(icon: string) {\n if (icon && this._itemIcon !== icon && this.itemIconSprite) {\n this._itemIcon = icon;\n ResUtils.loadRes(icon, cc.SpriteFrame).then((sf) => {\n if (this._itemIcon === icon) this.itemIconSprite!.spriteFrame = sf;\n });\n }\n }\n\n setExtraContent(node: cc.Node) {\n if (this.container) {\n this._extraNode = node;\n node.parent = this.container;\n }\n }\n\n async setContent(content: DeepReadonly<SentenceContent>, select?: number, shouldDelay = false): Promise<void> {\n if (this._nodeHeight === undefined) this.init();\n let textCount = 0;\n let setContent1 = async (content: DeepReadonly<SentenceTextContent | SentenceMediaContent>) => {\n if (content.type === SentenceType.TEXT) {\n textCount = richNodeTextCount(content.value);\n this.textContentLabel.string = richNodesToCocosString(content.value);\n this.contentNode.children[0].active = true;\n this.contentNode.children[1].active = false;\n this.contentNode.children[2].active = false;\n } else if (content.type === SentenceType.AUDIO) {\n this._voicePath = \"voice/\" + content.value;\n this.contentNode.children[0].active = false;\n this.contentNode.children[1].active = true;\n this.contentNode.children[2].active = false;\n } else if (content.type === SentenceType.IMAGE && this.imageSprite) {\n this.contentNode.children[0].active = false;\n this.contentNode.children[1].active = false;\n this.contentNode.children[2].active = true;\n if (content.value) {\n this._previewImage = \"textures/stickers/\" + content.value;\n let thumb = \"textures/stickers/thumb/\" + content.value;\n let info = cc.resources.getInfoWithPath(thumb);\n console.log(\"getInfoWithPath\", info);\n if (!info) {\n thumb = this._previewImage;\n }\n try {\n await ResUtils.loadRes(thumb, cc.SpriteFrame).then((sf) => {\n // if (this.imageSprite!.node.activeInHierarchy) {\n this.imageSprite!.spriteFrame = sf;\n // }\n });\n } catch (e) {\n\n }\n }\n } else {\n console.error(\"content type not supported yet.\")\n }\n }\n let inputtingForever = false;\n let promise: Promise<any> | undefined = undefined;\n if (content.type === SentenceType.SELECT) {\n if (select === undefined) {\n inputtingForever = true;\n } else {\n let option = content.value[select];\n if (option.content) {\n promise = setContent1(option.content as DeepReadonly<SentenceTextContent | SentenceMediaContent>);\n } else {\n this.contentNode.children[0].active = true;\n this.contentNode.children[1].active = false;\n this.textContentLabel.string = option.summary;\n }\n }\n } else {\n promise = setContent1(content as DeepReadonly<SentenceTextContent | SentenceMediaContent>);\n }\n if (this.inputtingNode) {\n if (shouldDelay || inputtingForever) {\n this.inputtingNode.active = true;\n this.contentNode.active = false;\n this.inputtingNode.children[0].runAction(cc.repeatForever(cc.rotateBy(1, 360)));\n if (inputtingForever) return;\n if (promise) await promise;\n await this.delay(BASE_DELAY + PER_CHAR_DELAY * textCount);\n // return new Promise<void>((resolve) => {\n // this.scheduleOnce(() => {\n this.inputtingNode.children[0].stopAllActions();\n this.inputtingNode.active = false;\n this.contentNode.active = true;\n if (this._previewImage) this.bgNode.active = false;\n this.resizeContent();\n // resolve();\n // }, BASE_DELAY + PER_CHAR_DELAY * textCount);\n // })\n } else {\n if (promise) await promise;\n this.inputtingNode.children[0].stopAllActions();\n this.inputtingNode.active = false;\n this.contentNode.active = true;\n if (this._previewImage) this.bgNode.active = false;\n this.resizeContent();\n }\n }\n }\n\n clearInputting() {\n if (this._timer) {\n clearTimeout(this._timer);\n this._timer = undefined;\n if (this.inputtingNode) {\n this.inputtingNode.children[0].stopAllActions();\n this.inputtingNode.active = false;\n }\n this.contentNode.active = true;\n this.resizeContent();\n }\n }\n}"]}