From 568d360f49b03a21e33ceed1335db9eb8222a2d9 Mon Sep 17 00:00:00 2001 From: xlj <543978819@qq.com> Date: Tue, 23 Sep 2025 11:23:17 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95=E5=8F=8D=E9=A6=88=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scripts/chat18x/data/GirlData.ts | 223 ++- assets/Scripts/chat18x/ui/panels/ChatPanel.ts | 1 + .../chat18x/ui/panels/GirlDetailPanel.ts | 89 ++ assets/bundles/Chat18x/GirlDetailPanel.prefab | 1320 +++++++++-------- assets/bundles/Chat18x/Web3PopPanel.prefab | 4 +- assets/bundles/DataTable/tblanguage.bin | Bin 33280 -> 33253 bytes xchat_cfg | 2 +- 7 files changed, 938 insertions(+), 701 deletions(-) diff --git a/assets/Scripts/chat18x/data/GirlData.ts b/assets/Scripts/chat18x/data/GirlData.ts index 4741b061..a5e8bc64 100644 --- a/assets/Scripts/chat18x/data/GirlData.ts +++ b/assets/Scripts/chat18x/data/GirlData.ts @@ -127,7 +127,7 @@ export class GirlData extends BaseData { } const cats = this.ensureCategories(); logger.log("保存可聊天的技师数据: ", cats); - } + } /** --------------------------------------------------------- 技师的简要数据 --------------------------------------------------------- */ @@ -200,7 +200,7 @@ export class GirlData extends BaseData { const b = this.ensureCategories().get(categoryId); if (!b) return false; return b.briefs.has(girlId); - } + } /** 获取名字键 */ public getGrilName(categoryId: string, girlId: number): string { @@ -241,13 +241,13 @@ export class GirlData extends BaseData { public isGirlFreeType(categoryId: string, girlId: number): boolean { let priceType = this.getGrilPriceType(categoryId, girlId); return priceType == PriceType.free; - } + } /** 技师是否付费类型 */ public isGirlPayType(categoryId: string, girlId: number): boolean { let priceType = this.getGrilPriceType(categoryId, girlId); return priceType == PriceType.pay; - } + } /** 获取原来的价格,除100 */ public getGrilOriginalPrice(categoryId: string, girlId: number): number { @@ -329,7 +329,7 @@ export class GirlData extends BaseData { const b = this.ensureCategories().get(categoryId); if (!b) return false; return b.details.has(girlId); - } + } /** 取某分类 + girlId 的详细数据 */ public getGrilDetail( @@ -365,7 +365,7 @@ export class GirlData extends BaseData { /** 获取所有用来展示在列表的技师图片的id,可展示的有以下几种情况 * 1,图片类型为在详情页展示的(不管免费,付费,是否解锁) * 2,图片类型为在聊天触发的,并且已经达到了触发次数的(不管是否已经解锁) - */ + */ public getAllDisplayGrilPhotoId( categoryId: string, girlId: number @@ -390,7 +390,7 @@ export class GirlData extends BaseData { const isShowInChat = this.isGirlPhotoShowInChat(categoryId, girlId, id); if (isShowInList) { - displayIds.push(id); + displayIds.push(id); } else if (isShowInChat) { // 总聊天次数 大于等于 触发次数 if (chatTotalCount >= unlockCounts) { @@ -402,7 +402,11 @@ export class GirlData extends BaseData { } /** 用来展示在列表的技师图片是否可见 */ - public isGirlPhotoVisible(categoryId: string, girlId: number, id: number): boolean { + public isGirlPhotoVisible( + categoryId: string, + girlId: number, + id: number + ): boolean { // 免费 const isFreeType = this.isGirlPhotoFreeType(categoryId, girlId, id); // 付费 @@ -425,7 +429,7 @@ export class GirlData extends BaseData { // 总聊天次数 大于等于 触发次数 const isUnlock = this.isImageUnlock(categoryId, girlId, id); // 已经解锁,可见 - if (isUnlock) return true; + if (isUnlock) return true; } // 其他情况,不可见 return false; @@ -442,7 +446,7 @@ export class GirlData extends BaseData { // 遍历 for (let id of allId) { let count = this.getGrilPhotoUnlockCounts(categoryId, girlId, id); - if (chatTotalCount >= count) return id; + if (chatTotalCount == count) return id; } return 0; } @@ -460,36 +464,52 @@ export class GirlData extends BaseData { } /** 图片展示类型:在详情页展示 */ - public isGirlPhotoShowInList(categoryId: string, girlId: number, id: number): boolean { + public isGirlPhotoShowInList( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return false; return oneData.isGirlPhotoShowInList(id); - } - + } + /** 图片展示类型:在聊天触发 */ - public isGirlPhotoShowInChat(categoryId: string, girlId: number, id: number): boolean { + public isGirlPhotoShowInChat( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return false; return oneData.isGirlPhotoShowInChat(id); - } + } /** 图片是否免费 */ - public isGirlPhotoFreeType(categoryId: string, girlId: number, id: number): boolean { + public isGirlPhotoFreeType( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return false; // 价格 const price = oneData.getGrilPhotoPrice(id); return price <= 0; - } + } /** 图片是否需要付费 */ - public isGirlPhotoPayType(categoryId: string, girlId: number, id: number): boolean { + public isGirlPhotoPayType( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return true; // 价格 const price = oneData.getGrilPhotoPrice(id); return price > 0; - } + } /** 获取技师图片的类型 */ public getGrilPhotoType( @@ -571,7 +591,11 @@ export class GirlData extends BaseData { } /** 用来展示在列表的技师视频是否可见 */ - public isGirlVideoVisible(categoryId: string, girlId: number, id: number): boolean { + public isGirlVideoVisible( + categoryId: string, + girlId: number, + id: number + ): boolean { // 免费 const isFreeType = this.isGirlVideoFreeType(categoryId, girlId, id); // 付费 @@ -583,29 +607,37 @@ export class GirlData extends BaseData { } else if (isPayType) { // 付费,并且已经解锁,可见 const isUnlock = this.isVideoUnlock(categoryId, girlId, id); - if (isUnlock) return true; + if (isUnlock) return true; } // 其他情况,不可见 return false; } /** 视频是否免费 */ - public isGirlVideoFreeType(categoryId: string, girlId: number, id: number): boolean { + public isGirlVideoFreeType( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return false; // 价格 const price = oneData.getGrilVideoPrice(id); return price <= 0; - } + } /** 视频是否需要付费 */ - public isGirlVideoPayType(categoryId: string, girlId: number, id: number): boolean { + public isGirlVideoPayType( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilDetail(categoryId, girlId); if (!oneData) return true; // 价格 const price = oneData.getGrilVideoPrice(id); return price > 0; - } + } /** 获取第一个技师视频的资源路径 */ public getFirstGrilVideoPath(categoryId: string, girlId: number): string { @@ -667,7 +699,13 @@ export class GirlData extends BaseData { /** --------------------------------------------------------- 技师的解锁数据 --------------------------------------------------------- */ // 创建一个技师解锁数据 - private createOneGirlUnlock(id: number, isRelease: boolean, unlockTime: number, unlockedImageIds: number[], unlockedVideoIds: number[]): GirlUnlockData { + private createOneGirlUnlock( + id: number, + isRelease: boolean, + unlockTime: number, + unlockedImageIds: number[], + unlockedVideoIds: number[] + ): GirlUnlockData { let oneData = new GirlUnlockData(); oneData.init?.(DataId.GirlUnlock); oneData.setId(id); @@ -697,9 +735,15 @@ export class GirlData extends BaseData { unlockedVideoIds.push(one.resId); } } - let oneData = this.createOneGirlUnlock(data.id, data.isRelease, Number(data.unlockTime), unlockedImageIds, unlockedVideoIds); + let oneData = this.createOneGirlUnlock( + data.id, + data.isRelease, + Number(data.unlockTime), + unlockedImageIds, + unlockedVideoIds + ); return oneData; - } + } /** 保存技师的解锁数据 */ private setGirlUnlock(categoryId: string, data: proto.cs.IGirlData[]): void { @@ -726,12 +770,18 @@ export class GirlData extends BaseData { } else { // 不存在数据,创建 const bucket = this.ensureBucket(categoryId.toString()); - let oneData = this.createOneGirlUnlock(data.id, data.isRelease, Number(data.unlockTime), [], []); + let oneData = this.createOneGirlUnlock( + data.id, + data.isRelease, + Number(data.unlockTime), + [], + [] + ); if (oneData) { bucket.unlocks.set(data.id, oneData); } } - } + } /** 取某分类 + girlId 的解锁数据 */ private getGrilUnlock( @@ -748,7 +798,7 @@ export class GirlData extends BaseData { const b = this.ensureCategories().get(categoryId); if (!b) return false; return b.unlocks.has(girlId); - } + } /** 获取 付费技师是否已经解锁 */ public getIsRelease(categoryId: string, girlId: number): boolean { @@ -776,11 +826,15 @@ export class GirlData extends BaseData { } /** 保存 角色解锁时间,时间戳,秒 */ - public setUnlockTime(categoryId: string, girlId: number, value: number): void { + public setUnlockTime( + categoryId: string, + girlId: number, + value: number + ): void { let oneData = this.getGrilUnlock(categoryId, girlId); if (!oneData) return; oneData.setUnlockTime(value); - } + } /** 判断图片是否解锁 */ public isImageUnlock( @@ -848,12 +902,16 @@ export class GirlData extends BaseData { } // 返回结果 return result; - } + } /** --------------------------------------------------------- 技师的聊天数据 --------------------------------------------------------- */ // 创建一个技师聊天数据 - private createOneGirlChat(id: number, chatTotalCount: number, chatRemainCount: number): GirlChatData { + private createOneGirlChat( + id: number, + chatTotalCount: number, + chatRemainCount: number + ): GirlChatData { let oneData = new GirlChatData(); oneData.init?.(DataId.GirlChat); oneData.setId(id); @@ -865,7 +923,11 @@ export class GirlData extends BaseData { // 解析技师聊天数据,一个 private parseOneGirlChat(data: proto.cs.IGirlData): GirlChatData | null { if (!data) return null; - let oneData = this.createOneGirlChat(data.id, data.chatTotalCount, data.chatRemainCount); + let oneData = this.createOneGirlChat( + data.id, + data.chatTotalCount, + data.chatRemainCount + ); return oneData; } @@ -895,13 +957,17 @@ export class GirlData extends BaseData { } else { // 不存在数据,创建 const bucket = this.ensureBucket(categoryId.toString()); - let oneData = this.createOneGirlChat(data.id, data.chatTotalCount, data.chatRemainCount); + let oneData = this.createOneGirlChat( + data.id, + data.chatTotalCount, + data.chatRemainCount + ); if (oneData) { oneData.setChatRecord(data.msgs); bucket.chats.set(data.id, oneData); } } - } + } /** 取某分类 + girlId 的聊天数据 */ private getGrilChat(categoryId: string, girlId: number): GirlChatData | null { @@ -915,7 +981,7 @@ export class GirlData extends BaseData { const b = this.ensureCategories().get(categoryId); if (!b) return false; return b.chats.has(girlId); - } + } /** 获取总聊天次数 */ public getChatTotalCount(categoryId: string, girlId: number): number { @@ -965,50 +1031,68 @@ export class GirlData extends BaseData { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return false; return oneData.isCanChat(); - } - + } + /** 保存聊天记录 */ - public setChatRecord(categoryId: string, girlId: number, data: proto.cs.IChatMsg[]): void { + public setChatRecord( + categoryId: string, + girlId: number, + data: proto.cs.IChatMsg[] + ): void { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return; oneData.setChatRecord(data); - } + } /** 获取聊天记录的所有 id */ public getChatRecordIds(categoryId: string, girlId: number): number[] { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return []; return oneData.getChatRecordIds(); - } + } /** 获取最新的聊天记录的id */ - public getLatestChatRecordId(categoryId: string, girlId: number): number | null { + public getLatestChatRecordId( + categoryId: string, + girlId: number + ): number | null { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return null; return oneData.getLatestChatRecordId(); - } - + } + /** 获取最新的聊天记录的时间戳(毫秒) */ - public getLatestChatRecordTimestamp(categoryId: string, girlId: number): number | null { + public getLatestChatRecordTimestamp( + categoryId: string, + girlId: number + ): number | null { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return null; return oneData.getLatestChatRecordTimestamp(); - } + } /** 获取聊天记录,根据 id,是否是 ai 聊天数据 */ - public getChatRecordIsAi(categoryId: string, girlId: number, id: number): boolean { + public getChatRecordIsAi( + categoryId: string, + girlId: number, + id: number + ): boolean { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return false; return oneData.getChatRecordIsAi(id); - } - + } + /** 获取聊天记录,根据 id,聊天内容 */ - public getChatRecordMsg(categoryId: string, girlId: number, id: number): string { + public getChatRecordMsg( + categoryId: string, + girlId: number, + id: number + ): string { let oneData = this.getGrilChat(categoryId, girlId); if (!oneData) return ""; return oneData.getChatRecordMsg(id); - } - + } + /** 获取所有可聊天的技师 id */ public getAllCanChatGirlIds(): number[] { const result: number[] = []; @@ -1022,7 +1106,7 @@ export class GirlData extends BaseData { result.push(girlId); } } - } + } // 排序 // 1,都存在聊天记录,按照聊天时间从近到远,否则,有聊天记录的排在前面 // 2,都没有聊天记录 @@ -1066,12 +1150,15 @@ export class GirlData extends BaseData { // 返回结果 return result; - } + } /** --------------------------------------------------------- 技师的好感度数据 --------------------------------------------------------- */ // 创建一个技师好感度数据 - private createOneGirlFavorability(id: number, star: number): GirlFavorabilityData { + private createOneGirlFavorability( + id: number, + star: number + ): GirlFavorabilityData { let oneData = new GirlFavorabilityData(); oneData.init?.(DataId.GirlFavorability); oneData.setId(id); @@ -1080,14 +1167,19 @@ export class GirlData extends BaseData { } // 解析技师好感度数据,一个 - private parseOneGirlFavorability(data: proto.cs.IGirlData): GirlFavorabilityData | null { + private parseOneGirlFavorability( + data: proto.cs.IGirlData + ): GirlFavorabilityData | null { if (!data) return null; let oneData = this.createOneGirlFavorability(data.id, data.star); return oneData; } /** 保存技师的好感度数据 */ - private setGirlFavorability(categoryId: string,data: proto.cs.IGirlData[]): void { + private setGirlFavorability( + categoryId: string, + data: proto.cs.IGirlData[] + ): void { if (!data) return; const bucket = this.ensureBucket(categoryId); for (const g of data) { @@ -1115,10 +1207,13 @@ export class GirlData extends BaseData { bucket.favorability.set(data.id, oneData); } } - } + } /** 取某分类 + girlId 的好感度数据 */ - private getGrilFavorability(categoryId: string,girlId: number): GirlFavorabilityData | null { + private getGrilFavorability( + categoryId: string, + girlId: number + ): GirlFavorabilityData | null { const b = this.ensureCategories().get(categoryId); if (!b) return null; return b.favorability.get(girlId) ?? null; @@ -1129,7 +1224,7 @@ export class GirlData extends BaseData { const b = this.ensureCategories().get(categoryId); if (!b) return false; return b.favorability.has(girlId); - } + } /** 获取星级 */ public getStar(categoryId: string, girlId: number): number { @@ -1153,7 +1248,7 @@ export class GirlData extends BaseData { const bucket = this.ensureCategories().get(DAILY_BUCKET); if (!bucket) return false; return bucket.girlIds.length > 0; - } + } /** 获取推荐id */ public getRecommendGirlId(): number { diff --git a/assets/Scripts/chat18x/ui/panels/ChatPanel.ts b/assets/Scripts/chat18x/ui/panels/ChatPanel.ts index d4a478e0..cb3bd5a6 100644 --- a/assets/Scripts/chat18x/ui/panels/ChatPanel.ts +++ b/assets/Scripts/chat18x/ui/panels/ChatPanel.ts @@ -286,6 +286,7 @@ export class ChatPanel extends li_BaseView implements IChatPanelCallback { let triggerId = girlData.getTriggerGrilPhotoId(this.categoryId, this.id); if (triggerId == 0) return; + logger.log("Trigger pop up Image id:" + this.id + "--" + triggerId); this.popUpImage.refresh(this.categoryId, this.id, triggerId); diff --git a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts index 0f0886f0..bc631166 100644 --- a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts +++ b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts @@ -8,6 +8,8 @@ import { Size, Vec3, tween, + view, + screen, } from "cc"; import li_BaseView from "db://assets/Scripts/Main/Common/li_BaseView"; import ResManager from "db://assets/Scripts/Main/Manager/ResManager"; @@ -82,12 +84,30 @@ export class GirlDetailPanel extends li_BaseView { @property(Node) sendMsgText: Node; + private _nodeTab: any = {}; + + ImgVidSelect: Node; + ImgVidFakePos: Node; + + // 跟随控制相关属性 + private isFollowing: boolean = true; // 当前是否处于跟随状态 + private lastFakePosPosition: Vec3 = new Vec3(); // 记录上次的位置 + protected onEnable(): void { this.refresh(); } onLoadCT() { super.onLoadCT(); + Utils.parseNode(this.node, this._nodeTab); + + this.ImgVidSelect = this._nodeTab.ImgVidSelect; + this.ImgVidFakePos = this._nodeTab.ImgVidFakePos; + + // 初始化位置跟随 + if (this.ImgVidFakePos) { + this.lastFakePosPosition = this.ImgVidFakePos.position.clone(); + } DetailImageItemPool.Instance.setTemplate(this.imgItemInst.node); @@ -360,6 +380,75 @@ export class GirlDetailPanel extends li_BaseView { super.onClose(); } + /** + * 检测节点是否在屏幕可见区域内 + * @param node 要检测的节点 + * @returns 是否在屏幕内 + */ + private isNodeInScreen(node: Node): boolean { + if (!node) return false; + + const uiTransform = node.getComponent(UITransform); + if (!uiTransform) return false; + + // 获取屏幕尺寸 + const screenSize = screen.windowSize; + const designResolution = view.getDesignResolutionSize(); + + // 获取节点的世界坐标 + const worldPos = uiTransform.convertToWorldSpaceAR(Vec3.ZERO); + + // 获取节点的尺寸 + const nodeSize = uiTransform.contentSize; + + // 计算节点的边界 + const left = worldPos.x - nodeSize.width * uiTransform.anchorX; + const right = worldPos.x + nodeSize.width * (1 - uiTransform.anchorX); + const bottom = worldPos.y - nodeSize.height * uiTransform.anchorY; + const top = worldPos.y + nodeSize.height * (1 - uiTransform.anchorY); + + // 检测是否完全在屏幕内 + const isInScreen = + left >= 0 && + right <= designResolution.width && + bottom >= 0 && + top <= designResolution.height - 160; + + return isInScreen; + } + + /** + * 实时更新ImgVidSelect跟随ImgVidFakePos的逻辑 + */ + lateUpdate(dt: number) { + if (!this.ImgVidSelect || !this.ImgVidFakePos) { + return; + } + + // 检测ImgVidFakePos是否在屏幕内 + const isInScreen = this.isNodeInScreen(this.ImgVidFakePos); + + if (isInScreen) { + // 在屏幕内,开始或继续跟随 + if (!this.isFollowing) { + this.isFollowing = true; + logger.log("ImgVidSelect开始跟随ImgVidFakePos"); + } + + // 更新ImgVidSelect的位置到ImgVidFakePos的位置 + this.ImgVidSelect.worldPosition = + this.ImgVidFakePos.worldPosition.clone(); + this.lastFakePosPosition = this.ImgVidFakePos.worldPosition.clone(); + } else { + // 超出屏幕,停止跟随 + if (this.isFollowing) { + this.isFollowing = false; + logger.log("ImgVidSelect停止跟随ImgVidFakePos(超出屏幕)"); + // ImgVidSelect保持在最后的跟随位置 + } + } + } + /** * 面板销毁时的清理工作 */ diff --git a/assets/bundles/Chat18x/GirlDetailPanel.prefab b/assets/bundles/Chat18x/GirlDetailPanel.prefab index d608f942..fa5cc8bc 100644 --- a/assets/bundles/Chat18x/GirlDetailPanel.prefab +++ b/assets/bundles/Chat18x/GirlDetailPanel.prefab @@ -24,9 +24,6 @@ ], "_active": true, "_components": [ - { - "__id__": 396 - }, { "__id__": 398 }, @@ -35,10 +32,13 @@ }, { "__id__": 402 + }, + { + "__id__": 404 } ], "_prefab": { - "__id__": 404 + "__id__": 406 }, "_lpos": { "__type__": "cc.Vec3", @@ -88,23 +88,23 @@ "__id__": 17 }, { - "__id__": 378 + "__id__": 380 } ], "_active": true, "_components": [ - { - "__id__": 389 - }, { "__id__": 391 }, { "__id__": 393 + }, + { + "__id__": 395 } ], "_prefab": { - "__id__": 395 + "__id__": 397 }, "_lpos": { "__type__": "cc.Vec3", @@ -462,23 +462,23 @@ "__id__": 24 }, { - "__id__": 297 + "__id__": 299 } ], "_active": true, "_components": [ - { - "__id__": 371 - }, { "__id__": 373 }, { "__id__": 375 + }, + { + "__id__": 377 } ], "_prefab": { - "__id__": 377 + "__id__": 379 }, "_lpos": { "__type__": "cc.Vec3", @@ -651,9 +651,6 @@ ], "_active": true, "_components": [ - { - "__id__": 288 - }, { "__id__": 290 }, @@ -662,10 +659,13 @@ }, { "__id__": 294 + }, + { + "__id__": 296 } ], "_prefab": { - "__id__": 296 + "__id__": 298 }, "_lpos": { "__type__": "cc.Vec3", @@ -707,13 +707,13 @@ "_children": [ { "__id__": 26 + }, + { + "__id__": 201 } ], "_active": true, "_components": [ - { - "__id__": 279 - }, { "__id__": 281 }, @@ -722,10 +722,13 @@ }, { "__id__": 285 + }, + { + "__id__": 287 } ], "_prefab": { - "__id__": 287 + "__id__": 289 }, "_lpos": { "__type__": "cc.Vec3", @@ -778,23 +781,23 @@ "__id__": 182 }, { - "__id__": 264 + "__id__": 186 } ], "_active": true, "_components": [ { - "__id__": 272 + "__id__": 194 }, { - "__id__": 274 + "__id__": 196 }, { - "__id__": 276 + "__id__": 198 } ], "_prefab": { - "__id__": 278 + "__id__": 200 }, "_lpos": { "__type__": "cc.Vec3", @@ -4441,37 +4444,21 @@ }, { "__type__": "cc.Node", - "_name": "ImgVidSelect", + "_name": "ImgVidFakePos", "_objFlags": 0, "__editorExtras__": {}, "_parent": { "__id__": 26 }, - "_children": [ - { - "__id__": 183 - }, - { - "__id__": 189 - }, - { - "__id__": 223 - } - ], + "_children": [], "_active": true, "_components": [ { - "__id__": 257 - }, - { - "__id__": 259 - }, - { - "__id__": 261 + "__id__": 183 } ], "_prefab": { - "__id__": 263 + "__id__": 185 }, "_lpos": { "__type__": "cc.Vec3", @@ -4502,27 +4489,411 @@ }, "_id": "" }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 182 + }, + "_enabled": true, + "__prefab": { + "__id__": 184 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1070, + "height": 125.3 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "68ybBCVjxOWYP6ohRwFZK0" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "15t6zyfw1AtKQzPACaydd0", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, { "__type__": "cc.Node", - "_name": "bg", + "_name": "ImageContent", "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 182 + "__id__": 26 }, "_children": [], "_active": true, "_components": [ { - "__id__": 184 + "__id__": 187 }, { - "__id__": 186 + "__id__": 189 + }, + { + "__id__": 191 } ], "_prefab": { + "__id__": 193 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -1662.4000000000003, + "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.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 186 + }, + "_enabled": true, + "__prefab": { "__id__": 188 }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1027.3, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7bi+RIXnFECKH2/m3BG8iV" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 186 + }, + "_enabled": true, + "__prefab": { + "__id__": 190 + }, + "_resizeMode": 1, + "_layoutType": 3, + "_cellSize": { + "__type__": "cc.Size", + "width": 360, + "height": 480 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 2, + "_spacingY": 2, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fdOaVk/kVEGb/gczTlkZxp" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 186 + }, + "_enabled": true, + "__prefab": { + "__id__": 192 + }, + "_alignFlags": 40, + "_target": null, + "_left": 26.350000000000023, + "_right": 26.350000000000023, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 1170, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1fDCnPe1ZMpbNLjDtxq7vo" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "93dAiS3fFNcbPNEaVTnY6H", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 26 + }, + "_enabled": true, + "__prefab": { + "__id__": 195 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 1080, + "height": 1662.3999999999999 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d1mbIyIUtGMYdp3Nlzj++1" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 26 + }, + "_enabled": true, + "__prefab": { + "__id__": 197 + }, + "_alignFlags": 41, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": -980.7719999999999, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 220, + "_originalHeight": 769, + "_alignMode": 2, + "_lockFlags": 1, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e1K0mBNstCZZb0hRTxyqFW" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 26 + }, + "_enabled": true, + "__prefab": { + "__id__": 199 + }, + "_resizeMode": 1, + "_layoutType": 2, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 0, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 0, + "_spacingY": 12.9, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_constraint": 0, + "_constraintNum": 2, + "_affectedByScale": false, + "_isAlign": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ed9bNZKt5P3ayClbzZem0C" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a8jgwzPNtJVpWPRJw66C37", + "instance": null, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.Node", + "_name": "ImgVidSelect", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 25 + }, + "_children": [ + { + "__id__": 202 + }, + { + "__id__": 208 + }, + { + "__id__": 242 + } + ], + "_active": true, + "_components": [ + { + "__id__": 276 + }, + { + "__id__": 278 + } + ], + "_prefab": { + "__id__": 280 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -730.356, + "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": "bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 201 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 203 + }, + { + "__id__": 205 + } + ], + "_prefab": { + "__id__": 207 + }, "_lpos": { "__type__": "cc.Vec3", "x": 0, @@ -4558,11 +4929,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 202 }, "_enabled": true, "__prefab": { - "__id__": 185 + "__id__": 204 }, "_contentSize": { "__type__": "cc.Size", @@ -4586,11 +4957,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 183 + "__id__": 202 }, "_enabled": true, "__prefab": { - "__id__": 187 + "__id__": 206 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4644,33 +5015,33 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 182 + "__id__": 201 }, "_children": [ { - "__id__": 190 + "__id__": 209 }, { - "__id__": 202 + "__id__": 221 } ], "_active": true, "_components": [ { - "__id__": 214 + "__id__": 233 }, { - "__id__": 216 + "__id__": 235 }, { - "__id__": 218 + "__id__": 237 }, { - "__id__": 220 + "__id__": 239 } ], "_prefab": { - "__id__": 222 + "__id__": 241 }, "_lpos": { "__type__": "cc.Vec3", @@ -4707,24 +5078,24 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 189 + "__id__": 208 }, "_children": [ { - "__id__": 191 + "__id__": 210 } ], "_active": true, "_components": [ { - "__id__": 197 + "__id__": 216 }, { - "__id__": 199 + "__id__": 218 } ], "_prefab": { - "__id__": 201 + "__id__": 220 }, "_lpos": { "__type__": "cc.Vec3", @@ -4761,20 +5132,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 190 + "__id__": 209 }, "_children": [], "_active": true, "_components": [ { - "__id__": 192 + "__id__": 211 }, { - "__id__": 194 + "__id__": 213 } ], "_prefab": { - "__id__": 196 + "__id__": 215 }, "_lpos": { "__type__": "cc.Vec3", @@ -4811,11 +5182,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 191 + "__id__": 210 }, "_enabled": true, "__prefab": { - "__id__": 193 + "__id__": 212 }, "_contentSize": { "__type__": "cc.Size", @@ -4839,11 +5210,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 191 + "__id__": 210 }, "_enabled": true, "__prefab": { - "__id__": 195 + "__id__": 214 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4897,11 +5268,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 190 + "__id__": 209 }, "_enabled": true, "__prefab": { - "__id__": 198 + "__id__": 217 }, "_contentSize": { "__type__": "cc.Size", @@ -4925,11 +5296,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 190 + "__id__": 209 }, "_enabled": true, "__prefab": { - "__id__": 200 + "__id__": 219 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -4983,24 +5354,24 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 189 + "__id__": 208 }, "_children": [ { - "__id__": 203 + "__id__": 222 } ], "_active": true, "_components": [ { - "__id__": 209 + "__id__": 228 }, { - "__id__": 211 + "__id__": 230 } ], "_prefab": { - "__id__": 213 + "__id__": 232 }, "_lpos": { "__type__": "cc.Vec3", @@ -5037,20 +5408,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 202 + "__id__": 221 }, "_children": [], "_active": true, "_components": [ { - "__id__": 204 + "__id__": 223 }, { - "__id__": 206 + "__id__": 225 } ], "_prefab": { - "__id__": 208 + "__id__": 227 }, "_lpos": { "__type__": "cc.Vec3", @@ -5087,11 +5458,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 203 + "__id__": 222 }, "_enabled": true, "__prefab": { - "__id__": 205 + "__id__": 224 }, "_contentSize": { "__type__": "cc.Size", @@ -5115,11 +5486,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 203 + "__id__": 222 }, "_enabled": true, "__prefab": { - "__id__": 207 + "__id__": 226 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5173,11 +5544,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 202 + "__id__": 221 }, "_enabled": true, "__prefab": { - "__id__": 210 + "__id__": 229 }, "_contentSize": { "__type__": "cc.Size", @@ -5201,11 +5572,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 202 + "__id__": 221 }, "_enabled": true, "__prefab": { - "__id__": 212 + "__id__": 231 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5259,11 +5630,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 189 + "__id__": 208 }, "_enabled": true, "__prefab": { - "__id__": 215 + "__id__": 234 }, "_contentSize": { "__type__": "cc.Size", @@ -5287,11 +5658,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 189 + "__id__": 208 }, "_enabled": true, "__prefab": { - "__id__": 217 + "__id__": 236 }, "_alignFlags": 5, "_target": null, @@ -5323,17 +5694,17 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 189 + "__id__": 208 }, "_enabled": true, "__prefab": { - "__id__": 219 + "__id__": 238 }, "selectedSprite": { - "__id__": 211 + "__id__": 230 }, "unSelectedSprite": { - "__id__": 199 + "__id__": 218 }, "_id": "" }, @@ -5347,11 +5718,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 189 + "__id__": 208 }, "_enabled": true, "__prefab": { - "__id__": 221 + "__id__": 240 }, "clickEvents": [], "_interactable": true, @@ -5416,33 +5787,33 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 182 + "__id__": 201 }, "_children": [ { - "__id__": 224 + "__id__": 243 }, { - "__id__": 236 + "__id__": 255 } ], "_active": true, "_components": [ { - "__id__": 248 + "__id__": 267 }, { - "__id__": 250 + "__id__": 269 }, { - "__id__": 252 + "__id__": 271 }, { - "__id__": 254 + "__id__": 273 } ], "_prefab": { - "__id__": 256 + "__id__": 275 }, "_lpos": { "__type__": "cc.Vec3", @@ -5479,24 +5850,24 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 223 + "__id__": 242 }, "_children": [ { - "__id__": 225 + "__id__": 244 } ], "_active": true, "_components": [ { - "__id__": 231 + "__id__": 250 }, { - "__id__": 233 + "__id__": 252 } ], "_prefab": { - "__id__": 235 + "__id__": 254 }, "_lpos": { "__type__": "cc.Vec3", @@ -5533,20 +5904,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 224 + "__id__": 243 }, "_children": [], "_active": true, "_components": [ { - "__id__": 226 + "__id__": 245 }, { - "__id__": 228 + "__id__": 247 } ], "_prefab": { - "__id__": 230 + "__id__": 249 }, "_lpos": { "__type__": "cc.Vec3", @@ -5583,11 +5954,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 225 + "__id__": 244 }, "_enabled": true, "__prefab": { - "__id__": 227 + "__id__": 246 }, "_contentSize": { "__type__": "cc.Size", @@ -5611,11 +5982,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 225 + "__id__": 244 }, "_enabled": true, "__prefab": { - "__id__": 229 + "__id__": 248 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5669,11 +6040,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 224 + "__id__": 243 }, "_enabled": true, "__prefab": { - "__id__": 232 + "__id__": 251 }, "_contentSize": { "__type__": "cc.Size", @@ -5697,11 +6068,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 224 + "__id__": 243 }, "_enabled": true, "__prefab": { - "__id__": 234 + "__id__": 253 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5755,24 +6126,24 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 223 + "__id__": 242 }, "_children": [ { - "__id__": 237 + "__id__": 256 } ], "_active": false, "_components": [ { - "__id__": 243 + "__id__": 262 }, { - "__id__": 245 + "__id__": 264 } ], "_prefab": { - "__id__": 247 + "__id__": 266 }, "_lpos": { "__type__": "cc.Vec3", @@ -5809,20 +6180,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 236 + "__id__": 255 }, "_children": [], "_active": true, "_components": [ { - "__id__": 238 + "__id__": 257 }, { - "__id__": 240 + "__id__": 259 } ], "_prefab": { - "__id__": 242 + "__id__": 261 }, "_lpos": { "__type__": "cc.Vec3", @@ -5859,11 +6230,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 256 }, "_enabled": true, "__prefab": { - "__id__": 239 + "__id__": 258 }, "_contentSize": { "__type__": "cc.Size", @@ -5887,11 +6258,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 237 + "__id__": 256 }, "_enabled": true, "__prefab": { - "__id__": 241 + "__id__": 260 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -5945,11 +6316,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 236 + "__id__": 255 }, "_enabled": true, "__prefab": { - "__id__": 244 + "__id__": 263 }, "_contentSize": { "__type__": "cc.Size", @@ -5973,11 +6344,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 236 + "__id__": 255 }, "_enabled": true, "__prefab": { - "__id__": 246 + "__id__": 265 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6031,11 +6402,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 223 + "__id__": 242 }, "_enabled": true, "__prefab": { - "__id__": 249 + "__id__": 268 }, "_contentSize": { "__type__": "cc.Size", @@ -6059,11 +6430,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 223 + "__id__": 242 }, "_enabled": true, "__prefab": { - "__id__": 251 + "__id__": 270 }, "_alignFlags": 5, "_target": null, @@ -6095,17 +6466,17 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 223 + "__id__": 242 }, "_enabled": true, "__prefab": { - "__id__": 253 + "__id__": 272 }, "selectedSprite": { - "__id__": 245 + "__id__": 264 }, "unSelectedSprite": { - "__id__": 233 + "__id__": 252 }, "_id": "" }, @@ -6119,11 +6490,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 223 + "__id__": 242 }, "_enabled": true, "__prefab": { - "__id__": 255 + "__id__": 274 }, "clickEvents": [], "_interactable": true, @@ -6188,11 +6559,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 182 + "__id__": 201 }, "_enabled": true, "__prefab": { - "__id__": 258 + "__id__": 277 }, "_contentSize": { "__type__": "cc.Size", @@ -6210,53 +6581,17 @@ "__type__": "cc.CompPrefabInfo", "fileId": "b1m72SvaVKAK7GdZr/t17L" }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 182 - }, - "_enabled": true, - "__prefab": { - "__id__": 260 - }, - "_alignFlags": 40, - "_target": null, - "_left": 5, - "_right": 5, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1080, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e88rgcg55AqZxV9k9w6zW7" - }, { "__type__": "bf84cFZb6NCEZf2LJYYvZus", "_name": "", "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 182 + "__id__": 201 }, "_enabled": true, "__prefab": { - "__id__": 262 + "__id__": 279 }, "_id": "" }, @@ -6277,289 +6612,6 @@ "targetOverrides": null, "nestedPrefabInstanceRoots": null }, - { - "__type__": "cc.Node", - "_name": "ImageContent", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 26 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 265 - }, - { - "__id__": 267 - }, - { - "__id__": 269 - } - ], - "_prefab": { - "__id__": 271 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -1662.4000000000003, - "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.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 264 - }, - "_enabled": true, - "__prefab": { - "__id__": 266 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1027.3, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 1 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7bi+RIXnFECKH2/m3BG8iV" - }, - { - "__type__": "cc.Layout", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 264 - }, - "_enabled": true, - "__prefab": { - "__id__": 268 - }, - "_resizeMode": 1, - "_layoutType": 3, - "_cellSize": { - "__type__": "cc.Size", - "width": 360, - "height": 480 - }, - "_startAxis": 0, - "_paddingLeft": 0, - "_paddingRight": 0, - "_paddingTop": 0, - "_paddingBottom": 0, - "_spacingX": 2, - "_spacingY": 2, - "_verticalDirection": 1, - "_horizontalDirection": 0, - "_constraint": 0, - "_constraintNum": 2, - "_affectedByScale": false, - "_isAlign": false, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "fdOaVk/kVEGb/gczTlkZxp" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 264 - }, - "_enabled": true, - "__prefab": { - "__id__": 270 - }, - "_alignFlags": 40, - "_target": null, - "_left": 26.350000000000023, - "_right": 26.350000000000023, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1170, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "1fDCnPe1ZMpbNLjDtxq7vo" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "93dAiS3fFNcbPNEaVTnY6H", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 26 - }, - "_enabled": true, - "__prefab": { - "__id__": 273 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 1662.3999999999999 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 1 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d1mbIyIUtGMYdp3Nlzj++1" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 26 - }, - "_enabled": true, - "__prefab": { - "__id__": 275 - }, - "_alignFlags": 41, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": -980.7719999999999, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 220, - "_originalHeight": 769, - "_alignMode": 2, - "_lockFlags": 1, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e1K0mBNstCZZb0hRTxyqFW" - }, - { - "__type__": "cc.Layout", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 26 - }, - "_enabled": true, - "__prefab": { - "__id__": 277 - }, - "_resizeMode": 1, - "_layoutType": 2, - "_cellSize": { - "__type__": "cc.Size", - "width": 40, - "height": 40 - }, - "_startAxis": 0, - "_paddingLeft": 0, - "_paddingRight": 0, - "_paddingTop": 0, - "_paddingBottom": 0, - "_spacingX": 0, - "_spacingY": 12.9, - "_verticalDirection": 1, - "_horizontalDirection": 0, - "_constraint": 0, - "_constraintNum": 2, - "_affectedByScale": false, - "_isAlign": false, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ed9bNZKt5P3ayClbzZem0C" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "a8jgwzPNtJVpWPRJw66C37", - "instance": null, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, { "__type__": "cc.UITransform", "_name": "", @@ -6570,7 +6622,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 280 + "__id__": 282 }, "_contentSize": { "__type__": "cc.Size", @@ -6598,7 +6650,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 282 + "__id__": 284 }, "_type": 0, "_inverted": false, @@ -6620,7 +6672,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 284 + "__id__": 286 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6666,7 +6718,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 286 + "__id__": 288 }, "_alignFlags": 45, "_target": null, @@ -6715,7 +6767,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 289 + "__id__": 291 }, "_contentSize": { "__type__": "cc.Size", @@ -6743,7 +6795,7 @@ }, "_enabled": false, "__prefab": { - "__id__": 291 + "__id__": 293 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -6788,7 +6840,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 293 + "__id__": 295 }, "bounceDuration": 0.23, "brake": 0.75, @@ -6819,7 +6871,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 295 + "__id__": 297 }, "_alignFlags": 45, "_target": null, @@ -6868,26 +6920,23 @@ }, "_children": [ { - "__id__": 298 + "__id__": 300 }, { - "__id__": 304 + "__id__": 306 }, { - "__id__": 328 + "__id__": 330 }, { - "__id__": 334 + "__id__": 336 }, { - "__id__": 340 + "__id__": 342 } ], "_active": true, "_components": [ - { - "__id__": 360 - }, { "__id__": 362 }, @@ -6899,10 +6948,13 @@ }, { "__id__": 368 + }, + { + "__id__": 370 } ], "_prefab": { - "__id__": 370 + "__id__": 372 }, "_lpos": { "__type__": "cc.Vec3", @@ -6939,20 +6991,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 297 + "__id__": 299 }, "_children": [], "_active": true, "_components": [ { - "__id__": 299 + "__id__": 301 }, { - "__id__": 301 + "__id__": 303 } ], "_prefab": { - "__id__": 303 + "__id__": 305 }, "_lpos": { "__type__": "cc.Vec3", @@ -6989,11 +7041,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 298 + "__id__": 300 }, "_enabled": true, "__prefab": { - "__id__": 300 + "__id__": 302 }, "_contentSize": { "__type__": "cc.Size", @@ -7017,11 +7069,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 298 + "__id__": 300 }, "_enabled": true, "__prefab": { - "__id__": 302 + "__id__": 304 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7075,30 +7127,30 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 297 + "__id__": 299 }, "_children": [ { - "__id__": 305 + "__id__": 307 }, { - "__id__": 313 + "__id__": 315 } ], "_active": true, "_components": [ - { - "__id__": 321 - }, { "__id__": 323 }, { "__id__": 325 + }, + { + "__id__": 327 } ], "_prefab": { - "__id__": 327 + "__id__": 329 }, "_lpos": { "__type__": "cc.Vec3", @@ -7135,23 +7187,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 304 + "__id__": 306 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 306 - }, { "__id__": 308 }, { "__id__": 310 + }, + { + "__id__": 312 } ], "_prefab": { - "__id__": 312 + "__id__": 314 }, "_lpos": { "__type__": "cc.Vec3", @@ -7188,11 +7240,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 305 + "__id__": 307 }, "_enabled": true, "__prefab": { - "__id__": 307 + "__id__": 309 }, "_contentSize": { "__type__": "cc.Size", @@ -7216,11 +7268,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 305 + "__id__": 307 }, "_enabled": true, "__prefab": { - "__id__": 309 + "__id__": 311 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7261,11 +7313,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 305 + "__id__": 307 }, "_enabled": true, "__prefab": { - "__id__": 311 + "__id__": 313 }, "_alignFlags": 45, "_target": null, @@ -7310,23 +7362,23 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 304 + "__id__": 306 }, "_children": [], "_active": true, "_components": [ - { - "__id__": 314 - }, { "__id__": 316 }, { "__id__": 318 + }, + { + "__id__": 320 } ], "_prefab": { - "__id__": 320 + "__id__": 322 }, "_lpos": { "__type__": "cc.Vec3", @@ -7363,11 +7415,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 313 + "__id__": 315 }, "_enabled": true, "__prefab": { - "__id__": 315 + "__id__": 317 }, "_contentSize": { "__type__": "cc.Size", @@ -7391,11 +7443,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 313 + "__id__": 315 }, "_enabled": true, "__prefab": { - "__id__": 317 + "__id__": 319 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7436,11 +7488,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 313 + "__id__": 315 }, "_enabled": true, "__prefab": { - "__id__": 319 + "__id__": 321 }, "playOnLoad": true, "_clips": [ @@ -7478,11 +7530,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 304 + "__id__": 306 }, "_enabled": true, "__prefab": { - "__id__": 322 + "__id__": 324 }, "_contentSize": { "__type__": "cc.Size", @@ -7506,11 +7558,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 304 + "__id__": 306 }, "_enabled": true, "__prefab": { - "__id__": 324 + "__id__": 326 }, "_alignFlags": 45, "_target": null, @@ -7542,14 +7594,14 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 304 + "__id__": 306 }, "_enabled": true, "__prefab": { - "__id__": 326 + "__id__": 328 }, "animation": { - "__id__": 318 + "__id__": 320 }, "_id": "" }, @@ -7576,20 +7628,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 297 + "__id__": 299 }, "_children": [], "_active": true, "_components": [ { - "__id__": 329 + "__id__": 331 }, { - "__id__": 331 + "__id__": 333 } ], "_prefab": { - "__id__": 333 + "__id__": 335 }, "_lpos": { "__type__": "cc.Vec3", @@ -7626,11 +7678,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 328 + "__id__": 330 }, "_enabled": true, "__prefab": { - "__id__": 330 + "__id__": 332 }, "_contentSize": { "__type__": "cc.Size", @@ -7654,11 +7706,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 328 + "__id__": 330 }, "_enabled": true, "__prefab": { - "__id__": 332 + "__id__": 334 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7712,20 +7764,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 297 + "__id__": 299 }, "_children": [], "_active": true, "_components": [ { - "__id__": 335 + "__id__": 337 }, { - "__id__": 337 + "__id__": 339 } ], "_prefab": { - "__id__": 339 + "__id__": 341 }, "_lpos": { "__type__": "cc.Vec3", @@ -7762,11 +7814,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 334 + "__id__": 336 }, "_enabled": true, "__prefab": { - "__id__": 336 + "__id__": 338 }, "_contentSize": { "__type__": "cc.Size", @@ -7790,11 +7842,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 334 + "__id__": 336 }, "_enabled": true, "__prefab": { - "__id__": 338 + "__id__": 340 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -7848,30 +7900,30 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 297 + "__id__": 299 }, "_children": [ { - "__id__": 341 + "__id__": 343 }, { - "__id__": 347 + "__id__": 349 } ], "_active": true, "_components": [ - { - "__id__": 353 - }, { "__id__": 355 }, { "__id__": 357 + }, + { + "__id__": 359 } ], "_prefab": { - "__id__": 359 + "__id__": 361 }, "_lpos": { "__type__": "cc.Vec3", @@ -7908,20 +7960,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 340 + "__id__": 342 }, "_children": [], "_active": true, "_components": [ { - "__id__": 342 + "__id__": 344 }, { - "__id__": 344 + "__id__": 346 } ], "_prefab": { - "__id__": 346 + "__id__": 348 }, "_lpos": { "__type__": "cc.Vec3", @@ -7958,11 +8010,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 341 + "__id__": 343 }, "_enabled": true, "__prefab": { - "__id__": 343 + "__id__": 345 }, "_contentSize": { "__type__": "cc.Size", @@ -7986,11 +8038,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 341 + "__id__": 343 }, "_enabled": true, "__prefab": { - "__id__": 345 + "__id__": 347 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8067,20 +8119,20 @@ "_objFlags": 0, "__editorExtras__": {}, "_parent": { - "__id__": 340 + "__id__": 342 }, "_children": [], "_active": true, "_components": [ { - "__id__": 348 + "__id__": 350 }, { - "__id__": 350 + "__id__": 352 } ], "_prefab": { - "__id__": 352 + "__id__": 354 }, "_lpos": { "__type__": "cc.Vec3", @@ -8117,11 +8169,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 347 + "__id__": 349 }, "_enabled": true, "__prefab": { - "__id__": 349 + "__id__": 351 }, "_contentSize": { "__type__": "cc.Size", @@ -8145,11 +8197,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 347 + "__id__": 349 }, "_enabled": true, "__prefab": { - "__id__": 351 + "__id__": 353 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8203,11 +8255,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 340 + "__id__": 342 }, "_enabled": true, "__prefab": { - "__id__": 354 + "__id__": 356 }, "_contentSize": { "__type__": "cc.Size", @@ -8231,11 +8283,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 340 + "__id__": 342 }, "_enabled": true, "__prefab": { - "__id__": 356 + "__id__": 358 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8276,11 +8328,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 340 + "__id__": 342 }, "_enabled": true, "__prefab": { - "__id__": 358 + "__id__": 360 }, "_alignFlags": 9, "_target": null, @@ -8325,11 +8377,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 297 + "__id__": 299 }, "_enabled": true, "__prefab": { - "__id__": 361 + "__id__": 363 }, "_contentSize": { "__type__": "cc.Size", @@ -8353,11 +8405,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 297 + "__id__": 299 }, "_enabled": true, "__prefab": { - "__id__": 363 + "__id__": 365 }, "clickEvents": [], "_interactable": true, @@ -8397,7 +8449,7 @@ "_duration": 0.1, "_zoomScale": 0.95, "_target": { - "__id__": 297 + "__id__": 299 }, "_id": "" }, @@ -8411,29 +8463,29 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 297 + "__id__": 299 }, "_enabled": true, "__prefab": { - "__id__": 365 + "__id__": 367 }, "img": { - "__id__": 301 + "__id__": 303 }, "question": { - "__id__": 328 + "__id__": 330 }, "video": { - "__id__": 337 + "__id__": 339 }, "priceFrame": { - "__id__": 340 + "__id__": 342 }, "videoPrice": { - "__id__": 344 + "__id__": 346 }, "loading": { - "__id__": 304 + "__id__": 306 }, "_id": "" }, @@ -8447,11 +8499,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 297 + "__id__": 299 }, "_enabled": true, "__prefab": { - "__id__": 367 + "__id__": 369 }, "_type": 0, "_inverted": false, @@ -8469,11 +8521,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 297 + "__id__": 299 }, "_enabled": true, "__prefab": { - "__id__": 369 + "__id__": 371 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8532,7 +8584,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 372 + "__id__": 374 }, "_contentSize": { "__type__": "cc.Size", @@ -8560,7 +8612,7 @@ }, "_enabled": false, "__prefab": { - "__id__": 374 + "__id__": 376 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8605,7 +8657,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 376 + "__id__": 378 }, "_alignFlags": 45, "_target": null, @@ -8655,9 +8707,6 @@ "_children": [], "_active": true, "_components": [ - { - "__id__": 379 - }, { "__id__": 381 }, @@ -8665,11 +8714,14 @@ "__id__": 383 }, { - "__id__": 386 + "__id__": 385 + }, + { + "__id__": 388 } ], "_prefab": { - "__id__": 388 + "__id__": 390 }, "_lpos": { "__type__": "cc.Vec3", @@ -8706,11 +8758,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 378 + "__id__": 380 }, "_enabled": true, "__prefab": { - "__id__": 380 + "__id__": 382 }, "_contentSize": { "__type__": "cc.Size", @@ -8734,11 +8786,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 378 + "__id__": 380 }, "_enabled": true, "__prefab": { - "__id__": 382 + "__id__": 384 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8779,15 +8831,15 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 378 + "__id__": 380 }, "_enabled": true, "__prefab": { - "__id__": 384 + "__id__": 386 }, "clickEvents": [ { - "__id__": 385 + "__id__": 387 } ], "_interactable": true, @@ -8827,7 +8879,7 @@ "_duration": 0.1, "_zoomScale": 0.9, "_target": { - "__id__": 378 + "__id__": 380 }, "_id": "" }, @@ -8851,11 +8903,11 @@ "_objFlags": 0, "__editorExtras__": {}, "node": { - "__id__": 378 + "__id__": 380 }, "_enabled": true, "__prefab": { - "__id__": 387 + "__id__": 389 }, "_alignFlags": 9, "_target": null, @@ -8904,7 +8956,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 390 + "__id__": 392 }, "_contentSize": { "__type__": "cc.Size", @@ -8932,7 +8984,7 @@ }, "_enabled": false, "__prefab": { - "__id__": 392 + "__id__": 394 }, "_customMaterial": null, "_srcBlendFactor": 2, @@ -8974,7 +9026,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 394 + "__id__": 396 }, "_alignFlags": 45, "_target": null, @@ -9023,7 +9075,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 397 + "__id__": 399 }, "_contentSize": { "__type__": "cc.Size", @@ -9051,7 +9103,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 399 + "__id__": 401 }, "_alignFlags": 45, "_target": null, @@ -9087,7 +9139,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 401 + "__id__": 403 }, "_id": "" }, @@ -9105,7 +9157,7 @@ }, "_enabled": true, "__prefab": { - "__id__": 403 + "__id__": 405 }, "m_rootNode": null, "videoArea": { @@ -9115,10 +9167,10 @@ "__id__": 53 }, "imgToggle": { - "__id__": 218 + "__id__": 237 }, "videoToggle": { - "__id__": 252 + "__id__": 271 }, "starParent": { "__id__": 58 @@ -9139,10 +9191,10 @@ "__id__": 17 }, "imgItemInst": { - "__id__": 364 + "__id__": 366 }, "imgsLayout": { - "__id__": 264 + "__id__": 186 }, "girlPrice": { "__id__": 122 diff --git a/assets/bundles/Chat18x/Web3PopPanel.prefab b/assets/bundles/Chat18x/Web3PopPanel.prefab index 1fbce173..6fe5db3b 100644 --- a/assets/bundles/Chat18x/Web3PopPanel.prefab +++ b/assets/bundles/Chat18x/Web3PopPanel.prefab @@ -4062,7 +4062,7 @@ }, { "__type__": "cc.Node", - "_name": "ENT_BEP", + "_name": "ENT_ETH", "_objFlags": 0, "__editorExtras__": {}, "_parent": { @@ -4511,7 +4511,7 @@ }, { "__type__": "cc.Node", - "_name": "ENT_ETH", + "_name": "ENT_BEP", "_objFlags": 0, "__editorExtras__": {}, "_parent": { diff --git a/assets/bundles/DataTable/tblanguage.bin b/assets/bundles/DataTable/tblanguage.bin index 94f10c01d6e19a17ede706d55d0c9bc353e5de47..7ad612c8fd79d2b7aeec3e483841c9db1468abd4 100644 GIT binary patch delta 49 zcmV-10M7q_gaYM*0L2_ph7B9q|>9}(k#f`E$Pq=w+6s^FxR;H8U`9twW5 Hp9*1j0TC7} delta 77 zcmaFb%+%1rv|$4$qyFTLoXWfkB^jv-)g_e$skM3