From 25b380841f7954ec8fe15313686a7d464700e1d0 Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Tue, 2 Sep 2025 17:22:27 +0800 Subject: [PATCH 1/5] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=9A=E6=8A=80=E5=B8=88=E7=9A=84=E8=AF=A6=E7=BB=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat18x/config/GirlDetailConfig.ts | 14 +++++ .../network/services/MockGirlService.ts | 63 +++++++++++++++---- 2 files changed, 65 insertions(+), 12 deletions(-) diff --git a/assets/Scripts/chat18x/config/GirlDetailConfig.ts b/assets/Scripts/chat18x/config/GirlDetailConfig.ts index aec2477a..f708e52f 100644 --- a/assets/Scripts/chat18x/config/GirlDetailConfig.ts +++ b/assets/Scripts/chat18x/config/GirlDetailConfig.ts @@ -48,6 +48,13 @@ export class GirlDetailConfig extends BaseConfig { return oneData.commercialImages; } + /** 根据 id 获取 commercialImages数量 */ + public getCommercialImagesCount(id: number): any | null { + let oneData = this.getCommercialImagesById(id); + if (!oneData) return null; + return oneData.commercialImages.size; + } + /** 根据 id 和 index 获取图片类型 */ public getImageTypeById(id: number, index: number): number | null { let oneData = this.getCommercialImagesById(id); @@ -79,6 +86,13 @@ export class GirlDetailConfig extends BaseConfig { return oneData.commercialVideos; } + /** 根据 id 获取 commercialVideos数量 */ + public getCommercialVideosCount(id: number): any | null { + let oneData = this.getCommercialVideosById(id); + if (!oneData) return null; + return oneData.commercialVideos.size; + } + /** 根据 id 和 index 获取视频路径 */ public getVideoPathById(id: number, index: number): string | null { let oneData = this.getCommercialVideosById(id); diff --git a/assets/Scripts/chat18x/network/services/MockGirlService.ts b/assets/Scripts/chat18x/network/services/MockGirlService.ts index fd57a6cf..e76dadf7 100644 --- a/assets/Scripts/chat18x/network/services/MockGirlService.ts +++ b/assets/Scripts/chat18x/network/services/MockGirlService.ts @@ -3,11 +3,10 @@ import proto from "db://assets/Scripts/proto/proto.pb.js"; import type { IGirlService } from "./IGirlService"; import { ConfigManager, ConfigId } from "../../manager/ConfigManager"; import { GirlConfig } from "../../config/GirlConfig"; - +import { GirlDetailConfig } from "../../config/GirlDetailConfig"; export class MockGirlService implements IGirlService { private delay(ms = 180) { return new Promise(r => setTimeout(r, ms)); } private randInt(min: number, max: number) { return Math.floor(Math.random() * (max - min + 1)) + min; } - private pick(arr: T[]) { return arr[this.randInt(0, arr.length - 1)]; } private ok(data: T): ApiResponse { return ({ code: proto.cs.EnmRetCode.SUCCESS, data } as unknown) as ApiResponse; @@ -29,20 +28,29 @@ export class MockGirlService implements IGirlService { }; } - private genPhoto(idx: number): proto.cs.IGirlPhoto { - return { pic: `https://dummy.local/photo/${idx}.jpg`, isRelease: Math.random() < 0.5, price: 20 + (idx % 5) * 5 }; + private genPhoto(pic: string, isRelease: boolean, price: number): proto.cs.IGirlPhoto { + return { + pic, + isRelease, + price, + }; } - private genDetail(id: number): proto.cs.IGirlDetail { - const photos = Array.from({ length: 4 }, (_, i) => this.genPhoto(id * 10 + i)); - return { brief: this.genBrief(id, "", 1, "", 2, 3, "", 4), desc: `Mock detail for ${id}`, photos, isRelease: Math.random() < 0.4, chatCount: this.randInt(0, 5) }; + private genDetail(brief: proto.cs.IGirlBrief, desc: string, photos: proto.cs.IGirlPhoto[], isRelease: boolean, chatCount: number): proto.cs.IGirlDetail { + return { + brief, + desc, + photos, + isRelease, + chatCount, + }; } // 每日推荐 async reqDailyRecommend(_req: proto.cs.ICSDailyRecommendReq): Promise> { // 延时 await this.delay(180); - + // 配置数据 const configData = ConfigManager.I.getDataById(ConfigId.Girl); const allId = configData.getAllId(); const recId = allId[0]; @@ -63,7 +71,7 @@ export class MockGirlService implements IGirlService { async reqGetGirlList(req: proto.cs.ICSGetGirlListReq): Promise> { // 延时 await this.delay(200); - + // 配置数据 const configData = ConfigManager.I.getDataById(ConfigId.Girl); const allId = configData.getAllId(); @@ -100,14 +108,45 @@ export class MockGirlService implements IGirlService { return this.genBrief(id, name, age, tagKey, priceType, price, avatar, star); }); - + // 返回数据 return this.ok({ girls }); } // 获取技师详细信息 async reqGetGirlDetail(req: proto.cs.ICSGetGirlDetailReq): Promise> { + // 延时 await this.delay(160); - const id = req?.id ?? this.randInt(1, 9999); - return this.ok({ detail: this.genDetail(id) }); + // 配置数据 + const girlConfig = ConfigManager.I.getDataById(ConfigId.Girl); + const girlDetailConfig = ConfigManager.I.getDataById(ConfigId.GirlDetail); + // id + const girlId = req.id; + + let name = girlConfig.getNameById(girlId); + let age = Number(girlConfig.getAgeById(girlId)); + let tagKey = girlConfig.getTagKeyById(girlId); + let priceType = girlConfig.getPriceTypeById(girlId); + let price = 9.9; + let avatar = girlConfig.getAvatarPathById(girlId); + let star = 3; + let briefData = this.genBrief(girlId, name, age, tagKey, priceType, price, avatar, star); + + let desc = girlDetailConfig.getDetailDescById(girlId); + let isRelease = Math.random() < 0.4; + let chatCount = 10; + + let photoData = []; + let photoCount = girlDetailConfig.getCommercialImagesCount(girlId); + for (let i = 0; i < photoCount; i++) { + let imagePath = girlDetailConfig.getImagePathById(girlId, i); + let isImageRelease = Math.random() < 0.4; + let imagePrice = 9.9; + let onePhotoData = this.genPhoto(imagePath, isImageRelease, imagePrice); + photoData.push(onePhotoData); + } + + let detail = this.genDetail(briefData, desc, photoData, isRelease, chatCount); + + return this.ok({ detail }); } } From 2b88bf2083f39269fa241d6a4822700b7096b27d Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Wed, 3 Sep 2025 07:16:18 +0800 Subject: [PATCH 2/5] =?UTF-8?q?meta=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Girls/10001/video/10001_video_8.mp4.meta | 12 ++ .../video/10001_video_8_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10001_video_8_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10003/video/10003_video_6.mp4.meta | 12 ++ .../video/10003_video_6_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10003_video_6_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10003/video/10003_video_7.mp4.meta | 12 ++ .../video/10003_video_7_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10003_video_7_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10003/video/10003_video_8.mp4.meta | 12 ++ .../video/10003_video_8_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10003_video_8_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10005/video/10005_video_11.mp4.meta | 12 ++ .../video/10005_video_11_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10005_video_11_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10006/video/10006_video_7.mp4.meta | 12 ++ .../video/10006_video_7_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10006_video_7_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10008/video/10008_video_6.mp4.meta | 12 ++ .../video/10008_video_6_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10008_video_6_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10008/video/10008_video_7.mp4.meta | 12 ++ .../video/10008_video_7_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10008_video_7_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10009/video/10009_video_7.mp4.meta | 12 ++ .../video/10009_video_7_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10009_video_7_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10009/video/10009_video_8.mp4.meta | 12 ++ .../video/10009_video_8_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10009_video_8_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ .../Girls/10009/video/10009_video_9.mp4.meta | 12 ++ .../video/10009_video_9_thumbnail.jpg.meta | 134 ++++++++++++++++++ .../10009_video_9_thumbnail_blur.jpg.meta | 134 ++++++++++++++++++ 33 files changed, 3080 insertions(+) create mode 100644 assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail_blur.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9.mp4.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail.jpg.meta create mode 100644 assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail_blur.jpg.meta diff --git a/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8.mp4.meta new file mode 100644 index 00000000..05b34db0 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "ec3927f3-4b14-47ad-a5f7-17dd43b1a8ff", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail.jpg.meta new file mode 100644 index 00000000..decab1eb --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "38e14541-b13e-448f-a39f-42fd298c2675", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "38e14541-b13e-448f-a39f-42fd298c2675@6c48a", + "displayName": "10001_video_8_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "38e14541-b13e-448f-a39f-42fd298c2675", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "38e14541-b13e-448f-a39f-42fd298c2675@f9941", + "displayName": "10001_video_8_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "38e14541-b13e-448f-a39f-42fd298c2675@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "38e14541-b13e-448f-a39f-42fd298c2675@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..fd99d132 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10001/video/10001_video_8_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1@6c48a", + "displayName": "10001_video_8_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1@f9941", + "displayName": "10001_video_8_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "8cff273a-a89b-4fcb-bde3-15e6cb91b2b1@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6.mp4.meta new file mode 100644 index 00000000..89b54c16 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "d8c2ad5a-acb8-4384-97c5-e69e342a174a", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail.jpg.meta new file mode 100644 index 00000000..5e6df8f7 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d@6c48a", + "displayName": "10003_video_6_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d@f9941", + "displayName": "10003_video_6_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "085d0872-8b6a-4cbf-8fbd-17c3cc29d45d@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..31f54936 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_6_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7@6c48a", + "displayName": "10003_video_6_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7@f9941", + "displayName": "10003_video_6_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "074f3b7d-fa63-4541-976c-73cfd9f8d9a7@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7.mp4.meta new file mode 100644 index 00000000..eed4ee09 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "421dbb1b-731a-4bcf-a843-4c2688b05a39", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail.jpg.meta new file mode 100644 index 00000000..27b8b824 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "6cbe27dd-e989-49fe-8a7f-764655cc29ae", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "6cbe27dd-e989-49fe-8a7f-764655cc29ae@6c48a", + "displayName": "10003_video_7_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "6cbe27dd-e989-49fe-8a7f-764655cc29ae", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "6cbe27dd-e989-49fe-8a7f-764655cc29ae@f9941", + "displayName": "10003_video_7_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "6cbe27dd-e989-49fe-8a7f-764655cc29ae@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "6cbe27dd-e989-49fe-8a7f-764655cc29ae@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..1dfbad39 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_7_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "f75597ee-eede-4482-ab13-36394b85ade4", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "f75597ee-eede-4482-ab13-36394b85ade4@6c48a", + "displayName": "10003_video_7_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "f75597ee-eede-4482-ab13-36394b85ade4", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "f75597ee-eede-4482-ab13-36394b85ade4@f9941", + "displayName": "10003_video_7_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "f75597ee-eede-4482-ab13-36394b85ade4@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "f75597ee-eede-4482-ab13-36394b85ade4@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8.mp4.meta new file mode 100644 index 00000000..7a8a52e9 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "b8614a6f-a12a-4fc5-bd8b-fcb592a0571c", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail.jpg.meta new file mode 100644 index 00000000..8e38f317 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "9b93d4ff-820d-4377-b074-0f489a18368f", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "9b93d4ff-820d-4377-b074-0f489a18368f@6c48a", + "displayName": "10003_video_8_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "9b93d4ff-820d-4377-b074-0f489a18368f", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "9b93d4ff-820d-4377-b074-0f489a18368f@f9941", + "displayName": "10003_video_8_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "9b93d4ff-820d-4377-b074-0f489a18368f@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "9b93d4ff-820d-4377-b074-0f489a18368f@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..711a8062 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10003/video/10003_video_8_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "04e353b4-fde2-4167-a080-dfa2acff2734", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "04e353b4-fde2-4167-a080-dfa2acff2734@6c48a", + "displayName": "10003_video_8_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "04e353b4-fde2-4167-a080-dfa2acff2734", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "04e353b4-fde2-4167-a080-dfa2acff2734@f9941", + "displayName": "10003_video_8_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "04e353b4-fde2-4167-a080-dfa2acff2734@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "04e353b4-fde2-4167-a080-dfa2acff2734@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11.mp4.meta new file mode 100644 index 00000000..fa0f80e0 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "3b9fb5b6-a40f-4c7a-8ee1-d8e5b58783dd", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail.jpg.meta new file mode 100644 index 00000000..985cc885 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "718227fe-b967-4931-b3ca-c3086b69fecc", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "718227fe-b967-4931-b3ca-c3086b69fecc@6c48a", + "displayName": "10005_video_11_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "718227fe-b967-4931-b3ca-c3086b69fecc", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "718227fe-b967-4931-b3ca-c3086b69fecc@f9941", + "displayName": "10005_video_11_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "718227fe-b967-4931-b3ca-c3086b69fecc@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "718227fe-b967-4931-b3ca-c3086b69fecc@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..8453378d --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10005/video/10005_video_11_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "1b83ad14-4812-4295-90dc-8224a078d581", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "1b83ad14-4812-4295-90dc-8224a078d581@6c48a", + "displayName": "10005_video_11_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "1b83ad14-4812-4295-90dc-8224a078d581", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "1b83ad14-4812-4295-90dc-8224a078d581@f9941", + "displayName": "10005_video_11_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "1b83ad14-4812-4295-90dc-8224a078d581@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "1b83ad14-4812-4295-90dc-8224a078d581@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7.mp4.meta new file mode 100644 index 00000000..ad78e742 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "86caca74-bdf0-4ea5-8677-6ee6186516fb", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail.jpg.meta new file mode 100644 index 00000000..84eea921 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "f6d0c45b-9b19-4552-bb0e-e007f906b300", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "f6d0c45b-9b19-4552-bb0e-e007f906b300@6c48a", + "displayName": "10006_video_7_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "f6d0c45b-9b19-4552-bb0e-e007f906b300", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "f6d0c45b-9b19-4552-bb0e-e007f906b300@f9941", + "displayName": "10006_video_7_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "f6d0c45b-9b19-4552-bb0e-e007f906b300@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "f6d0c45b-9b19-4552-bb0e-e007f906b300@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..901c42e8 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10006/video/10006_video_7_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "c03407b7-c917-4746-9c9d-d015087141f8", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "c03407b7-c917-4746-9c9d-d015087141f8@6c48a", + "displayName": "10006_video_7_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "c03407b7-c917-4746-9c9d-d015087141f8", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "c03407b7-c917-4746-9c9d-d015087141f8@f9941", + "displayName": "10006_video_7_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 384, + "height": 672, + "rawWidth": 384, + "rawHeight": 672, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -192, + -336, + 0, + 192, + -336, + 0, + -192, + 336, + 0, + 192, + 336, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 672, + 384, + 672, + 0, + 0, + 384, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -192, + -336, + 0 + ], + "maxPos": [ + 192, + 336, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "c03407b7-c917-4746-9c9d-d015087141f8@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "c03407b7-c917-4746-9c9d-d015087141f8@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6.mp4.meta new file mode 100644 index 00000000..64309ec1 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "985d4ac9-4e8a-4f28-a5f6-9ce959140986", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail.jpg.meta new file mode 100644 index 00000000..8b23c80a --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "c33035ec-996f-467f-be62-0eac1ed8fd45", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "c33035ec-996f-467f-be62-0eac1ed8fd45@6c48a", + "displayName": "10008_video_6_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "c33035ec-996f-467f-be62-0eac1ed8fd45", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "c33035ec-996f-467f-be62-0eac1ed8fd45@f9941", + "displayName": "10008_video_6_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 672, + "height": 864, + "rawWidth": 672, + "rawHeight": 864, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -336, + -432, + 0, + 336, + -432, + 0, + -336, + 432, + 0, + 336, + 432, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 864, + 672, + 864, + 0, + 0, + 672, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -336, + -432, + 0 + ], + "maxPos": [ + 336, + 432, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "c33035ec-996f-467f-be62-0eac1ed8fd45@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "c33035ec-996f-467f-be62-0eac1ed8fd45@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..514f3bed --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_6_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "f0222151-ffe1-4aaa-9b0f-c8233364f55e", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "f0222151-ffe1-4aaa-9b0f-c8233364f55e@6c48a", + "displayName": "10008_video_6_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "f0222151-ffe1-4aaa-9b0f-c8233364f55e", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "f0222151-ffe1-4aaa-9b0f-c8233364f55e@f9941", + "displayName": "10008_video_6_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 672, + "height": 864, + "rawWidth": 672, + "rawHeight": 864, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -336, + -432, + 0, + 336, + -432, + 0, + -336, + 432, + 0, + 336, + 432, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 864, + 672, + 864, + 0, + 0, + 672, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -336, + -432, + 0 + ], + "maxPos": [ + 336, + 432, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "f0222151-ffe1-4aaa-9b0f-c8233364f55e@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "f0222151-ffe1-4aaa-9b0f-c8233364f55e@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7.mp4.meta new file mode 100644 index 00000000..5464fd70 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "3157e9fa-d9ca-4a42-92d7-0a5196eba484", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail.jpg.meta new file mode 100644 index 00000000..d0a6d720 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "5bc51a0f-a349-4347-b8b8-8a1d1c410124", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "5bc51a0f-a349-4347-b8b8-8a1d1c410124@6c48a", + "displayName": "10008_video_7_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "5bc51a0f-a349-4347-b8b8-8a1d1c410124", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "5bc51a0f-a349-4347-b8b8-8a1d1c410124@f9941", + "displayName": "10008_video_7_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "5bc51a0f-a349-4347-b8b8-8a1d1c410124@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "5bc51a0f-a349-4347-b8b8-8a1d1c410124@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..fd42c51d --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10008/video/10008_video_7_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df@6c48a", + "displayName": "10008_video_7_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df@f9941", + "displayName": "10008_video_7_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "c1bf54b1-a4f2-4ea2-8751-aec1d4e0a8df@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7.mp4.meta new file mode 100644 index 00000000..e240cbad --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "ad26e84e-f670-48c1-9989-679328013e62", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail.jpg.meta new file mode 100644 index 00000000..73098c4a --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "da1d98ed-f7d0-411b-9d72-9131198edcf5", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "da1d98ed-f7d0-411b-9d72-9131198edcf5@6c48a", + "displayName": "10009_video_7_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "da1d98ed-f7d0-411b-9d72-9131198edcf5", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "da1d98ed-f7d0-411b-9d72-9131198edcf5@f9941", + "displayName": "10009_video_7_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "da1d98ed-f7d0-411b-9d72-9131198edcf5@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "da1d98ed-f7d0-411b-9d72-9131198edcf5@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..accf47eb --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_7_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "68e9528a-24a6-47b5-a308-e6012ca3e188", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "68e9528a-24a6-47b5-a308-e6012ca3e188@6c48a", + "displayName": "10009_video_7_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "68e9528a-24a6-47b5-a308-e6012ca3e188", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "68e9528a-24a6-47b5-a308-e6012ca3e188@f9941", + "displayName": "10009_video_7_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "68e9528a-24a6-47b5-a308-e6012ca3e188@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "68e9528a-24a6-47b5-a308-e6012ca3e188@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8.mp4.meta new file mode 100644 index 00000000..212ad3ee --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "28e7eecb-35d6-4256-ba8f-69fa30e4e01e", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail.jpg.meta new file mode 100644 index 00000000..3cb46dab --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf@6c48a", + "displayName": "10009_video_8_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf@f9941", + "displayName": "10009_video_8_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "d4a80ab5-8c0f-4bd6-89d7-362119ff1ccf@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..33cf1907 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_8_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd@6c48a", + "displayName": "10009_video_8_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd@f9941", + "displayName": "10009_video_8_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "ebe5d7f4-9215-475d-9b31-fb7f76d811dd@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9.mp4.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9.mp4.meta new file mode 100644 index 00000000..aa058ea7 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9.mp4.meta @@ -0,0 +1,12 @@ +{ + "ver": "1.0.0", + "importer": "video-clip", + "imported": true, + "uuid": "dfc3f9f7-6ca4-4f5f-9517-779fc0004514", + "files": [ + ".json", + ".mp4" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail.jpg.meta new file mode 100644 index 00000000..03a95188 --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "9f18ef98-7b72-4b89-b063-2247e35c4a3f", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "9f18ef98-7b72-4b89-b063-2247e35c4a3f@6c48a", + "displayName": "10009_video_9_thumbnail", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "9f18ef98-7b72-4b89-b063-2247e35c4a3f", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "9f18ef98-7b72-4b89-b063-2247e35c4a3f@f9941", + "displayName": "10009_video_9_thumbnail", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "9f18ef98-7b72-4b89-b063-2247e35c4a3f@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "9f18ef98-7b72-4b89-b063-2247e35c4a3f@6c48a" + } +} diff --git a/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail_blur.jpg.meta b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail_blur.jpg.meta new file mode 100644 index 00000000..e9bc4c3e --- /dev/null +++ b/assets/bundles/Chat18x/Image/Girls/10009/video/10009_video_9_thumbnail_blur.jpg.meta @@ -0,0 +1,134 @@ +{ + "ver": "1.0.27", + "importer": "image", + "imported": true, + "uuid": "d48ac441-6e1b-492a-b307-3770385181c3", + "files": [ + ".jpg", + ".json" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "d48ac441-6e1b-492a-b307-3770385181c3@6c48a", + "displayName": "10009_video_9_thumbnail_blur", + "id": "6c48a", + "name": "texture", + "userData": { + "wrapModeS": "clamp-to-edge", + "wrapModeT": "clamp-to-edge", + "imageUuidOrDatabaseUri": "d48ac441-6e1b-492a-b307-3770385181c3", + "isUuid": true, + "visible": false, + "minfilter": "linear", + "magfilter": "linear", + "mipfilter": "none", + "anisotropy": 0 + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "d48ac441-6e1b-492a-b307-3770385181c3@f9941", + "displayName": "10009_video_9_thumbnail_blur", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 448, + "height": 576, + "rawWidth": 448, + "rawHeight": 576, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "packable": true, + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -224, + -288, + 0, + 224, + -288, + 0, + -224, + 288, + 0, + 224, + 288, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 576, + 448, + 576, + 0, + 0, + 448, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -224, + -288, + 0 + ], + "maxPos": [ + 224, + 288, + 0 + ] + }, + "isUuid": true, + "imageUuidOrDatabaseUri": "d48ac441-6e1b-492a-b307-3770385181c3@6c48a", + "atlasUuid": "" + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": false, + "fixAlphaTransparencyArtifacts": false, + "redirect": "d48ac441-6e1b-492a-b307-3770385181c3@6c48a" + } +} From 7ad2261867150867aa876269b628f2a9867a8ffc Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Wed, 3 Sep 2025 11:09:35 +0800 Subject: [PATCH 3/5] =?UTF-8?q?=E5=8D=8F=E8=AE=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../chat18x/config/GirlDetailConfig.ts | 8 +- assets/Scripts/chat18x/data/GirlData.ts | 1 - .../network/services/MockGirlService.ts | 3 +- .../chat18x/ui/panels/GirlDetailPanel.ts | 58 +- assets/Scripts/proto/proto.pb.d.ts | 751 ++++++- assets/Scripts/proto/proto.pb.js | 1818 ++++++++++++++++- proto_cs | 2 +- 7 files changed, 2581 insertions(+), 60 deletions(-) diff --git a/assets/Scripts/chat18x/config/GirlDetailConfig.ts b/assets/Scripts/chat18x/config/GirlDetailConfig.ts index f708e52f..2ea766bc 100644 --- a/assets/Scripts/chat18x/config/GirlDetailConfig.ts +++ b/assets/Scripts/chat18x/config/GirlDetailConfig.ts @@ -49,10 +49,10 @@ export class GirlDetailConfig extends BaseConfig { } /** 根据 id 获取 commercialImages数量 */ - public getCommercialImagesCount(id: number): any | null { + public getCommercialImagesCount(id: number): number | null { let oneData = this.getCommercialImagesById(id); if (!oneData) return null; - return oneData.commercialImages.size; + return oneData.length; } /** 根据 id 和 index 获取图片类型 */ @@ -87,10 +87,10 @@ export class GirlDetailConfig extends BaseConfig { } /** 根据 id 获取 commercialVideos数量 */ - public getCommercialVideosCount(id: number): any | null { + public getCommercialVideosCount(id: number): number | null { let oneData = this.getCommercialVideosById(id); if (!oneData) return null; - return oneData.commercialVideos.size; + return oneData.length; } /** 根据 id 和 index 获取视频路径 */ diff --git a/assets/Scripts/chat18x/data/GirlData.ts b/assets/Scripts/chat18x/data/GirlData.ts index 368c147c..6867c8bb 100644 --- a/assets/Scripts/chat18x/data/GirlData.ts +++ b/assets/Scripts/chat18x/data/GirlData.ts @@ -234,7 +234,6 @@ export class GirlData extends BaseData { if (!d) return; // 合并简要信息 if (d.brief) this.mergeBriefs(categoryId, [d.brief]); - const oneDetail = this.parseOneGirlDetail(d); const bucket = this.ensureBucket(categoryId); // id diff --git a/assets/Scripts/chat18x/network/services/MockGirlService.ts b/assets/Scripts/chat18x/network/services/MockGirlService.ts index e76dadf7..8f6d73d5 100644 --- a/assets/Scripts/chat18x/network/services/MockGirlService.ts +++ b/assets/Scripts/chat18x/network/services/MockGirlService.ts @@ -137,6 +137,7 @@ export class MockGirlService implements IGirlService { let photoData = []; let photoCount = girlDetailConfig.getCommercialImagesCount(girlId); + for (let i = 0; i < photoCount; i++) { let imagePath = girlDetailConfig.getImagePathById(girlId, i); let isImageRelease = Math.random() < 0.4; @@ -146,7 +147,7 @@ export class MockGirlService implements IGirlService { } let detail = this.genDetail(briefData, desc, photoData, isRelease, chatCount); - + // 返回数据 return this.ok({ detail }); } } diff --git a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts index 39cc7b0f..3a4aaabc 100644 --- a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts +++ b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts @@ -17,6 +17,10 @@ import Utils from "../../../Main/Common/Utils"; import { InnerMsgCode } from "../../../Main/Config/InnerMsgCode"; import { SimpleToggle } from "../components/SimpleToggle"; import { GirlDetail, purchase } from "../../../schema/schema"; +import { DataManager, DataId } from "../../data/DataManager"; +import { GirlData } from "../../data/GirlData"; +import { GirlService } from "db://assets/Scripts/chat18x/network/services/GirlService"; +import proto from 'db://assets/Scripts/proto/proto.pb.js'; const { ccclass, property } = _decorator; @@ -132,12 +136,62 @@ export class GirlDetailPanel extends li_BaseView { nameKey: string; tagKey: string; category; - refresh(index: number) { + async refresh(index: number) { + // TODO,暂时这样获取,修改后从GirlData获取 + const girlConfig = ConfigManager.tables.TbGirls.get(this.id); + this.category = girlConfig.category; + // 请求详细数据 + const reqData = { + id: this.id, + }; + // let res = await GirlService.I.reqGetGirlDetail(reqData); + // console.log("看看响应数据:", res); + // if (res && res.code === proto.cs.EnmRetCode.SUCCESS) { + // // 保存数据 + // const girlData = DataManager.I.getDataById(DataId.Girl); + // girlData.setGirlDetails(this.category.toString(), res.data); + // // 根据数据,刷新界面 + // this.nameKey = girlData.getGrilName(this.category, this.id); + // this.girlName.string = LanguageUtils.getText(this.nameKey); + // this.desc.string = girlData.getGrilDesc(this.category, this.id); + + // let desc = ""; + // this.tagKey = girlData.getGrilTagKey(this.category, this.id); + // const tags = LanguageUtils.getText(this.tagKey).split("|"); + // for (let i = 0; i < tags.length; i++) { + // if (i != 0) desc += "|"; + // desc += tags[i]; + // } + // this.tags.string = desc; + // for (let i = 0; i < 5; i++) { + // this.starParent.children[i].active = i < 5; + // } + // let age = girlData.getGrilAge(this.category, this.id); + // this.descAge.string = + // LanguageUtils.getText("girldetailpanel.age") + age.toString(); + + // // TODO + // const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); + + // ResManager.I.changeBundleVideo( + // this.avatarVideo, + // dataDetail.commercialVideos[0].path, + // "Chat18x" + // ); + + // // 也立即尝试调整(以防已经加载完成) + // this.adjustVideoScale(); + // this.vids = dataDetail.commercialVideos.slice(0); + // this.refreshImgs(dataDetail.commercialImages); + + + // } + + const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); console.log(dataDetail); const data = ConfigManager.tables.TbGirls.get(this.id); - this.category = data.category; this.nameKey = data.nameKey; this.girlName.string = LanguageUtils.getText(data.nameKey); diff --git a/assets/Scripts/proto/proto.pb.d.ts b/assets/Scripts/proto/proto.pb.d.ts index 6c3a2688..ceff1ac8 100644 --- a/assets/Scripts/proto/proto.pb.d.ts +++ b/assets/Scripts/proto/proto.pb.d.ts @@ -32,6 +32,12 @@ export namespace cs { /** GirlBrief star */ star?: (number|null); + + /** GirlBrief category */ + category?: (number|null); + + /** GirlBrief listAvatarPath */ + listAvatarPath?: (string|null); } /** Represents a GirlBrief. */ @@ -67,6 +73,12 @@ avatar: string; /** GirlBrief star. */ star: number; + /** GirlBrief category. */ +category: number; + + /** GirlBrief listAvatarPath. */ +listAvatarPath: string; + /** * Creates a new GirlBrief instance using the specified properties. * @param [properties] Properties to set @@ -254,6 +266,236 @@ toJSON(): { [k: string]: any }; static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a PurchaseCommercialImage. */ + interface IPurchaseCommercialImage { + + /** PurchaseCommercialImage imageType */ + imageType?: (number|null); + + /** PurchaseCommercialImage imagePrice */ + imagePrice?: (number|null); + + /** PurchaseCommercialImage path */ + path?: (string|null); + + /** PurchaseCommercialImage isRelease */ + isRelease?: (boolean|null); + } + + /** Represents a PurchaseCommercialImage. */ + class PurchaseCommercialImage implements IPurchaseCommercialImage { + + /** + * Constructs a new PurchaseCommercialImage. + * @param [properties] Properties to set + */ + constructor(properties?: cs.IPurchaseCommercialImage); + + /** PurchaseCommercialImage imageType. */ +imageType: number; + + /** PurchaseCommercialImage imagePrice. */ +imagePrice: number; + + /** PurchaseCommercialImage path. */ +path: string; + + /** PurchaseCommercialImage isRelease. */ +isRelease: boolean; + + /** + * Creates a new PurchaseCommercialImage instance using the specified properties. + * @param [properties] Properties to set + * @returns PurchaseCommercialImage instance + */ +static create(properties?: cs.IPurchaseCommercialImage): cs.PurchaseCommercialImage; + + /** + * Encodes the specified PurchaseCommercialImage message. Does not implicitly {@link cs.PurchaseCommercialImage.verify|verify} messages. + * @param message PurchaseCommercialImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.IPurchaseCommercialImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PurchaseCommercialImage message, length delimited. Does not implicitly {@link cs.PurchaseCommercialImage.verify|verify} messages. + * @param message PurchaseCommercialImage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.IPurchaseCommercialImage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PurchaseCommercialImage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PurchaseCommercialImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.PurchaseCommercialImage; + + /** + * Decodes a PurchaseCommercialImage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PurchaseCommercialImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.PurchaseCommercialImage; + + /** + * Verifies a PurchaseCommercialImage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PurchaseCommercialImage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PurchaseCommercialImage + */ +static fromObject(object: { [k: string]: any }): cs.PurchaseCommercialImage; + + /** + * Creates a plain object from a PurchaseCommercialImage message. Also converts values to other types if specified. + * @param message PurchaseCommercialImage + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.PurchaseCommercialImage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PurchaseCommercialImage to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PurchaseCommercialImage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PurchaseCommercialVideo. */ + interface IPurchaseCommercialVideo { + + /** PurchaseCommercialVideo path */ + path?: (string|null); + + /** PurchaseCommercialVideo emotion */ + emotion?: (number|null); + + /** PurchaseCommercialVideo videoPrice */ + videoPrice?: (number|null); + + /** PurchaseCommercialVideo isRelease */ + isRelease?: (boolean|null); + } + + /** Represents a PurchaseCommercialVideo. */ + class PurchaseCommercialVideo implements IPurchaseCommercialVideo { + + /** + * Constructs a new PurchaseCommercialVideo. + * @param [properties] Properties to set + */ + constructor(properties?: cs.IPurchaseCommercialVideo); + + /** PurchaseCommercialVideo path. */ +path: string; + + /** PurchaseCommercialVideo emotion. */ +emotion: number; + + /** PurchaseCommercialVideo videoPrice. */ +videoPrice: number; + + /** PurchaseCommercialVideo isRelease. */ +isRelease: boolean; + + /** + * Creates a new PurchaseCommercialVideo instance using the specified properties. + * @param [properties] Properties to set + * @returns PurchaseCommercialVideo instance + */ +static create(properties?: cs.IPurchaseCommercialVideo): cs.PurchaseCommercialVideo; + + /** + * Encodes the specified PurchaseCommercialVideo message. Does not implicitly {@link cs.PurchaseCommercialVideo.verify|verify} messages. + * @param message PurchaseCommercialVideo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.IPurchaseCommercialVideo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PurchaseCommercialVideo message, length delimited. Does not implicitly {@link cs.PurchaseCommercialVideo.verify|verify} messages. + * @param message PurchaseCommercialVideo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.IPurchaseCommercialVideo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PurchaseCommercialVideo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PurchaseCommercialVideo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.PurchaseCommercialVideo; + + /** + * Decodes a PurchaseCommercialVideo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PurchaseCommercialVideo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.PurchaseCommercialVideo; + + /** + * Verifies a PurchaseCommercialVideo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PurchaseCommercialVideo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PurchaseCommercialVideo + */ +static fromObject(object: { [k: string]: any }): cs.PurchaseCommercialVideo; + + /** + * Creates a plain object from a PurchaseCommercialVideo message. Also converts values to other types if specified. + * @param message PurchaseCommercialVideo + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.PurchaseCommercialVideo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PurchaseCommercialVideo to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PurchaseCommercialVideo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a GirlDetail. */ interface IGirlDetail { @@ -263,14 +505,17 @@ static getTypeUrl(typeUrlPrefix?: string): string; /** GirlDetail desc */ desc?: (string|null); - /** GirlDetail photos */ - photos?: (cs.IGirlPhoto[]|null); - /** GirlDetail isRelease */ isRelease?: (boolean|null); /** GirlDetail chatCount */ chatCount?: (number|null); + + /** GirlDetail images */ + images?: (cs.IPurchaseCommercialImage[]|null); + + /** GirlDetail videos */ + videos?: (cs.IPurchaseCommercialVideo[]|null); } /** Represents a GirlDetail. */ @@ -288,15 +533,18 @@ brief?: (cs.IGirlBrief|null); /** GirlDetail desc. */ desc: string; - /** GirlDetail photos. */ -photos: cs.IGirlPhoto[]; - /** GirlDetail isRelease. */ isRelease: boolean; /** GirlDetail chatCount. */ chatCount: number; + /** GirlDetail images. */ +images: cs.IPurchaseCommercialImage[]; + + /** GirlDetail videos. */ +videos: cs.IPurchaseCommercialVideo[]; + /** * Creates a new GirlDetail instance using the specified properties. * @param [properties] Properties to set @@ -2193,6 +2441,497 @@ toJSON(): { [k: string]: any }; static getTypeUrl(typeUrlPrefix?: string): string; } + /** Properties of a ChatMsg. */ + interface IChatMsg { + + /** ChatMsg msg */ + msg?: (string|null); + + /** ChatMsg isAi */ + isAi?: (boolean|null); + } + + /** Represents a ChatMsg. */ + class ChatMsg implements IChatMsg { + + /** + * Constructs a new ChatMsg. + * @param [properties] Properties to set + */ + constructor(properties?: cs.IChatMsg); + + /** ChatMsg msg. */ +msg: string; + + /** ChatMsg isAi. */ +isAi: boolean; + + /** + * Creates a new ChatMsg instance using the specified properties. + * @param [properties] Properties to set + * @returns ChatMsg instance + */ +static create(properties?: cs.IChatMsg): cs.ChatMsg; + + /** + * Encodes the specified ChatMsg message. Does not implicitly {@link cs.ChatMsg.verify|verify} messages. + * @param message ChatMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.IChatMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ChatMsg message, length delimited. Does not implicitly {@link cs.ChatMsg.verify|verify} messages. + * @param message ChatMsg message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.IChatMsg, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ChatMsg message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ChatMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.ChatMsg; + + /** + * Decodes a ChatMsg message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ChatMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.ChatMsg; + + /** + * Verifies a ChatMsg message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ChatMsg message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ChatMsg + */ +static fromObject(object: { [k: string]: any }): cs.ChatMsg; + + /** + * Creates a plain object from a ChatMsg message. Also converts values to other types if specified. + * @param message ChatMsg + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.ChatMsg, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ChatMsg to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ChatMsg + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CSChatMsgReq. */ + interface ICSChatMsgReq { + + /** CSChatMsgReq msgs */ + msgs?: (cs.IChatMsg[]|null); + } + + /** Represents a CSChatMsgReq. */ + class CSChatMsgReq implements ICSChatMsgReq { + + /** + * Constructs a new CSChatMsgReq. + * @param [properties] Properties to set + */ + constructor(properties?: cs.ICSChatMsgReq); + + /** CSChatMsgReq msgs. */ +msgs: cs.IChatMsg[]; + + /** + * Creates a new CSChatMsgReq instance using the specified properties. + * @param [properties] Properties to set + * @returns CSChatMsgReq instance + */ +static create(properties?: cs.ICSChatMsgReq): cs.CSChatMsgReq; + + /** + * Encodes the specified CSChatMsgReq message. Does not implicitly {@link cs.CSChatMsgReq.verify|verify} messages. + * @param message CSChatMsgReq message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.ICSChatMsgReq, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CSChatMsgReq message, length delimited. Does not implicitly {@link cs.CSChatMsgReq.verify|verify} messages. + * @param message CSChatMsgReq message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.ICSChatMsgReq, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CSChatMsgReq message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CSChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.CSChatMsgReq; + + /** + * Decodes a CSChatMsgReq message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CSChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.CSChatMsgReq; + + /** + * Verifies a CSChatMsgReq message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CSChatMsgReq message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CSChatMsgReq + */ +static fromObject(object: { [k: string]: any }): cs.CSChatMsgReq; + + /** + * Creates a plain object from a CSChatMsgReq message. Also converts values to other types if specified. + * @param message CSChatMsgReq + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.CSChatMsgReq, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CSChatMsgReq to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CSChatMsgReq + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CSChatMsgRes. */ + interface ICSChatMsgRes { + } + + /** Represents a CSChatMsgRes. */ + class CSChatMsgRes implements ICSChatMsgRes { + + /** + * Constructs a new CSChatMsgRes. + * @param [properties] Properties to set + */ + constructor(properties?: cs.ICSChatMsgRes); + + /** + * Creates a new CSChatMsgRes instance using the specified properties. + * @param [properties] Properties to set + * @returns CSChatMsgRes instance + */ +static create(properties?: cs.ICSChatMsgRes): cs.CSChatMsgRes; + + /** + * Encodes the specified CSChatMsgRes message. Does not implicitly {@link cs.CSChatMsgRes.verify|verify} messages. + * @param message CSChatMsgRes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.ICSChatMsgRes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CSChatMsgRes message, length delimited. Does not implicitly {@link cs.CSChatMsgRes.verify|verify} messages. + * @param message CSChatMsgRes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.ICSChatMsgRes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CSChatMsgRes message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CSChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.CSChatMsgRes; + + /** + * Decodes a CSChatMsgRes message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CSChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.CSChatMsgRes; + + /** + * Verifies a CSChatMsgRes message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CSChatMsgRes message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CSChatMsgRes + */ +static fromObject(object: { [k: string]: any }): cs.CSChatMsgRes; + + /** + * Creates a plain object from a CSChatMsgRes message. Also converts values to other types if specified. + * @param message CSChatMsgRes + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.CSChatMsgRes, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CSChatMsgRes to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CSChatMsgRes + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CSGetChatMsgReq. */ + interface ICSGetChatMsgReq { + + /** CSGetChatMsgReq page */ + page?: (number|null); + + /** CSGetChatMsgReq limit */ + limit?: (number|null); + } + + /** Represents a CSGetChatMsgReq. */ + class CSGetChatMsgReq implements ICSGetChatMsgReq { + + /** + * Constructs a new CSGetChatMsgReq. + * @param [properties] Properties to set + */ + constructor(properties?: cs.ICSGetChatMsgReq); + + /** CSGetChatMsgReq page. */ +page: number; + + /** CSGetChatMsgReq limit. */ +limit: number; + + /** + * Creates a new CSGetChatMsgReq instance using the specified properties. + * @param [properties] Properties to set + * @returns CSGetChatMsgReq instance + */ +static create(properties?: cs.ICSGetChatMsgReq): cs.CSGetChatMsgReq; + + /** + * Encodes the specified CSGetChatMsgReq message. Does not implicitly {@link cs.CSGetChatMsgReq.verify|verify} messages. + * @param message CSGetChatMsgReq message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.ICSGetChatMsgReq, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CSGetChatMsgReq message, length delimited. Does not implicitly {@link cs.CSGetChatMsgReq.verify|verify} messages. + * @param message CSGetChatMsgReq message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.ICSGetChatMsgReq, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CSGetChatMsgReq message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CSGetChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.CSGetChatMsgReq; + + /** + * Decodes a CSGetChatMsgReq message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CSGetChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.CSGetChatMsgReq; + + /** + * Verifies a CSGetChatMsgReq message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CSGetChatMsgReq message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CSGetChatMsgReq + */ +static fromObject(object: { [k: string]: any }): cs.CSGetChatMsgReq; + + /** + * Creates a plain object from a CSGetChatMsgReq message. Also converts values to other types if specified. + * @param message CSGetChatMsgReq + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.CSGetChatMsgReq, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CSGetChatMsgReq to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CSGetChatMsgReq + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CSGetChatMsgRes. */ + interface ICSGetChatMsgRes { + + /** CSGetChatMsgRes msgs */ + msgs?: (cs.IChatMsg[]|null); + } + + /** Represents a CSGetChatMsgRes. */ + class CSGetChatMsgRes implements ICSGetChatMsgRes { + + /** + * Constructs a new CSGetChatMsgRes. + * @param [properties] Properties to set + */ + constructor(properties?: cs.ICSGetChatMsgRes); + + /** CSGetChatMsgRes msgs. */ +msgs: cs.IChatMsg[]; + + /** + * Creates a new CSGetChatMsgRes instance using the specified properties. + * @param [properties] Properties to set + * @returns CSGetChatMsgRes instance + */ +static create(properties?: cs.ICSGetChatMsgRes): cs.CSGetChatMsgRes; + + /** + * Encodes the specified CSGetChatMsgRes message. Does not implicitly {@link cs.CSGetChatMsgRes.verify|verify} messages. + * @param message CSGetChatMsgRes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encode(message: cs.ICSGetChatMsgRes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CSGetChatMsgRes message, length delimited. Does not implicitly {@link cs.CSGetChatMsgRes.verify|verify} messages. + * @param message CSGetChatMsgRes message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ +static encodeDelimited(message: cs.ICSGetChatMsgRes, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CSGetChatMsgRes message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CSGetChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): cs.CSGetChatMsgRes; + + /** + * Decodes a CSGetChatMsgRes message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CSGetChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ +static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): cs.CSGetChatMsgRes; + + /** + * Verifies a CSGetChatMsgRes message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ +static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CSGetChatMsgRes message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CSGetChatMsgRes + */ +static fromObject(object: { [k: string]: any }): cs.CSGetChatMsgRes; + + /** + * Creates a plain object from a CSGetChatMsgRes message. Also converts values to other types if specified. + * @param message CSGetChatMsgRes + * @param [options] Conversion options + * @returns Plain object + */ +static toObject(message: cs.CSGetChatMsgRes, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CSGetChatMsgRes to JSON. + * @returns JSON object + */ +toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CSGetChatMsgRes + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ +static getTypeUrl(typeUrlPrefix?: string): string; + } + /** Properties of a CSLoginReq. */ interface ICSLoginReq { diff --git a/assets/Scripts/proto/proto.pb.js b/assets/Scripts/proto/proto.pb.js index 797283f9..31b91b5d 100644 --- a/assets/Scripts/proto/proto.pb.js +++ b/assets/Scripts/proto/proto.pb.js @@ -32,6 +32,8 @@ $root.cs = (function() { * @property {number|Long|null} [price] GirlBrief price * @property {string|null} [avatar] GirlBrief avatar * @property {number|null} [star] GirlBrief star + * @property {number|null} [category] GirlBrief category + * @property {string|null} [listAvatarPath] GirlBrief listAvatarPath */ /** @@ -113,6 +115,22 @@ $root.cs = (function() { */ GirlBrief.prototype.star = 0; + /** + * GirlBrief category. + * @member {number} category + * @memberof cs.GirlBrief + * @instance + */ + GirlBrief.prototype.category = 0; + + /** + * GirlBrief listAvatarPath. + * @member {string} listAvatarPath + * @memberof cs.GirlBrief + * @instance + */ + GirlBrief.prototype.listAvatarPath = ""; + /** * Creates a new GirlBrief instance using the specified properties. * @function create @@ -153,6 +171,10 @@ $root.cs = (function() { writer.uint32(/* id 7, wireType 2 =*/58).string(message.avatar); if (message.star != null && Object.hasOwnProperty.call(message, "star")) writer.uint32(/* id 8, wireType 0 =*/64).int32(message.star); + if (message.category != null && Object.hasOwnProperty.call(message, "category")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.category); + if (message.listAvatarPath != null && Object.hasOwnProperty.call(message, "listAvatarPath")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.listAvatarPath); return writer; }; @@ -221,6 +243,14 @@ $root.cs = (function() { message.star = reader.int32(); break; } + case 9: { + message.category = reader.int32(); + break; + } + case 10: { + message.listAvatarPath = reader.string(); + break; + } default: reader.skipType(tag & 7); break; @@ -280,6 +310,12 @@ $root.cs = (function() { if (message.star != null && message.hasOwnProperty("star")) if (!$util.isInteger(message.star)) return "star: integer expected"; + if (message.category != null && message.hasOwnProperty("category")) + if (!$util.isInteger(message.category)) + return "category: integer expected"; + if (message.listAvatarPath != null && message.hasOwnProperty("listAvatarPath")) + if (!$util.isString(message.listAvatarPath)) + return "listAvatarPath: string expected"; return null; }; @@ -318,6 +354,10 @@ $root.cs = (function() { message.avatar = String(object.avatar); if (object.star != null) message.star = object.star | 0; + if (object.category != null) + message.category = object.category | 0; + if (object.listAvatarPath != null) + message.listAvatarPath = String(object.listAvatarPath); return message; }; @@ -347,6 +387,8 @@ $root.cs = (function() { object.price = options.longs === String ? "0" : 0; object.avatar = ""; object.star = 0; + object.category = 0; + object.listAvatarPath = ""; } if (message.id != null && message.hasOwnProperty("id")) object.id = message.id; @@ -367,6 +409,10 @@ $root.cs = (function() { object.avatar = message.avatar; if (message.star != null && message.hasOwnProperty("star")) object.star = message.star; + if (message.category != null && message.hasOwnProperty("category")) + object.category = message.category; + if (message.listAvatarPath != null && message.hasOwnProperty("listAvatarPath")) + object.listAvatarPath = message.listAvatarPath; return object; }; @@ -651,6 +697,556 @@ $root.cs = (function() { return GirlPhoto; })(); + cs.PurchaseCommercialImage = (function() { + + /** + * Properties of a PurchaseCommercialImage. + * @memberof cs + * @interface IPurchaseCommercialImage + * @property {number|null} [imageType] PurchaseCommercialImage imageType + * @property {number|null} [imagePrice] PurchaseCommercialImage imagePrice + * @property {string|null} [path] PurchaseCommercialImage path + * @property {boolean|null} [isRelease] PurchaseCommercialImage isRelease + */ + + /** + * Constructs a new PurchaseCommercialImage. + * @memberof cs + * @classdesc Represents a PurchaseCommercialImage. + * @implements IPurchaseCommercialImage + * @constructor + * @param {cs.IPurchaseCommercialImage=} [properties] Properties to set + */ + function PurchaseCommercialImage(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PurchaseCommercialImage imageType. + * @member {number} imageType + * @memberof cs.PurchaseCommercialImage + * @instance + */ + PurchaseCommercialImage.prototype.imageType = 0; + + /** + * PurchaseCommercialImage imagePrice. + * @member {number} imagePrice + * @memberof cs.PurchaseCommercialImage + * @instance + */ + PurchaseCommercialImage.prototype.imagePrice = 0; + + /** + * PurchaseCommercialImage path. + * @member {string} path + * @memberof cs.PurchaseCommercialImage + * @instance + */ + PurchaseCommercialImage.prototype.path = ""; + + /** + * PurchaseCommercialImage isRelease. + * @member {boolean} isRelease + * @memberof cs.PurchaseCommercialImage + * @instance + */ + PurchaseCommercialImage.prototype.isRelease = false; + + /** + * Creates a new PurchaseCommercialImage instance using the specified properties. + * @function create + * @memberof cs.PurchaseCommercialImage + * @static + * @param {cs.IPurchaseCommercialImage=} [properties] Properties to set + * @returns {cs.PurchaseCommercialImage} PurchaseCommercialImage instance + */ + PurchaseCommercialImage.create = function create(properties) { + return new PurchaseCommercialImage(properties); + }; + + /** + * Encodes the specified PurchaseCommercialImage message. Does not implicitly {@link cs.PurchaseCommercialImage.verify|verify} messages. + * @function encode + * @memberof cs.PurchaseCommercialImage + * @static + * @param {cs.IPurchaseCommercialImage} message PurchaseCommercialImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurchaseCommercialImage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.imageType != null && Object.hasOwnProperty.call(message, "imageType")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.imageType); + if (message.imagePrice != null && Object.hasOwnProperty.call(message, "imagePrice")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.imagePrice); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.path); + if (message.isRelease != null && Object.hasOwnProperty.call(message, "isRelease")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.isRelease); + return writer; + }; + + /** + * Encodes the specified PurchaseCommercialImage message, length delimited. Does not implicitly {@link cs.PurchaseCommercialImage.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.PurchaseCommercialImage + * @static + * @param {cs.IPurchaseCommercialImage} message PurchaseCommercialImage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurchaseCommercialImage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PurchaseCommercialImage message from the specified reader or buffer. + * @function decode + * @memberof cs.PurchaseCommercialImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.PurchaseCommercialImage} PurchaseCommercialImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurchaseCommercialImage.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.PurchaseCommercialImage(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.imageType = reader.int32(); + break; + } + case 2: { + message.imagePrice = reader.int32(); + break; + } + case 3: { + message.path = reader.string(); + break; + } + case 4: { + message.isRelease = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PurchaseCommercialImage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.PurchaseCommercialImage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.PurchaseCommercialImage} PurchaseCommercialImage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurchaseCommercialImage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PurchaseCommercialImage message. + * @function verify + * @memberof cs.PurchaseCommercialImage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PurchaseCommercialImage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.imageType != null && message.hasOwnProperty("imageType")) + if (!$util.isInteger(message.imageType)) + return "imageType: integer expected"; + if (message.imagePrice != null && message.hasOwnProperty("imagePrice")) + if (!$util.isInteger(message.imagePrice)) + return "imagePrice: integer expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + if (message.isRelease != null && message.hasOwnProperty("isRelease")) + if (typeof message.isRelease !== "boolean") + return "isRelease: boolean expected"; + return null; + }; + + /** + * Creates a PurchaseCommercialImage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.PurchaseCommercialImage + * @static + * @param {Object.} object Plain object + * @returns {cs.PurchaseCommercialImage} PurchaseCommercialImage + */ + PurchaseCommercialImage.fromObject = function fromObject(object) { + if (object instanceof $root.cs.PurchaseCommercialImage) + return object; + var message = new $root.cs.PurchaseCommercialImage(); + if (object.imageType != null) + message.imageType = object.imageType | 0; + if (object.imagePrice != null) + message.imagePrice = object.imagePrice | 0; + if (object.path != null) + message.path = String(object.path); + if (object.isRelease != null) + message.isRelease = Boolean(object.isRelease); + return message; + }; + + /** + * Creates a plain object from a PurchaseCommercialImage message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.PurchaseCommercialImage + * @static + * @param {cs.PurchaseCommercialImage} message PurchaseCommercialImage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PurchaseCommercialImage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.imageType = 0; + object.imagePrice = 0; + object.path = ""; + object.isRelease = false; + } + if (message.imageType != null && message.hasOwnProperty("imageType")) + object.imageType = message.imageType; + if (message.imagePrice != null && message.hasOwnProperty("imagePrice")) + object.imagePrice = message.imagePrice; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + if (message.isRelease != null && message.hasOwnProperty("isRelease")) + object.isRelease = message.isRelease; + return object; + }; + + /** + * Converts this PurchaseCommercialImage to JSON. + * @function toJSON + * @memberof cs.PurchaseCommercialImage + * @instance + * @returns {Object.} JSON object + */ + PurchaseCommercialImage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PurchaseCommercialImage + * @function getTypeUrl + * @memberof cs.PurchaseCommercialImage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PurchaseCommercialImage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.PurchaseCommercialImage"; + }; + + return PurchaseCommercialImage; + })(); + + cs.PurchaseCommercialVideo = (function() { + + /** + * Properties of a PurchaseCommercialVideo. + * @memberof cs + * @interface IPurchaseCommercialVideo + * @property {string|null} [path] PurchaseCommercialVideo path + * @property {number|null} [emotion] PurchaseCommercialVideo emotion + * @property {number|null} [videoPrice] PurchaseCommercialVideo videoPrice + * @property {boolean|null} [isRelease] PurchaseCommercialVideo isRelease + */ + + /** + * Constructs a new PurchaseCommercialVideo. + * @memberof cs + * @classdesc Represents a PurchaseCommercialVideo. + * @implements IPurchaseCommercialVideo + * @constructor + * @param {cs.IPurchaseCommercialVideo=} [properties] Properties to set + */ + function PurchaseCommercialVideo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PurchaseCommercialVideo path. + * @member {string} path + * @memberof cs.PurchaseCommercialVideo + * @instance + */ + PurchaseCommercialVideo.prototype.path = ""; + + /** + * PurchaseCommercialVideo emotion. + * @member {number} emotion + * @memberof cs.PurchaseCommercialVideo + * @instance + */ + PurchaseCommercialVideo.prototype.emotion = 0; + + /** + * PurchaseCommercialVideo videoPrice. + * @member {number} videoPrice + * @memberof cs.PurchaseCommercialVideo + * @instance + */ + PurchaseCommercialVideo.prototype.videoPrice = 0; + + /** + * PurchaseCommercialVideo isRelease. + * @member {boolean} isRelease + * @memberof cs.PurchaseCommercialVideo + * @instance + */ + PurchaseCommercialVideo.prototype.isRelease = false; + + /** + * Creates a new PurchaseCommercialVideo instance using the specified properties. + * @function create + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {cs.IPurchaseCommercialVideo=} [properties] Properties to set + * @returns {cs.PurchaseCommercialVideo} PurchaseCommercialVideo instance + */ + PurchaseCommercialVideo.create = function create(properties) { + return new PurchaseCommercialVideo(properties); + }; + + /** + * Encodes the specified PurchaseCommercialVideo message. Does not implicitly {@link cs.PurchaseCommercialVideo.verify|verify} messages. + * @function encode + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {cs.IPurchaseCommercialVideo} message PurchaseCommercialVideo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurchaseCommercialVideo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.path); + if (message.emotion != null && Object.hasOwnProperty.call(message, "emotion")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.emotion); + if (message.videoPrice != null && Object.hasOwnProperty.call(message, "videoPrice")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.videoPrice); + if (message.isRelease != null && Object.hasOwnProperty.call(message, "isRelease")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.isRelease); + return writer; + }; + + /** + * Encodes the specified PurchaseCommercialVideo message, length delimited. Does not implicitly {@link cs.PurchaseCommercialVideo.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {cs.IPurchaseCommercialVideo} message PurchaseCommercialVideo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PurchaseCommercialVideo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PurchaseCommercialVideo message from the specified reader or buffer. + * @function decode + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.PurchaseCommercialVideo} PurchaseCommercialVideo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurchaseCommercialVideo.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.PurchaseCommercialVideo(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.path = reader.string(); + break; + } + case 2: { + message.emotion = reader.int32(); + break; + } + case 3: { + message.videoPrice = reader.int32(); + break; + } + case 4: { + message.isRelease = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PurchaseCommercialVideo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.PurchaseCommercialVideo} PurchaseCommercialVideo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PurchaseCommercialVideo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PurchaseCommercialVideo message. + * @function verify + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PurchaseCommercialVideo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + if (message.emotion != null && message.hasOwnProperty("emotion")) + if (!$util.isInteger(message.emotion)) + return "emotion: integer expected"; + if (message.videoPrice != null && message.hasOwnProperty("videoPrice")) + if (!$util.isInteger(message.videoPrice)) + return "videoPrice: integer expected"; + if (message.isRelease != null && message.hasOwnProperty("isRelease")) + if (typeof message.isRelease !== "boolean") + return "isRelease: boolean expected"; + return null; + }; + + /** + * Creates a PurchaseCommercialVideo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {Object.} object Plain object + * @returns {cs.PurchaseCommercialVideo} PurchaseCommercialVideo + */ + PurchaseCommercialVideo.fromObject = function fromObject(object) { + if (object instanceof $root.cs.PurchaseCommercialVideo) + return object; + var message = new $root.cs.PurchaseCommercialVideo(); + if (object.path != null) + message.path = String(object.path); + if (object.emotion != null) + message.emotion = object.emotion | 0; + if (object.videoPrice != null) + message.videoPrice = object.videoPrice | 0; + if (object.isRelease != null) + message.isRelease = Boolean(object.isRelease); + return message; + }; + + /** + * Creates a plain object from a PurchaseCommercialVideo message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {cs.PurchaseCommercialVideo} message PurchaseCommercialVideo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PurchaseCommercialVideo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.path = ""; + object.emotion = 0; + object.videoPrice = 0; + object.isRelease = false; + } + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + if (message.emotion != null && message.hasOwnProperty("emotion")) + object.emotion = message.emotion; + if (message.videoPrice != null && message.hasOwnProperty("videoPrice")) + object.videoPrice = message.videoPrice; + if (message.isRelease != null && message.hasOwnProperty("isRelease")) + object.isRelease = message.isRelease; + return object; + }; + + /** + * Converts this PurchaseCommercialVideo to JSON. + * @function toJSON + * @memberof cs.PurchaseCommercialVideo + * @instance + * @returns {Object.} JSON object + */ + PurchaseCommercialVideo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PurchaseCommercialVideo + * @function getTypeUrl + * @memberof cs.PurchaseCommercialVideo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PurchaseCommercialVideo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.PurchaseCommercialVideo"; + }; + + return PurchaseCommercialVideo; + })(); + cs.GirlDetail = (function() { /** @@ -659,9 +1255,10 @@ $root.cs = (function() { * @interface IGirlDetail * @property {cs.IGirlBrief|null} [brief] GirlDetail brief * @property {string|null} [desc] GirlDetail desc - * @property {Array.|null} [photos] GirlDetail photos * @property {boolean|null} [isRelease] GirlDetail isRelease * @property {number|null} [chatCount] GirlDetail chatCount + * @property {Array.|null} [images] GirlDetail images + * @property {Array.|null} [videos] GirlDetail videos */ /** @@ -673,7 +1270,8 @@ $root.cs = (function() { * @param {cs.IGirlDetail=} [properties] Properties to set */ function GirlDetail(properties) { - this.photos = []; + this.images = []; + this.videos = []; if (properties) for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) if (properties[keys[i]] != null) @@ -696,14 +1294,6 @@ $root.cs = (function() { */ GirlDetail.prototype.desc = ""; - /** - * GirlDetail photos. - * @member {Array.} photos - * @memberof cs.GirlDetail - * @instance - */ - GirlDetail.prototype.photos = $util.emptyArray; - /** * GirlDetail isRelease. * @member {boolean} isRelease @@ -720,6 +1310,22 @@ $root.cs = (function() { */ GirlDetail.prototype.chatCount = 0; + /** + * GirlDetail images. + * @member {Array.} images + * @memberof cs.GirlDetail + * @instance + */ + GirlDetail.prototype.images = $util.emptyArray; + + /** + * GirlDetail videos. + * @member {Array.} videos + * @memberof cs.GirlDetail + * @instance + */ + GirlDetail.prototype.videos = $util.emptyArray; + /** * Creates a new GirlDetail instance using the specified properties. * @function create @@ -748,13 +1354,16 @@ $root.cs = (function() { $root.cs.GirlBrief.encode(message.brief, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); if (message.desc != null && Object.hasOwnProperty.call(message, "desc")) writer.uint32(/* id 2, wireType 2 =*/18).string(message.desc); - if (message.photos != null && message.photos.length) - for (var i = 0; i < message.photos.length; ++i) - $root.cs.GirlPhoto.encode(message.photos[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); if (message.isRelease != null && Object.hasOwnProperty.call(message, "isRelease")) writer.uint32(/* id 4, wireType 0 =*/32).bool(message.isRelease); if (message.chatCount != null && Object.hasOwnProperty.call(message, "chatCount")) writer.uint32(/* id 5, wireType 0 =*/40).int32(message.chatCount); + if (message.images != null && message.images.length) + for (var i = 0; i < message.images.length; ++i) + $root.cs.PurchaseCommercialImage.encode(message.images[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.videos != null && message.videos.length) + for (var i = 0; i < message.videos.length; ++i) + $root.cs.PurchaseCommercialVideo.encode(message.videos[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); return writer; }; @@ -799,12 +1408,6 @@ $root.cs = (function() { message.desc = reader.string(); break; } - case 3: { - if (!(message.photos && message.photos.length)) - message.photos = []; - message.photos.push($root.cs.GirlPhoto.decode(reader, reader.uint32())); - break; - } case 4: { message.isRelease = reader.bool(); break; @@ -813,6 +1416,18 @@ $root.cs = (function() { message.chatCount = reader.int32(); break; } + case 6: { + if (!(message.images && message.images.length)) + message.images = []; + message.images.push($root.cs.PurchaseCommercialImage.decode(reader, reader.uint32())); + break; + } + case 7: { + if (!(message.videos && message.videos.length)) + message.videos = []; + message.videos.push($root.cs.PurchaseCommercialVideo.decode(reader, reader.uint32())); + break; + } default: reader.skipType(tag & 7); break; @@ -856,21 +1471,30 @@ $root.cs = (function() { if (message.desc != null && message.hasOwnProperty("desc")) if (!$util.isString(message.desc)) return "desc: string expected"; - if (message.photos != null && message.hasOwnProperty("photos")) { - if (!Array.isArray(message.photos)) - return "photos: array expected"; - for (var i = 0; i < message.photos.length; ++i) { - var error = $root.cs.GirlPhoto.verify(message.photos[i]); - if (error) - return "photos." + error; - } - } if (message.isRelease != null && message.hasOwnProperty("isRelease")) if (typeof message.isRelease !== "boolean") return "isRelease: boolean expected"; if (message.chatCount != null && message.hasOwnProperty("chatCount")) if (!$util.isInteger(message.chatCount)) return "chatCount: integer expected"; + if (message.images != null && message.hasOwnProperty("images")) { + if (!Array.isArray(message.images)) + return "images: array expected"; + for (var i = 0; i < message.images.length; ++i) { + var error = $root.cs.PurchaseCommercialImage.verify(message.images[i]); + if (error) + return "images." + error; + } + } + if (message.videos != null && message.hasOwnProperty("videos")) { + if (!Array.isArray(message.videos)) + return "videos: array expected"; + for (var i = 0; i < message.videos.length; ++i) { + var error = $root.cs.PurchaseCommercialVideo.verify(message.videos[i]); + if (error) + return "videos." + error; + } + } return null; }; @@ -893,20 +1517,30 @@ $root.cs = (function() { } if (object.desc != null) message.desc = String(object.desc); - if (object.photos) { - if (!Array.isArray(object.photos)) - throw TypeError(".cs.GirlDetail.photos: array expected"); - message.photos = []; - for (var i = 0; i < object.photos.length; ++i) { - if (typeof object.photos[i] !== "object") - throw TypeError(".cs.GirlDetail.photos: object expected"); - message.photos[i] = $root.cs.GirlPhoto.fromObject(object.photos[i]); - } - } if (object.isRelease != null) message.isRelease = Boolean(object.isRelease); if (object.chatCount != null) message.chatCount = object.chatCount | 0; + if (object.images) { + if (!Array.isArray(object.images)) + throw TypeError(".cs.GirlDetail.images: array expected"); + message.images = []; + for (var i = 0; i < object.images.length; ++i) { + if (typeof object.images[i] !== "object") + throw TypeError(".cs.GirlDetail.images: object expected"); + message.images[i] = $root.cs.PurchaseCommercialImage.fromObject(object.images[i]); + } + } + if (object.videos) { + if (!Array.isArray(object.videos)) + throw TypeError(".cs.GirlDetail.videos: array expected"); + message.videos = []; + for (var i = 0; i < object.videos.length; ++i) { + if (typeof object.videos[i] !== "object") + throw TypeError(".cs.GirlDetail.videos: object expected"); + message.videos[i] = $root.cs.PurchaseCommercialVideo.fromObject(object.videos[i]); + } + } return message; }; @@ -923,8 +1557,10 @@ $root.cs = (function() { if (!options) options = {}; var object = {}; - if (options.arrays || options.defaults) - object.photos = []; + if (options.arrays || options.defaults) { + object.images = []; + object.videos = []; + } if (options.defaults) { object.brief = null; object.desc = ""; @@ -935,15 +1571,20 @@ $root.cs = (function() { object.brief = $root.cs.GirlBrief.toObject(message.brief, options); if (message.desc != null && message.hasOwnProperty("desc")) object.desc = message.desc; - if (message.photos && message.photos.length) { - object.photos = []; - for (var j = 0; j < message.photos.length; ++j) - object.photos[j] = $root.cs.GirlPhoto.toObject(message.photos[j], options); - } if (message.isRelease != null && message.hasOwnProperty("isRelease")) object.isRelease = message.isRelease; if (message.chatCount != null && message.hasOwnProperty("chatCount")) object.chatCount = message.chatCount; + if (message.images && message.images.length) { + object.images = []; + for (var j = 0; j < message.images.length; ++j) + object.images[j] = $root.cs.PurchaseCommercialImage.toObject(message.images[j], options); + } + if (message.videos && message.videos.length) { + object.videos = []; + for (var j = 0; j < message.videos.length; ++j) + object.videos[j] = $root.cs.PurchaseCommercialVideo.toObject(message.videos[j], options); + } return object; }; @@ -5045,6 +5686,1093 @@ $root.cs = (function() { return CSQueryOrderRes; })(); + cs.ChatMsg = (function() { + + /** + * Properties of a ChatMsg. + * @memberof cs + * @interface IChatMsg + * @property {string|null} [msg] ChatMsg msg + * @property {boolean|null} [isAi] ChatMsg isAi + */ + + /** + * Constructs a new ChatMsg. + * @memberof cs + * @classdesc Represents a ChatMsg. + * @implements IChatMsg + * @constructor + * @param {cs.IChatMsg=} [properties] Properties to set + */ + function ChatMsg(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ChatMsg msg. + * @member {string} msg + * @memberof cs.ChatMsg + * @instance + */ + ChatMsg.prototype.msg = ""; + + /** + * ChatMsg isAi. + * @member {boolean} isAi + * @memberof cs.ChatMsg + * @instance + */ + ChatMsg.prototype.isAi = false; + + /** + * Creates a new ChatMsg instance using the specified properties. + * @function create + * @memberof cs.ChatMsg + * @static + * @param {cs.IChatMsg=} [properties] Properties to set + * @returns {cs.ChatMsg} ChatMsg instance + */ + ChatMsg.create = function create(properties) { + return new ChatMsg(properties); + }; + + /** + * Encodes the specified ChatMsg message. Does not implicitly {@link cs.ChatMsg.verify|verify} messages. + * @function encode + * @memberof cs.ChatMsg + * @static + * @param {cs.IChatMsg} message ChatMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChatMsg.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msg != null && Object.hasOwnProperty.call(message, "msg")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.msg); + if (message.isAi != null && Object.hasOwnProperty.call(message, "isAi")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isAi); + return writer; + }; + + /** + * Encodes the specified ChatMsg message, length delimited. Does not implicitly {@link cs.ChatMsg.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.ChatMsg + * @static + * @param {cs.IChatMsg} message ChatMsg message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ChatMsg.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ChatMsg message from the specified reader or buffer. + * @function decode + * @memberof cs.ChatMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.ChatMsg} ChatMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChatMsg.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.ChatMsg(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.msg = reader.string(); + break; + } + case 2: { + message.isAi = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ChatMsg message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.ChatMsg + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.ChatMsg} ChatMsg + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ChatMsg.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ChatMsg message. + * @function verify + * @memberof cs.ChatMsg + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ChatMsg.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msg != null && message.hasOwnProperty("msg")) + if (!$util.isString(message.msg)) + return "msg: string expected"; + if (message.isAi != null && message.hasOwnProperty("isAi")) + if (typeof message.isAi !== "boolean") + return "isAi: boolean expected"; + return null; + }; + + /** + * Creates a ChatMsg message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.ChatMsg + * @static + * @param {Object.} object Plain object + * @returns {cs.ChatMsg} ChatMsg + */ + ChatMsg.fromObject = function fromObject(object) { + if (object instanceof $root.cs.ChatMsg) + return object; + var message = new $root.cs.ChatMsg(); + if (object.msg != null) + message.msg = String(object.msg); + if (object.isAi != null) + message.isAi = Boolean(object.isAi); + return message; + }; + + /** + * Creates a plain object from a ChatMsg message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.ChatMsg + * @static + * @param {cs.ChatMsg} message ChatMsg + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ChatMsg.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.msg = ""; + object.isAi = false; + } + if (message.msg != null && message.hasOwnProperty("msg")) + object.msg = message.msg; + if (message.isAi != null && message.hasOwnProperty("isAi")) + object.isAi = message.isAi; + return object; + }; + + /** + * Converts this ChatMsg to JSON. + * @function toJSON + * @memberof cs.ChatMsg + * @instance + * @returns {Object.} JSON object + */ + ChatMsg.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ChatMsg + * @function getTypeUrl + * @memberof cs.ChatMsg + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ChatMsg.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.ChatMsg"; + }; + + return ChatMsg; + })(); + + cs.CSChatMsgReq = (function() { + + /** + * Properties of a CSChatMsgReq. + * @memberof cs + * @interface ICSChatMsgReq + * @property {Array.|null} [msgs] CSChatMsgReq msgs + */ + + /** + * Constructs a new CSChatMsgReq. + * @memberof cs + * @classdesc Represents a CSChatMsgReq. + * @implements ICSChatMsgReq + * @constructor + * @param {cs.ICSChatMsgReq=} [properties] Properties to set + */ + function CSChatMsgReq(properties) { + this.msgs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CSChatMsgReq msgs. + * @member {Array.} msgs + * @memberof cs.CSChatMsgReq + * @instance + */ + CSChatMsgReq.prototype.msgs = $util.emptyArray; + + /** + * Creates a new CSChatMsgReq instance using the specified properties. + * @function create + * @memberof cs.CSChatMsgReq + * @static + * @param {cs.ICSChatMsgReq=} [properties] Properties to set + * @returns {cs.CSChatMsgReq} CSChatMsgReq instance + */ + CSChatMsgReq.create = function create(properties) { + return new CSChatMsgReq(properties); + }; + + /** + * Encodes the specified CSChatMsgReq message. Does not implicitly {@link cs.CSChatMsgReq.verify|verify} messages. + * @function encode + * @memberof cs.CSChatMsgReq + * @static + * @param {cs.ICSChatMsgReq} message CSChatMsgReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSChatMsgReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msgs != null && message.msgs.length) + for (var i = 0; i < message.msgs.length; ++i) + $root.cs.ChatMsg.encode(message.msgs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CSChatMsgReq message, length delimited. Does not implicitly {@link cs.CSChatMsgReq.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.CSChatMsgReq + * @static + * @param {cs.ICSChatMsgReq} message CSChatMsgReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSChatMsgReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CSChatMsgReq message from the specified reader or buffer. + * @function decode + * @memberof cs.CSChatMsgReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.CSChatMsgReq} CSChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSChatMsgReq.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.CSChatMsgReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.msgs && message.msgs.length)) + message.msgs = []; + message.msgs.push($root.cs.ChatMsg.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CSChatMsgReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.CSChatMsgReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.CSChatMsgReq} CSChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSChatMsgReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CSChatMsgReq message. + * @function verify + * @memberof cs.CSChatMsgReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CSChatMsgReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msgs != null && message.hasOwnProperty("msgs")) { + if (!Array.isArray(message.msgs)) + return "msgs: array expected"; + for (var i = 0; i < message.msgs.length; ++i) { + var error = $root.cs.ChatMsg.verify(message.msgs[i]); + if (error) + return "msgs." + error; + } + } + return null; + }; + + /** + * Creates a CSChatMsgReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.CSChatMsgReq + * @static + * @param {Object.} object Plain object + * @returns {cs.CSChatMsgReq} CSChatMsgReq + */ + CSChatMsgReq.fromObject = function fromObject(object) { + if (object instanceof $root.cs.CSChatMsgReq) + return object; + var message = new $root.cs.CSChatMsgReq(); + if (object.msgs) { + if (!Array.isArray(object.msgs)) + throw TypeError(".cs.CSChatMsgReq.msgs: array expected"); + message.msgs = []; + for (var i = 0; i < object.msgs.length; ++i) { + if (typeof object.msgs[i] !== "object") + throw TypeError(".cs.CSChatMsgReq.msgs: object expected"); + message.msgs[i] = $root.cs.ChatMsg.fromObject(object.msgs[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CSChatMsgReq message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.CSChatMsgReq + * @static + * @param {cs.CSChatMsgReq} message CSChatMsgReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CSChatMsgReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.msgs = []; + if (message.msgs && message.msgs.length) { + object.msgs = []; + for (var j = 0; j < message.msgs.length; ++j) + object.msgs[j] = $root.cs.ChatMsg.toObject(message.msgs[j], options); + } + return object; + }; + + /** + * Converts this CSChatMsgReq to JSON. + * @function toJSON + * @memberof cs.CSChatMsgReq + * @instance + * @returns {Object.} JSON object + */ + CSChatMsgReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CSChatMsgReq + * @function getTypeUrl + * @memberof cs.CSChatMsgReq + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CSChatMsgReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.CSChatMsgReq"; + }; + + return CSChatMsgReq; + })(); + + cs.CSChatMsgRes = (function() { + + /** + * Properties of a CSChatMsgRes. + * @memberof cs + * @interface ICSChatMsgRes + */ + + /** + * Constructs a new CSChatMsgRes. + * @memberof cs + * @classdesc Represents a CSChatMsgRes. + * @implements ICSChatMsgRes + * @constructor + * @param {cs.ICSChatMsgRes=} [properties] Properties to set + */ + function CSChatMsgRes(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new CSChatMsgRes instance using the specified properties. + * @function create + * @memberof cs.CSChatMsgRes + * @static + * @param {cs.ICSChatMsgRes=} [properties] Properties to set + * @returns {cs.CSChatMsgRes} CSChatMsgRes instance + */ + CSChatMsgRes.create = function create(properties) { + return new CSChatMsgRes(properties); + }; + + /** + * Encodes the specified CSChatMsgRes message. Does not implicitly {@link cs.CSChatMsgRes.verify|verify} messages. + * @function encode + * @memberof cs.CSChatMsgRes + * @static + * @param {cs.ICSChatMsgRes} message CSChatMsgRes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSChatMsgRes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified CSChatMsgRes message, length delimited. Does not implicitly {@link cs.CSChatMsgRes.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.CSChatMsgRes + * @static + * @param {cs.ICSChatMsgRes} message CSChatMsgRes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSChatMsgRes.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CSChatMsgRes message from the specified reader or buffer. + * @function decode + * @memberof cs.CSChatMsgRes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.CSChatMsgRes} CSChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSChatMsgRes.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.CSChatMsgRes(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CSChatMsgRes message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.CSChatMsgRes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.CSChatMsgRes} CSChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSChatMsgRes.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CSChatMsgRes message. + * @function verify + * @memberof cs.CSChatMsgRes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CSChatMsgRes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a CSChatMsgRes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.CSChatMsgRes + * @static + * @param {Object.} object Plain object + * @returns {cs.CSChatMsgRes} CSChatMsgRes + */ + CSChatMsgRes.fromObject = function fromObject(object) { + if (object instanceof $root.cs.CSChatMsgRes) + return object; + return new $root.cs.CSChatMsgRes(); + }; + + /** + * Creates a plain object from a CSChatMsgRes message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.CSChatMsgRes + * @static + * @param {cs.CSChatMsgRes} message CSChatMsgRes + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CSChatMsgRes.toObject = function toObject() { + return {}; + }; + + /** + * Converts this CSChatMsgRes to JSON. + * @function toJSON + * @memberof cs.CSChatMsgRes + * @instance + * @returns {Object.} JSON object + */ + CSChatMsgRes.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CSChatMsgRes + * @function getTypeUrl + * @memberof cs.CSChatMsgRes + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CSChatMsgRes.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.CSChatMsgRes"; + }; + + return CSChatMsgRes; + })(); + + cs.CSGetChatMsgReq = (function() { + + /** + * Properties of a CSGetChatMsgReq. + * @memberof cs + * @interface ICSGetChatMsgReq + * @property {number|null} [page] CSGetChatMsgReq page + * @property {number|null} [limit] CSGetChatMsgReq limit + */ + + /** + * Constructs a new CSGetChatMsgReq. + * @memberof cs + * @classdesc Represents a CSGetChatMsgReq. + * @implements ICSGetChatMsgReq + * @constructor + * @param {cs.ICSGetChatMsgReq=} [properties] Properties to set + */ + function CSGetChatMsgReq(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CSGetChatMsgReq page. + * @member {number} page + * @memberof cs.CSGetChatMsgReq + * @instance + */ + CSGetChatMsgReq.prototype.page = 0; + + /** + * CSGetChatMsgReq limit. + * @member {number} limit + * @memberof cs.CSGetChatMsgReq + * @instance + */ + CSGetChatMsgReq.prototype.limit = 0; + + /** + * Creates a new CSGetChatMsgReq instance using the specified properties. + * @function create + * @memberof cs.CSGetChatMsgReq + * @static + * @param {cs.ICSGetChatMsgReq=} [properties] Properties to set + * @returns {cs.CSGetChatMsgReq} CSGetChatMsgReq instance + */ + CSGetChatMsgReq.create = function create(properties) { + return new CSGetChatMsgReq(properties); + }; + + /** + * Encodes the specified CSGetChatMsgReq message. Does not implicitly {@link cs.CSGetChatMsgReq.verify|verify} messages. + * @function encode + * @memberof cs.CSGetChatMsgReq + * @static + * @param {cs.ICSGetChatMsgReq} message CSGetChatMsgReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSGetChatMsgReq.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.page != null && Object.hasOwnProperty.call(message, "page")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.page); + if (message.limit != null && Object.hasOwnProperty.call(message, "limit")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.limit); + return writer; + }; + + /** + * Encodes the specified CSGetChatMsgReq message, length delimited. Does not implicitly {@link cs.CSGetChatMsgReq.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.CSGetChatMsgReq + * @static + * @param {cs.ICSGetChatMsgReq} message CSGetChatMsgReq message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSGetChatMsgReq.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CSGetChatMsgReq message from the specified reader or buffer. + * @function decode + * @memberof cs.CSGetChatMsgReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.CSGetChatMsgReq} CSGetChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSGetChatMsgReq.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.CSGetChatMsgReq(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + message.page = reader.int32(); + break; + } + case 2: { + message.limit = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CSGetChatMsgReq message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.CSGetChatMsgReq + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.CSGetChatMsgReq} CSGetChatMsgReq + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSGetChatMsgReq.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CSGetChatMsgReq message. + * @function verify + * @memberof cs.CSGetChatMsgReq + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CSGetChatMsgReq.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.page != null && message.hasOwnProperty("page")) + if (!$util.isInteger(message.page)) + return "page: integer expected"; + if (message.limit != null && message.hasOwnProperty("limit")) + if (!$util.isInteger(message.limit)) + return "limit: integer expected"; + return null; + }; + + /** + * Creates a CSGetChatMsgReq message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.CSGetChatMsgReq + * @static + * @param {Object.} object Plain object + * @returns {cs.CSGetChatMsgReq} CSGetChatMsgReq + */ + CSGetChatMsgReq.fromObject = function fromObject(object) { + if (object instanceof $root.cs.CSGetChatMsgReq) + return object; + var message = new $root.cs.CSGetChatMsgReq(); + if (object.page != null) + message.page = object.page | 0; + if (object.limit != null) + message.limit = object.limit | 0; + return message; + }; + + /** + * Creates a plain object from a CSGetChatMsgReq message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.CSGetChatMsgReq + * @static + * @param {cs.CSGetChatMsgReq} message CSGetChatMsgReq + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CSGetChatMsgReq.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.page = 0; + object.limit = 0; + } + if (message.page != null && message.hasOwnProperty("page")) + object.page = message.page; + if (message.limit != null && message.hasOwnProperty("limit")) + object.limit = message.limit; + return object; + }; + + /** + * Converts this CSGetChatMsgReq to JSON. + * @function toJSON + * @memberof cs.CSGetChatMsgReq + * @instance + * @returns {Object.} JSON object + */ + CSGetChatMsgReq.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CSGetChatMsgReq + * @function getTypeUrl + * @memberof cs.CSGetChatMsgReq + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CSGetChatMsgReq.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.CSGetChatMsgReq"; + }; + + return CSGetChatMsgReq; + })(); + + cs.CSGetChatMsgRes = (function() { + + /** + * Properties of a CSGetChatMsgRes. + * @memberof cs + * @interface ICSGetChatMsgRes + * @property {Array.|null} [msgs] CSGetChatMsgRes msgs + */ + + /** + * Constructs a new CSGetChatMsgRes. + * @memberof cs + * @classdesc Represents a CSGetChatMsgRes. + * @implements ICSGetChatMsgRes + * @constructor + * @param {cs.ICSGetChatMsgRes=} [properties] Properties to set + */ + function CSGetChatMsgRes(properties) { + this.msgs = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CSGetChatMsgRes msgs. + * @member {Array.} msgs + * @memberof cs.CSGetChatMsgRes + * @instance + */ + CSGetChatMsgRes.prototype.msgs = $util.emptyArray; + + /** + * Creates a new CSGetChatMsgRes instance using the specified properties. + * @function create + * @memberof cs.CSGetChatMsgRes + * @static + * @param {cs.ICSGetChatMsgRes=} [properties] Properties to set + * @returns {cs.CSGetChatMsgRes} CSGetChatMsgRes instance + */ + CSGetChatMsgRes.create = function create(properties) { + return new CSGetChatMsgRes(properties); + }; + + /** + * Encodes the specified CSGetChatMsgRes message. Does not implicitly {@link cs.CSGetChatMsgRes.verify|verify} messages. + * @function encode + * @memberof cs.CSGetChatMsgRes + * @static + * @param {cs.ICSGetChatMsgRes} message CSGetChatMsgRes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSGetChatMsgRes.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.msgs != null && message.msgs.length) + for (var i = 0; i < message.msgs.length; ++i) + $root.cs.ChatMsg.encode(message.msgs[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CSGetChatMsgRes message, length delimited. Does not implicitly {@link cs.CSGetChatMsgRes.verify|verify} messages. + * @function encodeDelimited + * @memberof cs.CSGetChatMsgRes + * @static + * @param {cs.ICSGetChatMsgRes} message CSGetChatMsgRes message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CSGetChatMsgRes.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CSGetChatMsgRes message from the specified reader or buffer. + * @function decode + * @memberof cs.CSGetChatMsgRes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {cs.CSGetChatMsgRes} CSGetChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSGetChatMsgRes.decode = function decode(reader, length, error) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.cs.CSGetChatMsgRes(); + while (reader.pos < end) { + var tag = reader.uint32(); + if (tag === error) + break; + switch (tag >>> 3) { + case 1: { + if (!(message.msgs && message.msgs.length)) + message.msgs = []; + message.msgs.push($root.cs.ChatMsg.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CSGetChatMsgRes message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof cs.CSGetChatMsgRes + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {cs.CSGetChatMsgRes} CSGetChatMsgRes + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CSGetChatMsgRes.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CSGetChatMsgRes message. + * @function verify + * @memberof cs.CSGetChatMsgRes + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CSGetChatMsgRes.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.msgs != null && message.hasOwnProperty("msgs")) { + if (!Array.isArray(message.msgs)) + return "msgs: array expected"; + for (var i = 0; i < message.msgs.length; ++i) { + var error = $root.cs.ChatMsg.verify(message.msgs[i]); + if (error) + return "msgs." + error; + } + } + return null; + }; + + /** + * Creates a CSGetChatMsgRes message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof cs.CSGetChatMsgRes + * @static + * @param {Object.} object Plain object + * @returns {cs.CSGetChatMsgRes} CSGetChatMsgRes + */ + CSGetChatMsgRes.fromObject = function fromObject(object) { + if (object instanceof $root.cs.CSGetChatMsgRes) + return object; + var message = new $root.cs.CSGetChatMsgRes(); + if (object.msgs) { + if (!Array.isArray(object.msgs)) + throw TypeError(".cs.CSGetChatMsgRes.msgs: array expected"); + message.msgs = []; + for (var i = 0; i < object.msgs.length; ++i) { + if (typeof object.msgs[i] !== "object") + throw TypeError(".cs.CSGetChatMsgRes.msgs: object expected"); + message.msgs[i] = $root.cs.ChatMsg.fromObject(object.msgs[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CSGetChatMsgRes message. Also converts values to other types if specified. + * @function toObject + * @memberof cs.CSGetChatMsgRes + * @static + * @param {cs.CSGetChatMsgRes} message CSGetChatMsgRes + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CSGetChatMsgRes.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.msgs = []; + if (message.msgs && message.msgs.length) { + object.msgs = []; + for (var j = 0; j < message.msgs.length; ++j) + object.msgs[j] = $root.cs.ChatMsg.toObject(message.msgs[j], options); + } + return object; + }; + + /** + * Converts this CSGetChatMsgRes to JSON. + * @function toJSON + * @memberof cs.CSGetChatMsgRes + * @instance + * @returns {Object.} JSON object + */ + CSGetChatMsgRes.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CSGetChatMsgRes + * @function getTypeUrl + * @memberof cs.CSGetChatMsgRes + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CSGetChatMsgRes.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/cs.CSGetChatMsgRes"; + }; + + return CSGetChatMsgRes; + })(); + cs.CSLoginReq = (function() { /** diff --git a/proto_cs b/proto_cs index 664c8ad7..f055100c 160000 --- a/proto_cs +++ b/proto_cs @@ -1 +1 @@ -Subproject commit 664c8ad737a91ffcbe862180fefd5a450777ce9a +Subproject commit f055100cf0f378ddd96d8e153655b5166c65e6e8 From cd05c4d3a8e2f8f182e23d18393c10b0be426473 Mon Sep 17 00:00:00 2001 From: chen wei bo <1025839511@qq.com> Date: Wed, 3 Sep 2025 17:35:27 +0800 Subject: [PATCH 4/5] =?UTF-8?q?=E6=A8=A1=E6=8B=9F=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=EF=BC=9A=E6=8A=80=E5=B8=88=E7=9A=84=E8=AF=A6=E7=BB=86=E6=95=B0?= =?UTF-8?q?=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assets/Scripts/chat18x/data/GirlData.ts | 176 +++++++++++++++--- .../network/services/MockGirlService.ts | 67 +++++-- .../chat18x/ui/panels/GirlDetailPanel.ts | 132 +++++-------- .../chat18x/uiitems/DetailImageItem.ts | 35 +++- .../Scripts/chat18x/uiitems/GirlListItem.ts | 3 +- 5 files changed, 271 insertions(+), 142 deletions(-) diff --git a/assets/Scripts/chat18x/data/GirlData.ts b/assets/Scripts/chat18x/data/GirlData.ts index 6867c8bb..4669df19 100644 --- a/assets/Scripts/chat18x/data/GirlData.ts +++ b/assets/Scripts/chat18x/data/GirlData.ts @@ -88,14 +88,16 @@ export class GirlData extends BaseData { private parseOneGirlBrief(data: proto.cs.IGirlBrief): proto.cs.IGirlBrief | null { if (!data) return null; const oneData: proto.cs.IGirlBrief = { - id: data.id, // id - name: data.name, // 名字 - age: data.age, // 年龄 - tagKey: data.tagKey, // 标签 - priceType: data.priceType, // 付费类型 - price: data.price, // 价格 - avatar: data.avatar, // 头像 - star: data.star, // 星级 + id: data.id, // id + name: data.name, // 名字 + age: data.age, // 年龄 + tagKey: data.tagKey, // 标签 + priceType: data.priceType, // 付费类型 + price: data.price, // 价格 + avatar: data.avatar, // 头像 + star: data.star, // 星级 + category: data.category, // 主题枚举 + listAvatarPath: data.listAvatarPath, // list头像路径 }; return oneData; } @@ -174,25 +176,40 @@ export class GirlData extends BaseData { return oneData.star; } + /** 获取主题枚举 */ + public getGrilCategory(categoryId: string, girlId: number): number { + let oneData = this.getGrilBrief(categoryId, girlId); + if (!oneData) return 0; + return oneData.category; + } + + /** 获取list头像路径 */ + public getGrilListAvatar(categoryId: string, girlId: number): string { + let oneData = this.getGrilBrief(categoryId, girlId); + if (!oneData) return ""; + return oneData.listAvatarPath; + } + /** --------------------------------------------------------- 技师的详细数据 --------------------------------------------------------- */ // 解析技师图片数据,一个 - private parseOneGirlPhoto(data: proto.cs.IGirlPhoto): proto.cs.IGirlPhoto | null { + private parseOneGirlPhoto(data: proto.cs.IPurchaseCommercialImage): proto.cs.IPurchaseCommercialImage | null { if (!data) return null; - const oneData: proto.cs.IGirlPhoto = { - pic: data.pic, // 图片路径 + const oneData: proto.cs.IPurchaseCommercialImage = { + imageType: data.imageType, // 图片类型 + imagePrice: data.imagePrice, // 图片价格 + path: data.path, // 图片资源路径 isRelease: data.isRelease, // 是否解锁 - price: data.price, // 价格 }; return oneData; } // 解析技师图片数据,多个 - private parseAllGirlPhoto(data: proto.cs.IGirlPhoto[]): proto.cs.IGirlPhoto[] | null { + private parseAllGirlPhoto(data: proto.cs.IPurchaseCommercialImage[]): proto.cs.IPurchaseCommercialImage[] | null { if (!data) return null; let allData = []; for (const value of data) { - const oneData: proto.cs.IGirlPhoto = this.parseOneGirlPhoto(value); + const oneData: proto.cs.IPurchaseCommercialImage = this.parseOneGirlPhoto(value); if (oneData) { allData.push(oneData); } @@ -200,17 +217,44 @@ export class GirlData extends BaseData { return allData; } + // 解析技师视频数据,一个 + private parseOneGirlVideo(data: proto.cs.IPurchaseCommercialVideo): proto.cs.IPurchaseCommercialVideo | null { + if (!data) return null; + const oneData: proto.cs.IPurchaseCommercialVideo = { + path: data.path, // 视频资源路径 + emotion: data.emotion, // 关联情绪 + videoPrice: data.videoPrice, // 价格 + isRelease: data.isRelease, // 是否解锁 + }; + return oneData; + } + + // 解析技师视频数据,多个 + private parseAllGirlVideo(data: proto.cs.IPurchaseCommercialVideo[]): proto.cs.IPurchaseCommercialVideo[] | null { + if (!data) return null; + let allData = []; + for (const value of data) { + const oneData: proto.cs.IPurchaseCommercialVideo = this.parseOneGirlVideo(value); + if (oneData) { + allData.push(oneData); + } + } + return allData; + } + // 解析技师详细数据,一个 private parseOneGirlDetail(data: proto.cs.IGirlDetail): proto.cs.IGirlDetail | null { if (!data) return null; - const photoData = this.parseAllGirlPhoto(data.photos); + const photoData = this.parseAllGirlPhoto(data.images); + const videoData = this.parseAllGirlVideo(data.videos); const briefData = this.parseOneGirlBrief(data.brief); const oneData: proto.cs.IGirlDetail = { brief: briefData, // 技师简要数据 - desc: data.desc, // 技师描述 - photos: photoData, // 技师图片列表 + desc: data.desc, // 技师描述 isRelease: data.isRelease, // 技师是否解锁 chatCount: data.chatCount, // 剩余聊天次数 + images: photoData, // 技师图片列表 + videos: videoData, // 技师视频列表 }; return oneData; } @@ -271,21 +315,49 @@ export class GirlData extends BaseData { return oneData.chatCount; } - /** 获取技师图片数据,通过 index */ - public getGrilPhotoData(categoryId: string, girlId: number, index: number): proto.cs.IGirlPhoto | null { + /** 获取所有技师图片数据 */ + private getAllGrilPhotoData(categoryId: string, girlId: number): proto.cs.IPurchaseCommercialImage[] | null { let oneData = this.getGrilDetail(categoryId, girlId); - if (!oneData || !oneData.photos) return null; - // 下标越界保护 - if (index < 0 || index >= oneData.photos.length) return null; - - return oneData.photos[index] ?? null; + if (!oneData || !oneData.images) return null; + return oneData.images; } + /** 获取所有技师图片数据的数量 */ + public getAllGrilPhotoDataCount(categoryId: string, girlId: number): number { + let allData = this.getAllGrilPhotoData(categoryId, girlId); + if (!allData) return 0; + return allData.length; + } + + /** 获取技师图片数据,通过 index */ + private getGrilPhotoData(categoryId: string, girlId: number, index: number): proto.cs.IPurchaseCommercialImage | null { + let allData = this.getAllGrilPhotoData(categoryId, girlId); + if (!allData) return null; + // 下标越界保护 + if (index < 0 || index >= allData.length) return null; + + return allData[index] ?? null; + } + + /** 获取技师图片的类型 */ + public getGrilPhotoType(categoryId: string, girlId: number, index: number): number { + let oneData = this.getGrilPhotoData(categoryId, girlId, index); + if (!oneData) return 0; + return oneData.imageType; + } + + /** 获取技师图片的价格 */ + public getGrilPhotoPrice(categoryId: string, girlId: number, index: number): number { + let oneData = this.getGrilPhotoData(categoryId, girlId, index); + if (!oneData) return 0; + return oneData.imagePrice; + } + /** 获取技师图片的路径 */ public getGrilPhotoPic(categoryId: string, girlId: number, index: number): string { let oneData = this.getGrilPhotoData(categoryId, girlId, index); if (!oneData) return ""; - return oneData.pic; + return oneData.path; } /** 获取技师图片是否解锁 */ @@ -295,11 +367,57 @@ export class GirlData extends BaseData { return oneData.isRelease; } - /** 获取技师图片的价格 */ - public getGrilPhotoPrice(categoryId: string, girlId: number, index: number): number { - let oneData = this.getGrilPhotoData(categoryId, girlId, index); + /** 获取所有技师视频数据 */ + private getAllGrilVideoData(categoryId: string, girlId: number): proto.cs.IPurchaseCommercialVideo[] | null { + let oneData = this.getGrilDetail(categoryId, girlId); + if (!oneData || !oneData.videos) return null; + + return oneData.videos ?? null; + } + + /** 获取所有技师视频数据的数量 */ + public getAllGrilVideoDataCount(categoryId: string, girlId: number): number { + let allData = this.getAllGrilVideoData(categoryId, girlId); + if (!allData) return 0; + return allData.length; + } + + /** 获取技师视频数据,通过 index */ + private getGrilVideoData(categoryId: string, girlId: number, index: number): proto.cs.IPurchaseCommercialVideo | null { + let allData = this.getAllGrilVideoData(categoryId, girlId); + if (!allData) return null; + // 下标越界保护 + if (index < 0 || index >= allData.length) return null; + + return allData[index] ?? null; + } + + /** 获取技师视频的路径 */ + public getGrilVideoPath(categoryId: string, girlId: number, index: number): string { + let oneData = this.getGrilVideoData(categoryId, girlId, index); + if (!oneData) return ""; + return oneData.path; + } + + /** 获取技师视频的关联情绪 */ + public getGrilVideoEmotion(categoryId: string, girlId: number, index: number): number { + let oneData = this.getGrilVideoData(categoryId, girlId, index); if (!oneData) return 0; - return oneData.price; + return oneData.emotion; + } + + /** 获取技师视频的价格 */ + public getGrilVideoPrice(categoryId: string, girlId: number, index: number): number { + let oneData = this.getGrilVideoData(categoryId, girlId, index); + if (!oneData) return 0; + return oneData.videoPrice; + } + + /** 获取技师视频是否解锁 */ + public getGrilVideoIsRelease(categoryId: string, girlId: number, index: number): boolean { + let oneData = this.getGrilVideoData(categoryId, girlId, index); + if (!oneData) return false; + return oneData.isRelease; } /** --------------------------------------------------------- 每日推荐 --------------------------------------------------------- */ diff --git a/assets/Scripts/chat18x/network/services/MockGirlService.ts b/assets/Scripts/chat18x/network/services/MockGirlService.ts index 8f6d73d5..89a27835 100644 --- a/assets/Scripts/chat18x/network/services/MockGirlService.ts +++ b/assets/Scripts/chat18x/network/services/MockGirlService.ts @@ -15,7 +15,7 @@ export class MockGirlService implements IGirlService { return ({ code: 100, error: { message } } as unknown) as ApiResponse; } - private genBrief(id: number, name: string, age: number, tagKey: string, priceType: number, price: number, avatar: string, star: number): proto.cs.IGirlBrief { + private genBrief(id: number, name: string, age: number, tagKey: string, priceType: number, price: number, avatar: string, star: number, category: number, listAvatarPath: string): proto.cs.IGirlBrief { return { id, name, @@ -25,22 +25,35 @@ export class MockGirlService implements IGirlService { price, avatar, star, + category, + listAvatarPath, }; } - private genPhoto(pic: string, isRelease: boolean, price: number): proto.cs.IGirlPhoto { + private genPhoto(imageType: number, imagePrice: number, path: string, isRelease: boolean, ): proto.cs.IPurchaseCommercialImage { return { - pic, + imageType, + imagePrice, + path, isRelease, - price, }; } - private genDetail(brief: proto.cs.IGirlBrief, desc: string, photos: proto.cs.IGirlPhoto[], isRelease: boolean, chatCount: number): proto.cs.IGirlDetail { + private genVideo(path: string, emotion: number, videoPrice: number, isRelease: boolean): proto.cs.IPurchaseCommercialVideo { + return { + path, + emotion, + videoPrice, + isRelease, + }; + } + + private genDetail(brief: proto.cs.IGirlBrief, desc: string, images: proto.cs.IPurchaseCommercialImage[], videos: proto.cs.IPurchaseCommercialVideo[], isRelease: boolean, chatCount: number): proto.cs.IGirlDetail { return { brief, desc, - photos, + images, + videos, isRelease, chatCount, }; @@ -61,7 +74,9 @@ export class MockGirlService implements IGirlService { let price = 9.9; let avatar = configData.getAvatarPathById(recId); let star = 3; - let oneData = this.genBrief(recId, name, age, tagKey, priceType, price, avatar, star); + let category = configData.getCategoryById(recId); + let listAvatarPath = configData.getListAvatarPathPathById(recId); + let oneData = this.genBrief(recId, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath); // 返回数据 const girls = [oneData]; return this.ok({ girls }); @@ -106,7 +121,10 @@ export class MockGirlService implements IGirlService { // 星级兜底:1~5 const star = (id % 5) + 1; - return this.genBrief(id, name, age, tagKey, priceType, price, avatar, star); + const category = configData.getCategoryById(id); + const listAvatarPath = configData.getListAvatarPathPathById(id); + + return this.genBrief(id, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath); }); // 返回数据 return this.ok({ girls }); @@ -121,7 +139,7 @@ export class MockGirlService implements IGirlService { const girlDetailConfig = ConfigManager.I.getDataById(ConfigId.GirlDetail); // id const girlId = req.id; - + // 简要数据 let name = girlConfig.getNameById(girlId); let age = Number(girlConfig.getAgeById(girlId)); let tagKey = girlConfig.getTagKeyById(girlId); @@ -129,24 +147,37 @@ export class MockGirlService implements IGirlService { let price = 9.9; let avatar = girlConfig.getAvatarPathById(girlId); let star = 3; - let briefData = this.genBrief(girlId, name, age, tagKey, priceType, price, avatar, star); + let category = girlConfig.getCategoryById(girlId); + let listAvatarPath = girlConfig.getListAvatarPathPathById(girlId); + let briefData = this.genBrief(girlId, name, age, tagKey, priceType, price, avatar, star, category, listAvatarPath); let desc = girlDetailConfig.getDetailDescById(girlId); let isRelease = Math.random() < 0.4; let chatCount = 10; - + // 图片 let photoData = []; let photoCount = girlDetailConfig.getCommercialImagesCount(girlId); - for (let i = 0; i < photoCount; i++) { + let imageType = girlDetailConfig.getImageTypeById(girlId, i); let imagePath = girlDetailConfig.getImagePathById(girlId, i); - let isImageRelease = Math.random() < 0.4; - let imagePrice = 9.9; - let onePhotoData = this.genPhoto(imagePath, isImageRelease, imagePrice); - photoData.push(onePhotoData); + let isRelease = Math.random() < 0.4; + let imagePrice = girlDetailConfig.getImagePriceById(girlId, i); + let oneData = this.genPhoto(imageType, imagePrice, imagePath, isRelease); + photoData.push(oneData); } - - let detail = this.genDetail(briefData, desc, photoData, isRelease, chatCount); + // 视频 + let videoData = []; + let videoCount = girlDetailConfig.getCommercialVideosCount(girlId); + for (let i = 0; i < videoCount; i++) { + let videoPath = girlDetailConfig.getVideoPathById(girlId, i); + let videoEmotion = girlDetailConfig.getVideoEmotionById(girlId, i); + let videoPrice = girlDetailConfig.getVideoPriceById(girlId, i); + let isRelease = Math.random() < 0.4; + let oneData = this.genVideo(videoPath, videoEmotion, videoPrice, isRelease); + videoData.push(oneData); + } + // 详细数据 + let detail = this.genDetail(briefData, desc, photoData, videoData, isRelease, chatCount); // 返回数据 return this.ok({ detail }); } diff --git a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts index 3a4aaabc..ba95508b 100644 --- a/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts +++ b/assets/Scripts/chat18x/ui/panels/GirlDetailPanel.ts @@ -135,7 +135,7 @@ export class GirlDetailPanel extends li_BaseView { } nameKey: string; tagKey: string; - category; + category: number; async refresh(index: number) { // TODO,暂时这样获取,修改后从GirlData获取 const girlConfig = ConfigManager.tables.TbGirls.get(this.id); @@ -144,109 +144,71 @@ export class GirlDetailPanel extends li_BaseView { const reqData = { id: this.id, }; - // let res = await GirlService.I.reqGetGirlDetail(reqData); - // console.log("看看响应数据:", res); - // if (res && res.code === proto.cs.EnmRetCode.SUCCESS) { - // // 保存数据 - // const girlData = DataManager.I.getDataById(DataId.Girl); - // girlData.setGirlDetails(this.category.toString(), res.data); - // // 根据数据,刷新界面 - // this.nameKey = girlData.getGrilName(this.category, this.id); - // this.girlName.string = LanguageUtils.getText(this.nameKey); - // this.desc.string = girlData.getGrilDesc(this.category, this.id); + let res = await GirlService.I.reqGetGirlDetail(reqData); + if (res && res.code === proto.cs.EnmRetCode.SUCCESS) { + // 保存数据 + const girlData = DataManager.I.getDataById(DataId.Girl); + girlData.setGirlDetails(this.category.toString(), res.data); + // 根据数据,刷新界面 + this.nameKey = girlData.getGrilName(this.category.toString(), this.id); + this.girlName.string = LanguageUtils.getText(this.nameKey); + this.desc.string = girlData.getGrilDesc(this.category.toString(), this.id); - // let desc = ""; - // this.tagKey = girlData.getGrilTagKey(this.category, this.id); - // const tags = LanguageUtils.getText(this.tagKey).split("|"); - // for (let i = 0; i < tags.length; i++) { - // if (i != 0) desc += "|"; - // desc += tags[i]; - // } - // this.tags.string = desc; - // for (let i = 0; i < 5; i++) { - // this.starParent.children[i].active = i < 5; - // } - // let age = girlData.getGrilAge(this.category, this.id); - // this.descAge.string = - // LanguageUtils.getText("girldetailpanel.age") + age.toString(); + let desc = ""; + this.tagKey = girlData.getGrilTagKey(this.category.toString(), this.id); + const tags = LanguageUtils.getText(this.tagKey).split("|"); + for (let i = 0; i < tags.length; i++) { + if (i != 0) desc += "|"; + desc += tags[i]; + } + this.tags.string = desc; + for (let i = 0; i < 5; i++) { + this.starParent.children[i].active = i < 5; + } + let age = girlData.getGrilAge(this.category.toString(), this.id); + this.descAge.string = + LanguageUtils.getText("girldetailpanel.age") + age.toString(); - // // TODO - // const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); + const firstPath = girlData.getGrilVideoPath(this.category.toString(), this.id, 0); + ResManager.I.changeBundleVideo( + this.avatarVideo, + firstPath, + "Chat18x" + ); - // ResManager.I.changeBundleVideo( - // this.avatarVideo, - // dataDetail.commercialVideos[0].path, - // "Chat18x" - // ); - - // // 也立即尝试调整(以防已经加载完成) - // this.adjustVideoScale(); - // this.vids = dataDetail.commercialVideos.slice(0); - // this.refreshImgs(dataDetail.commercialImages); - - - // } - - - const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); - console.log(dataDetail); - - const data = ConfigManager.tables.TbGirls.get(this.id); - this.nameKey = data.nameKey; - this.girlName.string = LanguageUtils.getText(data.nameKey); - - this.desc.string = dataDetail.detailDesc; - let desc = ""; - this.tagKey = data.tagKey; - const tags = LanguageUtils.getText(data.tagKey).split("|"); - for (let i = 0; i < tags.length; i++) { - if (i != 0) desc += "|"; - desc += tags[i]; - } - this.tags.string = desc; - for (let i = 0; i < 5; i++) { - this.starParent.children[i].active = i < 5; - } - this.descAge.string = - LanguageUtils.getText("girldetailpanel.age") + data.age.toString(); - this.desc.string = dataDetail.detailDesc; - - ResManager.I.changeBundleVideo( - this.avatarVideo, - dataDetail.commercialVideos[0].path, - "Chat18x" - ); - - // 也立即尝试调整(以防已经加载完成) - this.adjustVideoScale(); - this.vids = dataDetail.commercialVideos.slice(0); - this.refreshImgs(dataDetail.commercialImages); + let allPhotoDataCount = girlData.getAllGrilPhotoDataCount(this.category.toString(), this.id); + // 也立即尝试调整(以防已经加载完成) + this.adjustVideoScale(); + this.refreshImgs(1, this.category, this.id, allPhotoDataCount); + } } - vids: purchase.CommercialVideo[]; bindImgToggle() { - const dataDetail = ConfigManager.tables.TbGirlsDetail.get(this.id); - const images = dataDetail.commercialImages; - - this.refreshImgs(images); + const girlData = DataManager.I.getDataById(DataId.Girl); + let allPhotoDataCount = girlData.getAllGrilPhotoDataCount(this.category.toString(), this.id); + this.refreshImgs(1, this.category, this.id, allPhotoDataCount); } bindVideoToggle() { - this.refreshImgs(this.vids); + const girlData = DataManager.I.getDataById(DataId.Girl); + let allVideoDataCount = girlData.getAllGrilVideoDataCount(this.category.toString(), this.id); + this.refreshImgs(2, this.category, this.id, allVideoDataCount); } refreshImgs( - resouces: purchase.CommercialImage[] | purchase.CommercialVideo[] + type: number, + category: number, + id: number, + count: number ) { for (let i = this.imgsLayout.children.length - 1; i >= 0; i--) { this.imgsLayout.children[i].destroy(); } - for (let i = 1; i < resouces.length; i++) { - const resource = resouces[i]; + for (let i = 0; i < count; i++) { let newNode = instantiate(this.imgItemInst.node); let item = newNode.getComponent(DetailImageItem); - item.refresh(resource, this); + item.refresh(this, type, category, id, i); newNode.active = true; this.imgsLayout.addChild(newNode); } diff --git a/assets/Scripts/chat18x/uiitems/DetailImageItem.ts b/assets/Scripts/chat18x/uiitems/DetailImageItem.ts index da94fcd2..3eb5c19f 100644 --- a/assets/Scripts/chat18x/uiitems/DetailImageItem.ts +++ b/assets/Scripts/chat18x/uiitems/DetailImageItem.ts @@ -5,6 +5,9 @@ import { ViewManager } from "db://assets/Scripts/Main/Manager/ViewManager"; import { GButton } from "db://assets/Scripts/Main/Common/GButton"; import { GirlDetailPanel } from "../ui/panels/GirlDetailPanel"; import { purchase } from "../../schema/schema"; +import proto from 'db://assets/Scripts/proto/proto.pb.js'; +import { DataManager, DataId } from "../data/DataManager"; +import { GirlData } from "../data/GirlData"; const { ccclass, property } = _decorator; @@ -22,6 +25,10 @@ export class DetailImageItem extends Component { url: string; isImage: boolean; uitransform: UITransform; + category: number; + id: number; + index: number; + type : number; onLoad() { GButton.BandClick(this.node, this.onClickThis, this); @@ -82,21 +89,33 @@ export class DetailImageItem extends Component { } } refresh( - resource: purchase.CommercialImage | purchase.CommercialVideo, - base: GirlDetailPanel + base: GirlDetailPanel, + type: number, + category: number, + id: number, + index: number ) { this.base = base; + this.type = type; + this.category = category; + this.id = id; + this.index = index; this.lock.active = false; this.question.active = true; // 显示问号,表示加载中 - this.url = resource.path; - let imgPath = this.url; - - if (resource instanceof purchase.CommercialImage) { + const girlData = DataManager.I.getDataById(DataId.Girl); + let imgPath = ""; + if (type === 1) { + // 图片 + this.url = girlData.getGrilPhotoPic(this.category.toString(), this.id, this.index); + imgPath = this.url; this.isImage = true; - } else { + } else if (type === 2) { + // 视频 this.isImage = false; - if (resource.videoPrice > 0) { + this.url = girlData.getGrilVideoPath(this.category.toString(), this.id, this.index); + let videoPrice = girlData.getGrilVideoPrice(this.category.toString(), this.id, this.index); + if (videoPrice > 0) { imgPath = this.url + "_thumbnail_blur"; } else { imgPath = this.url + "_thumbnail"; diff --git a/assets/Scripts/chat18x/uiitems/GirlListItem.ts b/assets/Scripts/chat18x/uiitems/GirlListItem.ts index 24b024b9..185f0505 100644 --- a/assets/Scripts/chat18x/uiitems/GirlListItem.ts +++ b/assets/Scripts/chat18x/uiitems/GirlListItem.ts @@ -87,8 +87,7 @@ export class GirlListItem extends Component { this.price.node.active = priceType == PriceType.pay; this.freeNode.active = priceType == PriceType.free; this.tryNode.active = priceType == PriceType.first_time_free; - // TODO,先用 AvatarPath 代替着 listAvatarPath - let listAvatarPath = girlData.getGrilAvatar(this.category.toString(), this.id); + let listAvatarPath = girlData.getGrilListAvatar(this.category.toString(), this.id); ResManager.I.changeBundleSpriteFrame( this.avatar, listAvatarPath, From 0911e8d2a333f9f28704bbcdec321901396cd6df Mon Sep 17 00:00:00 2001 From: zcl <25492220@QQ.COM> Date: Thu, 4 Sep 2025 15:14:55 +0800 Subject: [PATCH 5/5] 1 --- assets/Scripts/schema/schema.ts | 94 ++++++++++++-------- assets/bundles/DataTable/tbgirls.bin | Bin 1310 -> 1339 bytes assets/bundles/DataTable/tbglobalconfig.bin | Bin 2306 -> 2323 bytes xchat_cfg | 2 +- 4 files changed, 59 insertions(+), 37 deletions(-) diff --git a/assets/Scripts/schema/schema.ts b/assets/Scripts/schema/schema.ts index 270a0630..162c7e05 100644 --- a/assets/Scripts/schema/schema.ts +++ b/assets/Scripts/schema/schema.ts @@ -75,7 +75,7 @@ export enum VideoEmotion { -export class AiCharacter { +export class AiCharacters { constructor(_buf_: ByteBuf) { this.id = _buf_.readInt() @@ -107,7 +107,7 @@ export class AiCharacter { -export class Girl { +export class Girls { constructor(_buf_: ByteBuf) { this.id = _buf_.readInt() @@ -116,6 +116,8 @@ export class Girl { this.category = _buf_.readInt() this.tagKey = _buf_.readString() this.priceType = _buf_.readInt() + this.price = _buf_.readInt() + this.vipUnlock = _buf_.readInt() this.avatarPath = _buf_.readString() this.listAvatarPath = _buf_.readString() } @@ -144,6 +146,14 @@ export class Girl { * 付费类型 */ readonly priceType: PriceType + /** + * 购买价格 + */ + readonly price: number + /** + * VIP能否解锁 + */ + readonly vipUnlock: number /** * 头像路径 */ @@ -162,6 +172,8 @@ export class Girl { + + } } @@ -169,7 +181,7 @@ export class Girl { -export class GirlDetail { +export class GirlsDetail { constructor(_buf_: ByteBuf) { this.id = _buf_.readInt() @@ -220,6 +232,7 @@ export class GlobalConfig { this.GameName = _buf_.readString() this.EmotionRating = _buf_.readString() this.girlBasePrompt = _buf_.readString() + this.dailyRecommendGirl = _buf_.readInt() } /** @@ -259,6 +272,10 @@ export class GlobalConfig { * ai机器人基础规则 */ readonly girlBasePrompt: string + /** + * 每日推荐技师ID,参见:girls.id + */ + readonly dailyRecommendGirl: number resolve(tables:Tables) { @@ -271,6 +288,7 @@ export class GlobalConfig { + } } @@ -424,7 +442,7 @@ export class PurchaseConfig { -export class Theme { +export class Themes { constructor(_buf_: ByteBuf) { this.id = _buf_.readInt() @@ -578,23 +596,23 @@ export class TbLanguage { export class TbGirls { - private _dataMap: Map - private _dataList: Girl[] + private _dataMap: Map + private _dataList: Girls[] constructor(_buf_: ByteBuf) { - this._dataMap = new Map() + this._dataMap = new Map() this._dataList = [] for(let n = _buf_.readInt(); n > 0; n--) { - let _v: Girl - _v = new Girl(_buf_) + let _v: Girls + _v = new Girls(_buf_) this._dataList.push(_v) this._dataMap.set(_v.id, _v) } } - getDataMap(): Map { return this._dataMap; } - getDataList(): Girl[] { return this._dataList; } + getDataMap(): Map { return this._dataMap; } + getDataList(): Girls[] { return this._dataList; } - get(key: number): Girl | undefined { + get(key: number): Girls | undefined { return this._dataMap.get(key); } @@ -611,23 +629,23 @@ export class TbGirls { export class TbGirlsDetail { - private _dataMap: Map - private _dataList: GirlDetail[] + private _dataMap: Map + private _dataList: GirlsDetail[] constructor(_buf_: ByteBuf) { - this._dataMap = new Map() + this._dataMap = new Map() this._dataList = [] for(let n = _buf_.readInt(); n > 0; n--) { - let _v: GirlDetail - _v = new GirlDetail(_buf_) + let _v: GirlsDetail + _v = new GirlsDetail(_buf_) this._dataList.push(_v) this._dataMap.set(_v.id, _v) } } - getDataMap(): Map { return this._dataMap; } - getDataList(): GirlDetail[] { return this._dataList; } + getDataMap(): Map { return this._dataMap; } + getDataList(): GirlsDetail[] { return this._dataList; } - get(key: number): GirlDetail | undefined { + get(key: number): GirlsDetail | undefined { return this._dataMap.get(key); } @@ -644,23 +662,23 @@ export class TbGirlsDetail { export class TbThemes { - private _dataMap: Map - private _dataList: Theme[] + private _dataMap: Map + private _dataList: Themes[] constructor(_buf_: ByteBuf) { - this._dataMap = new Map() + this._dataMap = new Map() this._dataList = [] for(let n = _buf_.readInt(); n > 0; n--) { - let _v: Theme - _v = new Theme(_buf_) + let _v: Themes + _v = new Themes(_buf_) this._dataList.push(_v) this._dataMap.set(_v.id, _v) } } - getDataMap(): Map { return this._dataMap; } - getDataList(): Theme[] { return this._dataList; } + getDataMap(): Map { return this._dataMap; } + getDataList(): Themes[] { return this._dataList; } - get(key: number): Theme | undefined { + get(key: number): Themes | undefined { return this._dataMap.get(key); } @@ -677,23 +695,23 @@ export class TbThemes { export class TbAiCharacters { - private _dataMap: Map - private _dataList: AiCharacter[] + private _dataMap: Map + private _dataList: AiCharacters[] constructor(_buf_: ByteBuf) { - this._dataMap = new Map() + this._dataMap = new Map() this._dataList = [] for(let n = _buf_.readInt(); n > 0; n--) { - let _v: AiCharacter - _v = new AiCharacter(_buf_) + let _v: AiCharacters + _v = new AiCharacters(_buf_) this._dataList.push(_v) this._dataMap.set(_v.id, _v) } } - getDataMap(): Map { return this._dataMap; } - getDataList(): AiCharacter[] { return this._dataList; } + getDataMap(): Map { return this._dataMap; } + getDataList(): AiCharacters[] { return this._dataList; } - get(key: number): AiCharacter | undefined { + get(key: number): AiCharacters | undefined { return this._dataMap.get(key); } @@ -756,6 +774,10 @@ export class TbGlobalConfig { * ai机器人基础规则 */ get girlBasePrompt(): string { return this._data.girlBasePrompt; } + /** + * 每日推荐技师ID,参见:girls.id + */ + get dailyRecommendGirl(): number { return this._data.dailyRecommendGirl; } resolve(tables:Tables) { this._data.resolve(tables) diff --git a/assets/bundles/DataTable/tbgirls.bin b/assets/bundles/DataTable/tbgirls.bin index 46141f9d071a7001de8e632b20056137afe86595..75fd1f92fdd93b1079973165ae5c6f7a70409e00 100644 GIT binary patch delta 115 zcmbQowVP{#Ix_=<>O?>JiSFS{&Ce&!tzc<>&Y(KkhEaa9DPuSz!{lzp3Xqb?T1@hj zm6^g>+OvV2g+R_Mrf_B;XYxm;a