From 4e00f2a3823e946521940a246f6bdaef346b552d Mon Sep 17 00:00:00 2001 From: xlj <543978819@qq.com> Date: Tue, 16 Sep 2025 19:03:00 +0800 Subject: [PATCH] update chat exp --- assets/Scripts/chat18x/core/ChatController.ts | 19 +- assets/Scripts/chat18x/data/DialogData.ts | 25 +- .../Scripts/chat18x/manager/DialogManager.ts | 55 +- .../ui/components/ChatContentsLayout.ts | 403 ++--- assets/Scripts/chat18x/ui/panels/ChatPanel.ts | 14 +- assets/bundles/Chat18x/ChatPanel.prefab | 1462 ++++++++++------- 6 files changed, 1104 insertions(+), 874 deletions(-) diff --git a/assets/Scripts/chat18x/core/ChatController.ts b/assets/Scripts/chat18x/core/ChatController.ts index aefc5f81..984a029b 100644 --- a/assets/Scripts/chat18x/core/ChatController.ts +++ b/assets/Scripts/chat18x/core/ChatController.ts @@ -33,7 +33,7 @@ export interface IChatPanelCallback { /** * 对话更新回调 */ - onDialogUpdated(): void; + onDialogUpdated(isPlayer: boolean): void; /** * 聊天次数用尽回调 @@ -135,7 +135,7 @@ export class ChatController { this.loadDialogsFromHistory(roleId); // 同步到DialogManager - this.syncDialogData(); + //this.syncDialogData(); console.log(`ChatController initialized with role ${roleId}`); } else { @@ -162,7 +162,7 @@ export class ChatController { this.loadDialogsFromHistory(roleId); // 同步对话数据到DialogManager - this.syncDialogData(); + //this.syncDialogData(); console.log(`ChatController switched to role ${roleId}`); return true; @@ -196,16 +196,15 @@ export class ChatController { // 更新对话显示 - 用户消息 this.dialogManager?.updateDialog(true, message, true); - this.callback?.onDialogUpdated(); + this.callback?.onDialogUpdated(true); // 通知界面消息发送开始 this.callback?.onMessageSent(message); // 显示加载中的对话 - this.dialogManager?.addLoadingDialog(); + //this.dialogManager?.addLoadingDialog(); console.log(`Sending message to role ${roleId}: ${message}`); - // 发送消息给AI服务 const response = await ChatAIService.Instance.sendMessage( roleId, @@ -214,14 +213,14 @@ export class ChatController { if (response) { // 移除加载中的对话 - this.dialogManager?.removeLoadingDialog(); + //this.dialogManager?.removeLoadingDialog(); // 添加AI回复到模型 (保持完整消息) this.chatModel.addDialog(false, response); // 更新对话显示 - AI回复 (使用分段显示) this.dialogManager?.updateDialogWithSegments(false, response); - this.callback?.onDialogUpdated(); + this.callback?.onDialogUpdated(false); // 通知界面收到回复 this.callback?.onMessageReceived(response); @@ -235,7 +234,7 @@ export class ChatController { return true; } else { // 移除加载中的对话 - this.dialogManager?.removeLoadingDialog(); + //this.dialogManager?.removeLoadingDialog(); const error = new Error("AI返回了空响应"); this.handleError(error); @@ -243,7 +242,7 @@ export class ChatController { } } catch (error) { // 移除加载中的对话 - this.dialogManager?.removeLoadingDialog(); + //this.dialogManager?.removeLoadingDialog(); ErrorHandler.Instance.handleApiError( error, diff --git a/assets/Scripts/chat18x/data/DialogData.ts b/assets/Scripts/chat18x/data/DialogData.ts index d1a4f7e3..dd6f5f48 100644 --- a/assets/Scripts/chat18x/data/DialogData.ts +++ b/assets/Scripts/chat18x/data/DialogData.ts @@ -1,14 +1,15 @@ export interface Dialog { isPlayer: boolean; content: string; - isLoading?: boolean; } export class DiaLogData { - public Dialogs: Dialog[] = []; + public playerDialog: Dialog = null; + public aiDialogs: Dialog[] = []; public cleanDialog() { - this.Dialogs = []; + this.playerDialog = null; + this.aiDialogs = []; } public pushDialog( @@ -16,15 +17,17 @@ export class DiaLogData { str: string, isLoading: boolean = false ) { - if (!this.Dialogs) this.Dialogs = []; - this.Dialogs.push({ - isPlayer: isPlayer, - content: str, - isLoading: isLoading, - }); + if (isPlayer) { + this.playerDialog = { isPlayer: true, content: str }; + } else { + this.aiDialogs.push({ isPlayer: false, content: str }); + } } - public GetDialogs() { - return this.Dialogs; + public GetPlayerDialog() { + return this.playerDialog; + } + public GetAIDialog() { + return this.aiDialogs; } } diff --git a/assets/Scripts/chat18x/manager/DialogManager.ts b/assets/Scripts/chat18x/manager/DialogManager.ts index 65844968..2267f0bf 100644 --- a/assets/Scripts/chat18x/manager/DialogManager.ts +++ b/assets/Scripts/chat18x/manager/DialogManager.ts @@ -123,11 +123,6 @@ export class DialogManager { segments: string[], isPlayer: boolean ): void { - // let currentDelay = 500; // 基础延迟 500ms - // 每个后续段落增加随机延迟 (800-1500ms) - - // currentDelay += 800 + Math.random() * 700; - segments.forEach((segment, index) => { this.dialogData.pushDialog(isPlayer, segment); }); @@ -143,28 +138,15 @@ export class DialogManager { Utils.sendInnerMsg(InnerMsgCode.Chat_DialogRefresh); } - /** - * 移除加载中的对话 - * 在收到AI回复或出错时调用 - */ - public removeLoadingDialog(): void { - const dialogs = this.dialogData.GetDialogs(); - const loadingIndex = dialogs.findIndex((dialog) => dialog.isLoading); - if (loadingIndex !== -1) { - dialogs.splice(loadingIndex, 1); - console.log("Loading dialog removed"); - Utils.sendInnerMsg(InnerMsgCode.Chat_DialogRefresh); - } - } + - /** - * 获取所有对话记录 - * - * @returns {Dialog[]} 对话记录数组 - */ - public getDialogs() { - return this.dialogData.GetDialogs(); + public GetPlayerDialog() { + return this.dialogData.GetPlayerDialog(); } + public GetAIDialog() { + return this.dialogData.GetAIDialog(); + } + /** * 清空当前对话记录 @@ -172,7 +154,6 @@ export class DialogManager { public clearDialogs(): void { this.dialogData.cleanDialog(); console.log("All dialogs cleared"); - Utils.sendInnerMsg(InnerMsgCode.Chat_DialogRefresh); } /** @@ -185,7 +166,6 @@ export class DialogManager { this.dialogData.pushDialog( dialog.isPlayer, dialog.content, - dialog.isLoading || false ); }); console.log(`DialogManager: Set ${dialogs.length} dialogs`); @@ -201,25 +181,4 @@ export class DialogManager { console.log("DialogManager: Synced dialogs from ChatModel"); } - /** - * 获取对话记录数量 - */ - public getDialogCount(): number { - return this.dialogData.GetDialogs().length; - } - - /** - * 获取最后一条对话记录 - */ - public getLastDialog(): Dialog | null { - const dialogs = this.dialogData.GetDialogs(); - return dialogs.length > 0 ? dialogs[dialogs.length - 1] : null; - } - - /** - * 检查是否有对话记录 - */ - public hasDialogs(): boolean { - return this.dialogData.GetDialogs().length > 0; - } } diff --git a/assets/Scripts/chat18x/ui/components/ChatContentsLayout.ts b/assets/Scripts/chat18x/ui/components/ChatContentsLayout.ts index 6d52761c..490e4a6c 100644 --- a/assets/Scripts/chat18x/ui/components/ChatContentsLayout.ts +++ b/assets/Scripts/chat18x/ui/components/ChatContentsLayout.ts @@ -3,6 +3,7 @@ import { Component, instantiate, Node, + ScrollView, UITransform, Vec3, view, @@ -16,122 +17,198 @@ const { ccclass, property } = _decorator; export class ChatContentsLayout extends Component { manager: DialogManager = null; - @property(Node) - initPos: Node = null; - @property(DialogBubble) lBubble: DialogBubble = null; @property(DialogBubble) rBubble: DialogBubble = null; - bubbles: DialogBubble[] = []; - cachedBubbles: DialogBubble[] = []; + // 当前显示的气泡 + private bubbles: DialogBubble[] = []; + // 缓存池 + private cachedBubbles: DialogBubble[] = []; + // 等待回复气泡的引用 + private waitingBubble: DialogBubble = null; + // 延时任务ID数组 + private delayedTasks: number[] = []; + // ScrollView组件引用 + @property(ScrollView) + private scrollView: ScrollView = null; fixMaxWidth: number; - // 用于跟踪延时任务,支持中断清理 - private delayedTasks: number[] = []; - protected start(): void { this.lBubble.node.active = false; this.rBubble.node.active = false; - this.fixMaxWidth = view.getVisibleSize().width * 0.8; + this.fixMaxWidth = 730; + + // 获取父节点的ScrollView组件 } protected onEnable(): void { if (!this.manager) this.manager = DialogManager.getInstance(); - this.manager.layoutout = this; } - UpdateDialog(dialogs: Dialog[]) { - // 清理所有正在进行的延时任务 + /** + * 更新玩家输入的对话 + * @param dialog 玩家输入的对话数据 + */ + updatePlayerDialog(dialog: Dialog): void { + // 清理所有现有气泡到缓存池 + this.clearAllBubbles(); + + // 清理所有延时任务 this.clearDelayedTasks(); - // 隐藏当前使用的气泡并放入缓存 - for (let i = 0; i < this.bubbles.length; i++) { - if (this.bubbles[i].node) { - this.bubbles[i].node.active = false; - this.cachedBubbles.push(this.bubbles[i]); + // 创建玩家气泡(插入到首位,Layout会让它显示在最下面) + const playerBubble = this.createOrGetBubble(true); + playerBubble.node.active = true; + playerBubble.updateBubbleContent(dialog.content, true); + this.bubbles.push(playerBubble); + + // 创建等待回复气泡(插入到首位,显示在玩家消息上面) + this.waitingBubble = this.createOrGetBubble(false); + this.waitingBubble.node.active = true; + this.waitingBubble.updateBubbleContent("...", false, undefined, true); + this.waitingBubble.node.setSiblingIndex(0); + this.bubbles.push(this.waitingBubble); + this.node.position = Vec3.ZERO; + // 滚动到底部(等待下一帧Layout更新完成) + this.scheduleOnce(() => { + this.scrollView.scrollToBottom(); + }, 0); + } + /** + * 更新AI回复的对话 + * @param dialogs AI回复的对话数据数组 + */ + updateAIDialogs(dialogs: Dialog[]): void { + // 清除等待回复气泡 + if (this.waitingBubble) { + this.removeWaitingBubble(); + } + + // 清理之前的延时任务 + this.clearDelayedTasks(); + + // 逐个添加AI对话,带延时 + this.addAIDialogsWithDelay(dialogs, 0); + } + + /** + * 清理所有气泡到缓存池 + */ + private clearAllBubbles(): void { + for (const bubble of this.bubbles) { + if (bubble && bubble.node) { + bubble.node.active = false; + this.cachedBubbles.push(bubble); } } this.bubbles = []; + this.waitingBubble = null; - this.updateDialogLayoutWithDelay(dialogs); - - // 清理多余的缓存气泡,避免内存泄漏 + // 清理多余的缓存气泡 this.cleanupExcessCachedBubbles(); } - private updateDialogLayout(dialogs: Dialog[]) { - let initPosY: number = this.initPos.position.y; - let pendingUpdates = 0; - - const updateNextBubble = (index: number) => { - if (index < 0) { - return; - } - - const dialog = dialogs[index]; - let newBubble: DialogBubble = null; - - // 尝试从缓存中获取合适的气泡 - const isPlayerBubble = dialog.isPlayer; - for (let j = 0; j < this.cachedBubbles.length; j++) { - const cached = this.cachedBubbles[j]; - if (cached && cached.node) { - // 检查气泡类型是否匹配(通过位置判断左右气泡) - const isRightBubble = cached.node.position.x > 0; - if ( - (isPlayerBubble && isRightBubble) || - (!isPlayerBubble && !isRightBubble) - ) { - newBubble = cached; - this.cachedBubbles.splice(j, 1); - break; - } + /** + * 从缓存池获取或创建新的气泡 + * @param isPlayer 是否为玩家气泡 + * @returns DialogBubble实例 + */ + private createOrGetBubble(isPlayer: boolean): DialogBubble { + // 尝试从缓存中获取合适的气泡 + for (let i = 0; i < this.cachedBubbles.length; i++) { + const cached = this.cachedBubbles[i]; + if (cached && cached.node) { + // 通过原始模板判断气泡类型 + const isRightBubble = cached.node.position.x > 0; + if ((isPlayer && isRightBubble) || (!isPlayer && !isRightBubble)) { + this.cachedBubbles.splice(i, 1); + return cached; } } + } - // 如果缓存中没有合适的气泡,创建新的 - if (!newBubble) { - let newBubbleNode = isPlayerBubble - ? instantiate(this.rBubble.node) - : instantiate(this.lBubble.node); - newBubble = newBubbleNode.getComponent(DialogBubble); - newBubble.init(650); - newBubbleNode.setParent(this.node); - } + // 缓存中没有合适的气泡,创建新的 + const templateBubble = isPlayer ? this.rBubble : this.lBubble; + const newBubbleNode = instantiate(templateBubble.node); + const newBubble = newBubbleNode.getComponent(DialogBubble); + newBubble.init(this.fixMaxWidth); - newBubble.node.active = true; - let pos = newBubble.node.position; - newBubble.node.position = new Vec3(pos.x, initPosY, pos.z); + // 设置为子节点,具体位置由调用者决定 + newBubbleNode.setParent(this.node); - pendingUpdates++; - newBubble.updateBubbleContent( - dialog.content, - dialog.isPlayer, - (actualHeight: number) => { - initPosY += actualHeight + 40; - pendingUpdates--; - - // 当当前气泡更新完成后,处理下一个 - if (pendingUpdates === 0) { - updateNextBubble(index - 1); - } - }, - dialog.isLoading || false - ); - - this.bubbles.push(newBubble); - }; - - // 从最后一个对话开始处理(倒序) - updateNextBubble(dialogs.length - 1); + return newBubble; } - private cleanupExcessCachedBubbles() { - const maxCachedBubbles = 20; // 最大缓存数量 + /** + * 移除等待回复气泡 + */ + private removeWaitingBubble(): void { + if (this.waitingBubble && this.waitingBubble.node) { + this.waitingBubble.node.active = false; + this.cachedBubbles.push(this.waitingBubble); + + // 从当前气泡列表中移除 + const index = this.bubbles.indexOf(this.waitingBubble); + if (index > -1) { + this.bubbles.splice(index, 1); + } + } + this.waitingBubble = null; + } + + /** + * 带延时地添加AI对话 + * @param dialogs AI对话数组 + * @param index 当前处理的对话索引 + */ + private addAIDialogsWithDelay(dialogs: Dialog[], index: number): void { + if (index >= dialogs.length) { + return; + } + + const dialog = dialogs[index]; + const delay = index > 0 ? Math.random() * 1000 + 500 : 0; // 第一条立即显示,后续延时500-1500ms + + const addCurrentDialog = () => { + const aiBubble = this.createOrGetBubble(false); + aiBubble.node.active = true; + aiBubble.updateBubbleContent(dialog.content, false); + // AI消息插入到首位,显示在最上面 + aiBubble.node.setSiblingIndex(0); + this.scheduleOnce(() => { + this.scrollView.scrollToBottom(); + }, 0); + this.bubbles.push(aiBubble); + + // 递归处理下一条对话 + this.addAIDialogsWithDelay(dialogs, index + 1); + }; + + if (delay > 0) { + const taskId = setTimeout(() => { + // 从任务列表中移除 + const taskIndex = this.delayedTasks.indexOf(taskId); + if (taskIndex > -1) { + this.delayedTasks.splice(taskIndex, 1); + } + addCurrentDialog(); + }, delay); + + this.delayedTasks.push(taskId); + } else { + addCurrentDialog(); + } + } + + /** + * 清理多余的缓存气泡 + */ + private cleanupExcessCachedBubbles(): void { + const maxCachedBubbles = 20; if (this.cachedBubbles.length > maxCachedBubbles) { const excessCount = this.cachedBubbles.length - maxCachedBubbles; for (let i = 0; i < excessCount; i++) { @@ -143,153 +220,35 @@ export class ChatContentsLayout extends Component { } } - private clearDelayedTasks() { - // 清理所有正在进行的延时任务 + /** + * 清理所有延时任务 + */ + private clearDelayedTasks(): void { for (const taskId of this.delayedTasks) { clearTimeout(taskId); } this.delayedTasks = []; } - private groupConsecutiveNonPlayerDialogs(dialogs: Dialog[]): Dialog[][] { - const groups: Dialog[][] = []; - let currentGroup: Dialog[] = []; + /** + * 保持向后兼容性的方法 + * @param dialogs 对话数组 + * @deprecated 请使用 updatePlayerDialog 和 updateAIDialogs 替代 + */ + UpdateDialog(dialogs: Dialog[]): void { + // 为了保持兼容性,我们假设这是一个完整的对话更新 + // 清理所有现有气泡 + this.clearAllBubbles(); + this.clearDelayedTasks(); - for (const dialog of dialogs) { - if (dialog.isPlayer) { - // 遇到player消息,结束当前非player组 - if (currentGroup.length > 0) { - groups.push([...currentGroup]); - currentGroup = []; - } - // player消息单独成组 - groups.push([dialog]); - } else { - // 非player消息加入当前组 - currentGroup.push(dialog); - } + // 逐个添加对话,从最后一个开始倒序插入(保持显示顺序) + for (let i = dialogs.length - 1; i >= 0; i--) { + const dialog = dialogs[i]; + const bubble = this.createOrGetBubble(dialog.isPlayer); + bubble.node.active = true; + bubble.updateBubbleContent(dialog.content, dialog.isPlayer, undefined); + bubble.node.setSiblingIndex(0); + this.bubbles.push(bubble); } - - // 处理最后一组非player消息 - if (currentGroup.length > 0) { - groups.push(currentGroup); - } - - return groups; - } - - private updateDialogLayoutWithDelay(dialogs: Dialog[]) { - const groups = this.groupConsecutiveNonPlayerDialogs(dialogs); - let initPosY: number = this.initPos.position.y; - - // 倒序处理组,保持原有的显示顺序 - this.processGroupsWithDelay(groups, groups.length - 1, initPosY); - } - - private processGroupsWithDelay( - groups: Dialog[][], - groupIndex: number, - currentPosY: number - ) { - if (groupIndex < 0) return; - - const currentGroup = groups[groupIndex]; - - // 直接渲染组,延时逻辑已移到单条消息级别 - this.renderDialogGroup(currentGroup, currentPosY, (newPosY) => { - // 递归处理下一组,传递更新后的位置 - this.processGroupsWithDelay(groups, groupIndex - 1, newPosY); - }); - } - - private renderDialogGroup( - dialogs: Dialog[], - startPosY: number, - onComplete: (finalPosY: number) => void - ) { - let currentPosY = startPosY; - - const updateNextBubble = (index: number) => { - if (index < 0) { - onComplete(currentPosY); - return; - } - - const dialog = dialogs[index]; - - // 计算当前消息的延时:非player消息且不是组内最后一条时添加延时 - const isNonPlayerMessage = !dialog.isPlayer; - const isLastInGroup = index === dialogs.length - 1; - const delay = - isNonPlayerMessage && !isLastInGroup ? Math.random() * 1000 + 500 : 0; // 500-1500ms随机延时 - - const renderCurrentBubble = () => { - let newBubble: DialogBubble = null; - - // 尝试从缓存中获取合适的气泡 - const isPlayerBubble = dialog.isPlayer; - for (let j = 0; j < this.cachedBubbles.length; j++) { - const cached = this.cachedBubbles[j]; - if (cached && cached.node) { - const isRightBubble = cached.node.position.x > 0; - if ( - (isPlayerBubble && isRightBubble) || - (!isPlayerBubble && !isRightBubble) - ) { - newBubble = cached; - this.cachedBubbles.splice(j, 1); - break; - } - } - } - - // 如果缓存中没有合适的气泡,创建新的 - if (!newBubble) { - let newBubbleNode = isPlayerBubble - ? instantiate(this.rBubble.node) - : instantiate(this.lBubble.node); - newBubble = newBubbleNode.getComponent(DialogBubble); - newBubble.init(650); - newBubbleNode.setParent(this.node); - } - - newBubble.node.active = true; - let pos = newBubble.node.position; - newBubble.node.position = new Vec3(pos.x, currentPosY, pos.z); - - newBubble.updateBubbleContent( - dialog.content, - dialog.isPlayer, - (actualHeight: number) => { - currentPosY += actualHeight + 40; - // 渲染完当前气泡后,处理下一个 - updateNextBubble(index - 1); - }, - dialog.isLoading || false - ); - - this.bubbles.push(newBubble); - }; - - if (delay > 0) { - // 添加延时任务ID到跟踪数组 - const taskId = setTimeout(() => { - // 从跟踪数组中移除已完成的任务 - const taskIndex = this.delayedTasks.indexOf(taskId); - if (taskIndex > -1) { - this.delayedTasks.splice(taskIndex, 1); - } - renderCurrentBubble(); - }, delay); - - this.delayedTasks.push(taskId); - } else { - // 立即渲染 - renderCurrentBubble(); - } - }; - - // 从组内最后一个对话开始处理(倒序) - updateNextBubble(dialogs.length - 1); } } diff --git a/assets/Scripts/chat18x/ui/panels/ChatPanel.ts b/assets/Scripts/chat18x/ui/panels/ChatPanel.ts index 8c4b9a4f..c11e168b 100644 --- a/assets/Scripts/chat18x/ui/panels/ChatPanel.ts +++ b/assets/Scripts/chat18x/ui/panels/ChatPanel.ts @@ -377,9 +377,15 @@ export class ChatPanel extends li_BaseView implements IChatPanelCallback { } } - onDialogUpdate() { + onDialogUpdate(isPlayer: boolean) { if (this.layout) { - this.layout.UpdateDialog(DialogManager.getInstance().getDialogs()); + if (isPlayer) { + this.layout.updatePlayerDialog( + DialogManager.getInstance().GetPlayerDialog() + ); + } else { + this.layout.updateAIDialogs(DialogManager.getInstance().GetAIDialog()); + } } } protected onEnable(): void { @@ -425,9 +431,9 @@ export class ChatPanel extends li_BaseView implements IChatPanelCallback { /** * 对话更新回调 */ - public onDialogUpdated(): void { + public onDialogUpdated(isPlayer: boolean): void { // 更新对话显示 - this.onDialogUpdate(); + this.onDialogUpdate(isPlayer); } /** diff --git a/assets/bundles/Chat18x/ChatPanel.prefab b/assets/bundles/Chat18x/ChatPanel.prefab index f021b49e..50ad52d1 100644 --- a/assets/bundles/Chat18x/ChatPanel.prefab +++ b/assets/bundles/Chat18x/ChatPanel.prefab @@ -22,32 +22,32 @@ "__id__": 2 }, { - "__id__": 237 + "__id__": 251 }, { - "__id__": 74 + "__id__": 72 }, { - "__id__": 114 + "__id__": 112 }, { - "__id__": 315 + "__id__": 329 } ], "_active": true, "_components": [ { - "__id__": 345 + "__id__": 359 }, { - "__id__": 347 + "__id__": 361 }, { - "__id__": 349 + "__id__": 363 } ], "_prefab": { - "__id__": 351 + "__id__": 365 }, "_lpos": { "__type__": "cc.Vec3", @@ -100,29 +100,26 @@ "__id__": 56 }, { - "__id__": 62 + "__id__": 168 }, { - "__id__": 154 - }, - { - "__id__": 166 + "__id__": 180 } ], "_active": true, "_components": [ { - "__id__": 230 + "__id__": 244 }, { - "__id__": 232 + "__id__": 246 }, { - "__id__": 234 + "__id__": 248 } ], "_prefab": { - "__id__": 236 + "__id__": 250 }, "_lpos": { "__type__": "cc.Vec3", @@ -1369,29 +1366,92 @@ }, { "__type__": "cc.Node", - "_name": "initPos", + "_name": "ScrollView", "_objFlags": 0, "__editorExtras__": {}, "_parent": { "__id__": 2 }, - "_children": [], - "_active": true, - "_components": [ + "_children": [ { "__id__": 57 }, { - "__id__": 59 + "__id__": 63 + } + ], + "_active": true, + "_components": [ + { + "__id__": 161 + }, + { + "__id__": 163 + }, + { + "__id__": 151 + }, + { + "__id__": 165 } ], "_prefab": { - "__id__": 61 + "__id__": 167 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 143.01999999999998, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "initPos", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 56 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 58 + }, + { + "__id__": 60 + } + ], + "_prefab": { + "__id__": 62 }, "_lpos": { "__type__": "cc.Vec3", "x": 487.9770000000001, - "y": -519.41, + "y": -700.24, "z": 0 }, "_lrot": { @@ -1423,11 +1483,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 56 + "__id__": 57 }, "_enabled": true, "__prefab": { - "__id__": 58 + "__id__": 59 }, "_contentSize": { "__type__": "cc.Size", @@ -1451,18 +1511,18 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 56 + "__id__": 57 }, "_enabled": true, "__prefab": { - "__id__": 60 + "__id__": 61 }, "_alignFlags": 36, "_target": null, "_left": 0, "_right": 52.02299999999991, "_top": 0, - "_bottom": 650.59, + "_bottom": 73.75999999999999, "_horizontalCenter": 0, "_verticalCenter": 0, "_isAbsLeft": true, @@ -1496,18 +1556,72 @@ }, { "__type__": "cc.Node", - "_name": "BubbleBox", + "_name": "view", "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 2 + "__id__": 56 + }, + "_children": [ + { + "__id__": 64 + } + ], + "_active": true, + "_components": [ + { + "__id__": 154 + }, + { + "__id__": 156 + }, + { + "__id__": 158 + } + ], + "_prefab": { + "__id__": 160 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -774, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 33554432, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 63 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 63 - }, { "__id__": 65 }, @@ -1516,9 +1630,6 @@ }, { "__id__": 69 - }, - { - "__id__": 71 } ], "_prefab": { @@ -1527,7 +1638,7 @@ "_lpos": { "__type__": "cc.Vec3", "x": 0, - "y": 138.75, + "y": 0, "z": 0 }, "_lrot": { @@ -1559,131 +1670,65 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 62 - }, - "_enabled": true, - "__prefab": { "__id__": 64 }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 1548.5 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "67Spp6ZIJJ1K2/LqKT1cgT" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 62 - }, "_enabled": true, "__prefab": { "__id__": 66 }, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 257, - "_bottom": 534.5, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 100, - "_alignMode": 2, - "_lockFlags": 5, + "_contentSize": { + "__type__": "cc.Size", + "width": 1080, + "height": 45 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0 + }, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "c0g4T+74hDM55GL9w2mFrk" + "fileId": "a9UfpRSdZIuKx3pg9N0AXC" }, { - "__type__": "cc.Mask", + "__type__": "cc.Layout", "_name": "", "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 62 + "__id__": 64 }, "_enabled": true, "__prefab": { "__id__": 68 }, - "_type": 0, - "_inverted": false, - "_segments": 64, - "_alphaThreshold": 0.1, + "_resizeMode": 1, + "_layoutType": 2, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 30, + "_paddingBottom": 30, + "_spacingX": 0, + "_spacingY": 15, + "_verticalDirection": 0, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "3csoWqseVD4Y/nXGfZnbcE" - }, - { - "__type__": "cc.Graphics", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 62 - }, - "_enabled": true, - "__prefab": { - "__id__": 70 - }, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_lineWidth": 1, - "_strokeColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_lineJoin": 2, - "_lineCap": 0, - "_fillColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 0 - }, - "_miterLimit": 10, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8csrjLXqpG35J80yvHM5I/" + "fileId": "a791dQSzRIDJnG+m0Ug4JL" }, { "__type__": "8abe1ncXvJP8rwnbJLnufMR", @@ -1691,26 +1736,26 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 62 + "__id__": 64 }, "_enabled": true, "__prefab": { - "__id__": 72 - }, - "initPos": { - "__id__": 56 + "__id__": 70 }, "lBubble": { - "__id__": 73 + "__id__": 71 }, "rBubble": { - "__id__": 113 + "__id__": 111 + }, + "scrollView": { + "__id__": 151 }, "_id": "" }, { "__type__": "cc.CompPrefabInfo", - "fileId": "0eCoEonSlIba9mQkZ3vqh7" + "fileId": "fe9JlrVEVKzJPpyJ+3mSsv" }, { "__type__": "f58198wb7hDW4g+FIOov5qS", @@ -1718,23 +1763,23 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 112 + "__id__": 110 }, "avatar": { - "__id__": 80 + "__id__": 78 }, "bg": { - "__id__": 92 + "__id__": 90 }, "content": { - "__id__": 102 + "__id__": 100 }, "contentT": { - "__id__": 100 + "__id__": 98 }, "_id": "" }, @@ -1748,26 +1793,26 @@ }, "_children": [ { - "__id__": 75 + "__id__": 73 }, { - "__id__": 99 + "__id__": 97 } ], "_active": true, "_components": [ + { + "__id__": 105 + }, { "__id__": 107 }, { - "__id__": 109 - }, - { - "__id__": 73 + "__id__": 71 } ], "_prefab": { - "__id__": 111 + "__id__": 109 }, "_lpos": { "__type__": "cc.Vec3", @@ -1804,27 +1849,27 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 74 + "__id__": 72 }, "_children": [ { - "__id__": 76 + "__id__": 74 } ], "_active": true, "_components": [ + { + "__id__": 90 + }, { "__id__": 92 }, { "__id__": 94 - }, - { - "__id__": 96 } ], "_prefab": { - "__id__": 98 + "__id__": 96 }, "_lpos": { "__type__": "cc.Vec3", @@ -1861,15 +1906,18 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 75 + "__id__": 73 }, "_children": [ { - "__id__": 77 + "__id__": 75 } ], "_active": true, "_components": [ + { + "__id__": 81 + }, { "__id__": 83 }, @@ -1878,13 +1926,10 @@ }, { "__id__": 87 - }, - { - "__id__": 89 } ], "_prefab": { - "__id__": 91 + "__id__": 89 }, "_lpos": { "__type__": "cc.Vec3", @@ -1921,20 +1966,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 76 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 78 + "__id__": 76 }, { - "__id__": 80 + "__id__": 78 } ], "_prefab": { - "__id__": 82 + "__id__": 80 }, "_lpos": { "__type__": "cc.Vec3", @@ -1971,11 +2016,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 77 + "__id__": 75 }, "_enabled": true, "__prefab": { - "__id__": 79 + "__id__": 77 }, "_contentSize": { "__type__": "cc.Size", @@ -1999,11 +2044,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 77 + "__id__": 75 }, "_enabled": true, "__prefab": { - "__id__": 81 + "__id__": 79 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2057,11 +2102,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 76 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 84 + "__id__": 82 }, "_contentSize": { "__type__": "cc.Size", @@ -2085,11 +2130,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 76 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 86 + "__id__": 84 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2130,11 +2175,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 76 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 88 + "__id__": 86 }, "_alignFlags": 9, "_target": null, @@ -2166,11 +2211,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 76 + "__id__": 74 }, "_enabled": true, "__prefab": { - "__id__": 90 + "__id__": 88 }, "_type": 3, "_inverted": false, @@ -2201,11 +2246,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 75 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 93 + "__id__": 91 }, "_contentSize": { "__type__": "cc.Size", @@ -2229,11 +2274,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 75 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 95 + "__id__": 93 }, "_alignFlags": 12, "_target": null, @@ -2265,11 +2310,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 75 + "__id__": 73 }, "_enabled": true, "__prefab": { - "__id__": 97 + "__id__": 95 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2323,23 +2368,23 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 74 + "__id__": 72 }, "_children": [], "_active": true, "_components": [ + { + "__id__": 98 + }, { "__id__": 100 }, { "__id__": 102 - }, - { - "__id__": 104 } ], "_prefab": { - "__id__": 106 + "__id__": 104 }, "_lpos": { "__type__": "cc.Vec3", @@ -2376,11 +2421,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 99 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 101 + "__id__": 99 }, "_contentSize": { "__type__": "cc.Size", @@ -2404,11 +2449,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 99 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 103 + "__id__": 101 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2472,11 +2517,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 99 + "__id__": 97 }, "_enabled": true, "__prefab": { - "__id__": 105 + "__id__": 103 }, "_alignFlags": 12, "_target": null, @@ -2521,16 +2566,16 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 108 + "__id__": 106 }, "_contentSize": { "__type__": "cc.Size", - "width": 920, - "height": 245.8 + "width": 512.2, + "height": 82.5 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -2549,16 +2594,16 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 74 + "__id__": 72 }, "_enabled": true, "__prefab": { - "__id__": 110 + "__id__": 108 }, "_alignFlags": 40, "_target": null, "_left": 160, - "_right": 0, + "_right": 407.79999999999995, "_top": 0, "_bottom": 0, "_horizontalCenter": 0, @@ -2602,23 +2647,23 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 114 + "__id__": 112 }, "_enabled": true, "__prefab": { - "__id__": 152 + "__id__": 150 }, "avatar": { - "__id__": 120 + "__id__": 118 }, "bg": { - "__id__": 132 + "__id__": 130 }, "content": { - "__id__": 142 + "__id__": 140 }, "contentT": { - "__id__": 140 + "__id__": 138 }, "_id": "" }, @@ -2632,26 +2677,26 @@ }, "_children": [ { - "__id__": 115 + "__id__": 113 }, { - "__id__": 139 + "__id__": 137 } ], "_active": true, "_components": [ + { + "__id__": 145 + }, { "__id__": 147 }, { - "__id__": 149 - }, - { - "__id__": 113 + "__id__": 111 } ], "_prefab": { - "__id__": 151 + "__id__": 149 }, "_lpos": { "__type__": "cc.Vec3", @@ -2688,27 +2733,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 114 + "__id__": 112 }, "_children": [ { - "__id__": 116 + "__id__": 114 } ], "_active": true, "_components": [ + { + "__id__": 130 + }, { "__id__": 132 }, { "__id__": 134 - }, - { - "__id__": 136 } ], "_prefab": { - "__id__": 138 + "__id__": 136 }, "_lpos": { "__type__": "cc.Vec3", @@ -2745,15 +2790,18 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 115 + "__id__": 113 }, "_children": [ { - "__id__": 117 + "__id__": 115 } ], "_active": true, "_components": [ + { + "__id__": 121 + }, { "__id__": 123 }, @@ -2762,13 +2810,10 @@ }, { "__id__": 127 - }, - { - "__id__": 129 } ], "_prefab": { - "__id__": 131 + "__id__": 129 }, "_lpos": { "__type__": "cc.Vec3", @@ -2805,20 +2850,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 116 + "__id__": 114 }, "_children": [], "_active": true, "_components": [ { - "__id__": 118 + "__id__": 116 }, { - "__id__": 120 + "__id__": 118 } ], "_prefab": { - "__id__": 122 + "__id__": 120 }, "_lpos": { "__type__": "cc.Vec3", @@ -2855,11 +2900,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 117 + "__id__": 115 }, "_enabled": true, "__prefab": { - "__id__": 119 + "__id__": 117 }, "_contentSize": { "__type__": "cc.Size", @@ -2883,11 +2928,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 117 + "__id__": 115 }, "_enabled": true, "__prefab": { - "__id__": 121 + "__id__": 119 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -2941,11 +2986,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 116 + "__id__": 114 }, "_enabled": true, "__prefab": { - "__id__": 124 + "__id__": 122 }, "_contentSize": { "__type__": "cc.Size", @@ -2969,11 +3014,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 116 + "__id__": 114 }, "_enabled": true, "__prefab": { - "__id__": 126 + "__id__": 124 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3014,11 +3059,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 116 + "__id__": 114 }, "_enabled": true, "__prefab": { - "__id__": 128 + "__id__": 126 }, "_type": 3, "_inverted": false, @@ -3036,11 +3081,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 116 + "__id__": 114 }, "_enabled": true, "__prefab": { - "__id__": 130 + "__id__": 128 }, "_alignFlags": 33, "_target": null, @@ -3085,11 +3130,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 115 + "__id__": 113 }, "_enabled": true, "__prefab": { - "__id__": 133 + "__id__": 131 }, "_contentSize": { "__type__": "cc.Size", @@ -3113,11 +3158,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 115 + "__id__": 113 }, "_enabled": true, "__prefab": { - "__id__": 135 + "__id__": 133 }, "_alignFlags": 36, "_target": null, @@ -3149,11 +3194,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 115 + "__id__": 113 }, "_enabled": true, "__prefab": { - "__id__": 137 + "__id__": 135 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3207,23 +3252,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 114 + "__id__": 112 }, "_children": [], "_active": true, "_components": [ + { + "__id__": 138 + }, { "__id__": 140 }, { "__id__": 142 - }, - { - "__id__": 144 } ], "_prefab": { - "__id__": 146 + "__id__": 144 }, "_lpos": { "__type__": "cc.Vec3", @@ -3260,11 +3305,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 139 + "__id__": 137 }, "_enabled": true, "__prefab": { - "__id__": 141 + "__id__": 139 }, "_contentSize": { "__type__": "cc.Size", @@ -3288,11 +3333,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 139 + "__id__": 137 }, "_enabled": true, "__prefab": { - "__id__": 143 + "__id__": 141 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3356,11 +3401,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 139 + "__id__": 137 }, "_enabled": true, "__prefab": { - "__id__": 145 + "__id__": 143 }, "_alignFlags": 36, "_target": null, @@ -3405,11 +3450,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 114 + "__id__": 112 }, "_enabled": true, "__prefab": { - "__id__": 148 + "__id__": 146 }, "_contentSize": { "__type__": "cc.Size", @@ -3433,11 +3478,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 114 + "__id__": 112 }, "_enabled": true, "__prefab": { - "__id__": 150 + "__id__": 148 }, "_alignFlags": 32, "_target": null, @@ -3480,6 +3525,37 @@ "__type__": "cc.CompPrefabInfo", "fileId": "e2nip1AtpJqbPa2zazMPfC" }, + { + "__type__": "cc.ScrollView", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 152 + }, + "bounceDuration": 0.23, + "brake": 0.75, + "elastic": true, + "inertia": true, + "horizontal": false, + "vertical": true, + "cancelInnerEvents": true, + "scrollEvents": [], + "_content": { + "__id__": 64 + }, + "_horizontalScrollBar": null, + "_verticalScrollBar": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "75j3BczQdPJZs5ea27MqKN" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -3488,7 +3564,235 @@ "asset": { "__id__": 0 }, - "fileId": "e4BA+6i6BPcYvthk3UGAxg", + "fileId": "d2NNXMXQBLRr1Roq18GA0Z", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 63 + }, + "_enabled": true, + "__prefab": { + "__id__": 155 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1080, + "height": 1548 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "dbZWn4NYRG+baOIwBx0L04" + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 63 + }, + "_enabled": true, + "__prefab": { + "__id__": 157 + }, + "_type": 0, + "_inverted": false, + "_segments": 64, + "_alphaThreshold": 0.1, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "88Du+nlhRKh7ECAS2Q/oyX" + }, + { + "__type__": "cc.Graphics", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 63 + }, + "_enabled": true, + "__prefab": { + "__id__": 159 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_lineWidth": 1, + "_strokeColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_lineJoin": 2, + "_lineCap": 0, + "_fillColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 0 + }, + "_miterLimit": 10, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "12eQPZvTxKkoVmiDiiU8iS" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "517HIqhSNNEouRuNvK7m3l", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 162 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1080, + "height": 1548 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3aAcSaF6pLoIhFq6d9tJHd" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 164 + }, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": null, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "50mea7ii5Jc68+Otm6aL2E" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 166 + }, + "_alignFlags": 1, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 252.98000000000002, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5bWmHxRq1At6mHFt3S+I7V" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "41O8NIf/BNzbi1iBa0OJzt", "instance": null, "targetOverrides": null, "nestedPrefabInstanceRoots": null @@ -3503,20 +3807,20 @@ }, "_children": [ { - "__id__": 155 + "__id__": 169 } ], "_active": true, "_components": [ { - "__id__": 161 + "__id__": 175 }, { - "__id__": 163 + "__id__": 177 } ], "_prefab": { - "__id__": 165 + "__id__": 179 }, "_lpos": { "__type__": "cc.Vec3", @@ -3553,20 +3857,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 154 + "__id__": 168 }, "_children": [], "_active": false, "_components": [ { - "__id__": 156 + "__id__": 170 }, { - "__id__": 158 + "__id__": 172 } ], "_prefab": { - "__id__": 160 + "__id__": 174 }, "_lpos": { "__type__": "cc.Vec3", @@ -3603,11 +3907,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 155 + "__id__": 169 }, "_enabled": true, "__prefab": { - "__id__": 157 + "__id__": 171 }, "_contentSize": { "__type__": "cc.Size", @@ -3631,11 +3935,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 155 + "__id__": 169 }, "_enabled": true, "__prefab": { - "__id__": 159 + "__id__": 173 }, "_resourceType": 1, "_remoteURL": "", @@ -3674,11 +3978,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 154 + "__id__": 168 }, "_enabled": true, "__prefab": { - "__id__": 162 + "__id__": 176 }, "_contentSize": { "__type__": "cc.Size", @@ -3702,11 +4006,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 154 + "__id__": 168 }, "_enabled": true, "__prefab": { - "__id__": 164 + "__id__": 178 }, "_alignFlags": 45, "_target": null, @@ -3755,32 +4059,32 @@ }, "_children": [ { - "__id__": 167 + "__id__": 181 }, { - "__id__": 175 + "__id__": 189 }, { - "__id__": 183 + "__id__": 197 }, { - "__id__": 208 + "__id__": 222 } ], "_active": true, "_components": [ { - "__id__": 223 + "__id__": 237 }, { - "__id__": 225 + "__id__": 239 }, { - "__id__": 227 + "__id__": 241 } ], "_prefab": { - "__id__": 229 + "__id__": 243 }, "_lpos": { "__type__": "cc.Vec3", @@ -3817,23 +4121,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 166 + "__id__": 180 }, "_children": [], "_active": true, "_components": [ { - "__id__": 168 + "__id__": 182 }, { - "__id__": 170 + "__id__": 184 }, { - "__id__": 172 + "__id__": 186 } ], "_prefab": { - "__id__": 174 + "__id__": 188 }, "_lpos": { "__type__": "cc.Vec3", @@ -3870,11 +4174,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 167 + "__id__": 181 }, "_enabled": true, "__prefab": { - "__id__": 169 + "__id__": 183 }, "_contentSize": { "__type__": "cc.Size", @@ -3898,11 +4202,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 167 + "__id__": 181 }, "_enabled": true, "__prefab": { - "__id__": 171 + "__id__": 185 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -3943,11 +4247,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 167 + "__id__": 181 }, "_enabled": true, "__prefab": { - "__id__": 173 + "__id__": 187 }, "_alignFlags": 40, "_target": null, @@ -3992,23 +4296,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 166 + "__id__": 180 }, "_children": [], "_active": true, "_components": [ { - "__id__": 176 + "__id__": 190 }, { - "__id__": 178 + "__id__": 192 }, { - "__id__": 180 + "__id__": 194 } ], "_prefab": { - "__id__": 182 + "__id__": 196 }, "_lpos": { "__type__": "cc.Vec3", @@ -4045,11 +4349,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 175 + "__id__": 189 }, "_enabled": true, "__prefab": { - "__id__": 177 + "__id__": 191 }, "_contentSize": { "__type__": "cc.Size", @@ -4073,11 +4377,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 175 + "__id__": 189 }, "_enabled": true, "__prefab": { - "__id__": 179 + "__id__": 193 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4118,11 +4422,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 175 + "__id__": 189 }, "_enabled": true, "__prefab": { - "__id__": 181 + "__id__": 195 }, "_alignFlags": 40, "_target": null, @@ -4167,33 +4471,33 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 166 + "__id__": 180 }, "_children": [ { - "__id__": 184 + "__id__": 198 }, { - "__id__": 190 + "__id__": 204 } ], "_active": true, "_components": [ { - "__id__": 198 + "__id__": 212 }, { - "__id__": 200 + "__id__": 214 }, { - "__id__": 202 + "__id__": 216 }, { - "__id__": 205 + "__id__": 219 } ], "_prefab": { - "__id__": 207 + "__id__": 221 }, "_lpos": { "__type__": "cc.Vec3", @@ -4230,20 +4534,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 183 + "__id__": 197 }, "_children": [], "_active": false, "_components": [ { - "__id__": 185 + "__id__": 199 }, { - "__id__": 187 + "__id__": 201 } ], "_prefab": { - "__id__": 189 + "__id__": 203 }, "_lpos": { "__type__": "cc.Vec3", @@ -4280,11 +4584,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 184 + "__id__": 198 }, "_enabled": true, "__prefab": { - "__id__": 186 + "__id__": 200 }, "_contentSize": { "__type__": "cc.Size", @@ -4308,11 +4612,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 184 + "__id__": 198 }, "_enabled": true, "__prefab": { - "__id__": 188 + "__id__": 202 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4389,23 +4693,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 183 + "__id__": 197 }, "_children": [], "_active": true, "_components": [ { - "__id__": 191 + "__id__": 205 }, { - "__id__": 193 + "__id__": 207 }, { - "__id__": 195 + "__id__": 209 } ], "_prefab": { - "__id__": 197 + "__id__": 211 }, "_lpos": { "__type__": "cc.Vec3", @@ -4442,11 +4746,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 190 + "__id__": 204 }, "_enabled": true, "__prefab": { - "__id__": 192 + "__id__": 206 }, "_contentSize": { "__type__": "cc.Size", @@ -4470,11 +4774,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 190 + "__id__": 204 }, "_enabled": true, "__prefab": { - "__id__": 194 + "__id__": 208 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4538,11 +4842,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 190 + "__id__": 204 }, "_enabled": true, "__prefab": { - "__id__": 196 + "__id__": 210 }, "languageKey": "chatpanel.inputplaceholder", "defaultText": "", @@ -4572,11 +4876,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 197 }, "_enabled": true, "__prefab": { - "__id__": 199 + "__id__": 213 }, "_contentSize": { "__type__": "cc.Size", @@ -4600,11 +4904,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 197 }, "_enabled": false, "__prefab": { - "__id__": 201 + "__id__": 215 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4642,25 +4946,25 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 197 }, "_enabled": true, "__prefab": { - "__id__": 203 + "__id__": 217 }, "editingDidBegan": [], "textChanged": [], "editingDidEnded": [], "editingReturn": [ { - "__id__": 204 + "__id__": 218 } ], "_textLabel": { - "__id__": 187 + "__id__": 201 }, "_placeholderLabel": { - "__id__": 193 + "__id__": 207 }, "_returnType": 0, "_string": "", @@ -4691,11 +4995,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 197 }, "_enabled": true, "__prefab": { - "__id__": 206 + "__id__": 220 }, "_alignFlags": 44, "_target": null, @@ -4740,27 +5044,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 166 + "__id__": 180 }, "_children": [ { - "__id__": 209 + "__id__": 223 } ], "_active": true, "_components": [ { - "__id__": 215 + "__id__": 229 }, { - "__id__": 217 + "__id__": 231 }, { - "__id__": 219 + "__id__": 233 } ], "_prefab": { - "__id__": 222 + "__id__": 236 }, "_lpos": { "__type__": "cc.Vec3", @@ -4797,20 +5101,20 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 208 + "__id__": 222 }, "_children": [], "_active": true, "_components": [ { - "__id__": 210 + "__id__": 224 }, { - "__id__": 212 + "__id__": 226 } ], "_prefab": { - "__id__": 214 + "__id__": 228 }, "_lpos": { "__type__": "cc.Vec3", @@ -4847,11 +5151,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 209 + "__id__": 223 }, "_enabled": true, "__prefab": { - "__id__": 211 + "__id__": 225 }, "_contentSize": { "__type__": "cc.Size", @@ -4875,11 +5179,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 209 + "__id__": 223 }, "_enabled": true, "__prefab": { - "__id__": 213 + "__id__": 227 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4959,11 +5263,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 208 + "__id__": 222 }, "_enabled": true, "__prefab": { - "__id__": 216 + "__id__": 230 }, "_contentSize": { "__type__": "cc.Size", @@ -4987,11 +5291,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 208 + "__id__": 222 }, "_enabled": true, "__prefab": { - "__id__": 218 + "__id__": 232 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5032,15 +5336,15 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 208 + "__id__": 222 }, "_enabled": true, "__prefab": { - "__id__": 220 + "__id__": 234 }, "clickEvents": [ { - "__id__": 221 + "__id__": 235 } ], "_interactable": true, @@ -5092,7 +5396,7 @@ "_duration": 0.1, "_zoomScale": 0.9, "_target": { - "__id__": 208 + "__id__": 222 }, "_id": "" }, @@ -5129,11 +5433,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 166 + "__id__": 180 }, "_enabled": true, "__prefab": { - "__id__": 224 + "__id__": 238 }, "_contentSize": { "__type__": "cc.Size", @@ -5157,11 +5461,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 166 + "__id__": 180 }, "_enabled": false, "__prefab": { - "__id__": 226 + "__id__": 240 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5202,11 +5506,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 166 + "__id__": 180 }, "_enabled": true, "__prefab": { - "__id__": 228 + "__id__": 242 }, "_alignFlags": 44, "_target": null, @@ -5255,7 +5559,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 231 + "__id__": 245 }, "_contentSize": { "__type__": "cc.Size", @@ -5283,7 +5587,7 @@ }, "_enabled": false, "__prefab": { - "__id__": 233 + "__id__": 247 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5325,7 +5629,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 235 + "__id__": 249 }, "_alignFlags": 45, "_target": null, @@ -5374,35 +5678,35 @@ }, "_children": [ { - "__id__": 238 + "__id__": 252 }, { - "__id__": 246 + "__id__": 260 }, { - "__id__": 275 + "__id__": 289 } ], "_active": true, "_components": [ { - "__id__": 304 + "__id__": 318 }, { - "__id__": 306 + "__id__": 320 }, { - "__id__": 308 + "__id__": 322 }, { - "__id__": 310 + "__id__": 324 }, { - "__id__": 312 + "__id__": 326 } ], "_prefab": { - "__id__": 314 + "__id__": 328 }, "_lpos": { "__type__": "cc.Vec3", @@ -5439,23 +5743,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 237 + "__id__": 251 }, "_children": [], "_active": true, "_components": [ { - "__id__": 239 + "__id__": 253 }, { - "__id__": 241 + "__id__": 255 }, { - "__id__": 243 + "__id__": 257 } ], "_prefab": { - "__id__": 245 + "__id__": 259 }, "_lpos": { "__type__": "cc.Vec3", @@ -5492,11 +5796,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 238 + "__id__": 252 }, "_enabled": true, "__prefab": { - "__id__": 240 + "__id__": 254 }, "_contentSize": { "__type__": "cc.Size", @@ -5520,11 +5824,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 238 + "__id__": 252 }, "_enabled": true, "__prefab": { - "__id__": 242 + "__id__": 256 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5588,11 +5892,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 238 + "__id__": 252 }, "_enabled": true, "__prefab": { - "__id__": 244 + "__id__": 258 }, "languageKey": "chatpanel.paytotalk.desc", "defaultText": "", @@ -5622,36 +5926,36 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 237 + "__id__": 251 }, "_children": [ { - "__id__": 247 - }, - { - "__id__": 253 - }, - { - "__id__": 259 - } - ], - "_active": true, - "_components": [ - { - "__id__": 265 + "__id__": 261 }, { "__id__": 267 }, { - "__id__": 269 + "__id__": 273 + } + ], + "_active": true, + "_components": [ + { + "__id__": 279 }, { - "__id__": 272 + "__id__": 281 + }, + { + "__id__": 283 + }, + { + "__id__": 286 } ], "_prefab": { - "__id__": 274 + "__id__": 288 }, "_lpos": { "__type__": "cc.Vec3", @@ -5688,20 +5992,20 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 246 + "__id__": 260 }, "_children": [], "_active": true, "_components": [ { - "__id__": 248 + "__id__": 262 }, { - "__id__": 250 + "__id__": 264 } ], "_prefab": { - "__id__": 252 + "__id__": 266 }, "_lpos": { "__type__": "cc.Vec3", @@ -5738,11 +6042,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 247 + "__id__": 261 }, "_enabled": true, "__prefab": { - "__id__": 249 + "__id__": 263 }, "_contentSize": { "__type__": "cc.Size", @@ -5766,11 +6070,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 247 + "__id__": 261 }, "_enabled": true, "__prefab": { - "__id__": 251 + "__id__": 265 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5850,20 +6154,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 246 + "__id__": 260 }, "_children": [], "_active": true, "_components": [ { - "__id__": 254 + "__id__": 268 }, { - "__id__": 256 + "__id__": 270 } ], "_prefab": { - "__id__": 258 + "__id__": 272 }, "_lpos": { "__type__": "cc.Vec3", @@ -5900,11 +6204,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 253 + "__id__": 267 }, "_enabled": true, "__prefab": { - "__id__": 255 + "__id__": 269 }, "_contentSize": { "__type__": "cc.Size", @@ -5928,11 +6232,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 253 + "__id__": 267 }, "_enabled": true, "__prefab": { - "__id__": 257 + "__id__": 271 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5986,20 +6290,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 246 + "__id__": 260 }, "_children": [], "_active": true, "_components": [ { - "__id__": 260 + "__id__": 274 }, { - "__id__": 262 + "__id__": 276 } ], "_prefab": { - "__id__": 264 + "__id__": 278 }, "_lpos": { "__type__": "cc.Vec3", @@ -6036,11 +6340,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 259 + "__id__": 273 }, "_enabled": true, "__prefab": { - "__id__": 261 + "__id__": 275 }, "_contentSize": { "__type__": "cc.Size", @@ -6064,11 +6368,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 259 + "__id__": 273 }, "_enabled": true, "__prefab": { - "__id__": 263 + "__id__": 277 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6148,11 +6452,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 246 + "__id__": 260 }, "_enabled": true, "__prefab": { - "__id__": 266 + "__id__": 280 }, "_contentSize": { "__type__": "cc.Size", @@ -6176,11 +6480,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 246 + "__id__": 260 }, "_enabled": true, "__prefab": { - "__id__": 268 + "__id__": 282 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6221,15 +6525,15 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 246 + "__id__": 260 }, "_enabled": true, "__prefab": { - "__id__": 270 + "__id__": 284 }, "clickEvents": [ { - "__id__": 271 + "__id__": 285 } ], "_interactable": true, @@ -6269,7 +6573,7 @@ "_duration": 0.1, "_zoomScale": 0.9, "_target": { - "__id__": 246 + "__id__": 260 }, "_id": "" }, @@ -6280,7 +6584,7 @@ { "__type__": "cc.ClickEvent", "target": { - "__id__": 237 + "__id__": 251 }, "component": "", "_componentId": "06f47u6codPJodunp6ofax0", @@ -6293,11 +6597,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 246 + "__id__": 260 }, "_enabled": true, "__prefab": { - "__id__": 273 + "__id__": 287 }, "_alignFlags": 16, "_target": null, @@ -6342,36 +6646,36 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 237 + "__id__": 251 }, "_children": [ { - "__id__": 276 - }, - { - "__id__": 282 - }, - { - "__id__": 288 - } - ], - "_active": true, - "_components": [ - { - "__id__": 294 + "__id__": 290 }, { "__id__": 296 }, { - "__id__": 298 + "__id__": 302 + } + ], + "_active": true, + "_components": [ + { + "__id__": 308 }, { - "__id__": 301 + "__id__": 310 + }, + { + "__id__": 312 + }, + { + "__id__": 315 } ], "_prefab": { - "__id__": 303 + "__id__": 317 }, "_lpos": { "__type__": "cc.Vec3", @@ -6408,20 +6712,20 @@ "_objFlags": 512, "__editorExtras__": {}, "_parent": { - "__id__": 275 + "__id__": 289 }, "_children": [], "_active": true, "_components": [ { - "__id__": 277 + "__id__": 291 }, { - "__id__": 279 + "__id__": 293 } ], "_prefab": { - "__id__": 281 + "__id__": 295 }, "_lpos": { "__type__": "cc.Vec3", @@ -6458,11 +6762,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 276 + "__id__": 290 }, "_enabled": true, "__prefab": { - "__id__": 278 + "__id__": 292 }, "_contentSize": { "__type__": "cc.Size", @@ -6486,11 +6790,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 276 + "__id__": 290 }, "_enabled": true, "__prefab": { - "__id__": 280 + "__id__": 294 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6570,20 +6874,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 275 + "__id__": 289 }, "_children": [], "_active": true, "_components": [ { - "__id__": 283 + "__id__": 297 }, { - "__id__": 285 + "__id__": 299 } ], "_prefab": { - "__id__": 287 + "__id__": 301 }, "_lpos": { "__type__": "cc.Vec3", @@ -6620,11 +6924,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 282 + "__id__": 296 }, "_enabled": true, "__prefab": { - "__id__": 284 + "__id__": 298 }, "_contentSize": { "__type__": "cc.Size", @@ -6648,11 +6952,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 282 + "__id__": 296 }, "_enabled": true, "__prefab": { - "__id__": 286 + "__id__": 300 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6732,20 +7036,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 275 + "__id__": 289 }, "_children": [], "_active": true, "_components": [ { - "__id__": 289 + "__id__": 303 }, { - "__id__": 291 + "__id__": 305 } ], "_prefab": { - "__id__": 293 + "__id__": 307 }, "_lpos": { "__type__": "cc.Vec3", @@ -6782,11 +7086,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 288 + "__id__": 302 }, "_enabled": true, "__prefab": { - "__id__": 290 + "__id__": 304 }, "_contentSize": { "__type__": "cc.Size", @@ -6810,11 +7114,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 288 + "__id__": 302 }, "_enabled": true, "__prefab": { - "__id__": 292 + "__id__": 306 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6868,11 +7172,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 275 + "__id__": 289 }, "_enabled": true, "__prefab": { - "__id__": 295 + "__id__": 309 }, "_contentSize": { "__type__": "cc.Size", @@ -6896,11 +7200,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 275 + "__id__": 289 }, "_enabled": true, "__prefab": { - "__id__": 297 + "__id__": 311 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6941,15 +7245,15 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 275 + "__id__": 289 }, "_enabled": true, "__prefab": { - "__id__": 299 + "__id__": 313 }, "clickEvents": [ { - "__id__": 300 + "__id__": 314 } ], "_interactable": true, @@ -6989,7 +7293,7 @@ "_duration": 0.1, "_zoomScale": 0.9, "_target": { - "__id__": 275 + "__id__": 289 }, "_id": "" }, @@ -7000,7 +7304,7 @@ { "__type__": "cc.ClickEvent", "target": { - "__id__": 237 + "__id__": 251 }, "component": "", "_componentId": "06f47u6codPJodunp6ofax0", @@ -7013,11 +7317,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 275 + "__id__": 289 }, "_enabled": true, "__prefab": { - "__id__": 302 + "__id__": 316 }, "_alignFlags": 16, "_target": null, @@ -7062,11 +7366,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 251 }, "_enabled": true, "__prefab": { - "__id__": 305 + "__id__": 319 }, "_contentSize": { "__type__": "cc.Size", @@ -7090,11 +7394,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 251 }, "_enabled": true, "__prefab": { - "__id__": 307 + "__id__": 321 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7135,11 +7439,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 251 }, "_enabled": true, "__prefab": { - "__id__": 309 + "__id__": 323 }, "_alignFlags": 40, "_target": null, @@ -7171,23 +7475,23 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 251 }, "_enabled": true, "__prefab": { - "__id__": 311 + "__id__": 325 }, "timeLabel": { - "__id__": 250 + "__id__": 264 }, "timeBtnLabel": { - "__id__": 262 + "__id__": 276 }, "vipLabel": { - "__id__": 279 + "__id__": 293 }, "vipBtnLabel": { - "__id__": 285 + "__id__": 299 }, "_id": "" }, @@ -7201,11 +7505,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 251 }, "_enabled": true, "__prefab": { - "__id__": 313 + "__id__": 327 }, "_opacity": 255, "_id": "" @@ -7237,20 +7541,20 @@ }, "_children": [ { - "__id__": 316 + "__id__": 330 } ], "_active": true, "_components": [ { - "__id__": 340 + "__id__": 354 }, { - "__id__": 342 + "__id__": 356 } ], "_prefab": { - "__id__": 344 + "__id__": 358 }, "_lpos": { "__type__": "cc.Vec3", @@ -7287,24 +7591,24 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 315 + "__id__": 329 }, "_children": [ { - "__id__": 317 + "__id__": 331 } ], "_active": true, "_components": [ { - "__id__": 335 + "__id__": 349 }, { - "__id__": 337 + "__id__": 351 } ], "_prefab": { - "__id__": 339 + "__id__": 353 }, "_lpos": { "__type__": "cc.Vec3", @@ -7341,27 +7645,27 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 316 + "__id__": 330 }, "_children": [ { - "__id__": 318 + "__id__": 332 } ], "_active": true, "_components": [ { - "__id__": 328 + "__id__": 342 }, { - "__id__": 330 + "__id__": 344 }, { - "__id__": 332 + "__id__": 346 } ], "_prefab": { - "__id__": 334 + "__id__": 348 }, "_lpos": { "__type__": "cc.Vec3", @@ -7398,26 +7702,26 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 317 + "__id__": 331 }, "_children": [], "_active": true, "_components": [ { - "__id__": 319 + "__id__": 333 }, { - "__id__": 321 + "__id__": 335 }, { - "__id__": 323 + "__id__": 337 }, { - "__id__": 325 + "__id__": 339 } ], "_prefab": { - "__id__": 327 + "__id__": 341 }, "_lpos": { "__type__": "cc.Vec3", @@ -7454,11 +7758,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 318 + "__id__": 332 }, "_enabled": true, "__prefab": { - "__id__": 320 + "__id__": 334 }, "_contentSize": { "__type__": "cc.Size", @@ -7482,11 +7786,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 318 + "__id__": 332 }, "_enabled": true, "__prefab": { - "__id__": 322 + "__id__": 336 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7524,11 +7828,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 318 + "__id__": 332 }, "_enabled": true, "__prefab": { - "__id__": 324 + "__id__": 338 }, "_alignFlags": 12, "_target": null, @@ -7560,11 +7864,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 318 + "__id__": 332 }, "_enabled": true, "__prefab": { - "__id__": 326 + "__id__": 340 }, "clickEvents": [], "_interactable": true, @@ -7629,11 +7933,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 317 + "__id__": 331 }, "_enabled": true, "__prefab": { - "__id__": 329 + "__id__": 343 }, "_contentSize": { "__type__": "cc.Size", @@ -7657,11 +7961,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 317 + "__id__": 331 }, "_enabled": true, "__prefab": { - "__id__": 331 + "__id__": 345 }, "_type": 3, "_inverted": false, @@ -7679,11 +7983,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 317 + "__id__": 331 }, "_enabled": true, "__prefab": { - "__id__": 333 + "__id__": 347 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7737,11 +8041,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 316 + "__id__": 330 }, "_enabled": true, "__prefab": { - "__id__": 336 + "__id__": 350 }, "_contentSize": { "__type__": "cc.Size", @@ -7765,11 +8069,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 316 + "__id__": 330 }, "_enabled": true, "__prefab": { - "__id__": 338 + "__id__": 352 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7823,11 +8127,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 315 + "__id__": 329 }, "_enabled": true, "__prefab": { - "__id__": 341 + "__id__": 355 }, "_contentSize": { "__type__": "cc.Size", @@ -7851,14 +8155,14 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 315 + "__id__": 329 }, "_enabled": true, "__prefab": { - "__id__": 343 + "__id__": 357 }, "image": { - "__id__": 321 + "__id__": 335 }, "_id": "" }, @@ -7889,7 +8193,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 346 + "__id__": 360 }, "_contentSize": { "__type__": "cc.Size", @@ -7917,7 +8221,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 348 + "__id__": 362 }, "_alignFlags": 45, "_target": null, @@ -7953,26 +8257,26 @@ }, "_enabled": true, "__prefab": { - "__id__": 350 + "__id__": 364 }, "m_rootNode": null, "payToTalkPanel": { - "__id__": 310 + "__id__": 324 }, "editBox": { - "__id__": 202 + "__id__": 216 }, "girlName": { "__id__": 44 }, "videoArea": { - "__id__": 161 + "__id__": 175 }, "layout": { - "__id__": 71 + "__id__": 69 }, "popUpImage": { - "__id__": 342 + "__id__": 356 }, "_id": "" },