From 30911fcf5c8b94bb0ecbd2e00f9231212979ad1c Mon Sep 17 00:00:00 2001 From: YuanHuakk <1751826683@qq.com> Date: Sat, 5 Oct 2024 04:22:34 +0800 Subject: [PATCH] i --- assets/FishSingle/pictures/share.meta | 24 +- .../pictures/share/btnclose.png.meta | 268 +- .../pictures/share/loadingicon.png.meta | 268 +- .../pictures/share/progressbar.png.meta | 268 +- .../pictures/share/progressbg.png.meta | 268 +- .../FishSingle/pictures/share/tipsbg.png.meta | 268 +- .../pictures/share/weihutips.png.meta | 268 +- assets/FishSingle/prefab.meta | 24 +- .../FishSingle/prefab/ProgressPrefab.prefab | 1346 +-- .../prefab/ProgressPrefab.prefab.meta | 26 +- assets/FishSingle/prefab/game.meta | 24 +- assets/FishSingle/prefab/game/fish.meta | 24 +- .../prefab/game/fish/FishWikiItem.prefab | 1840 +-- .../prefab/game/fish/FishWikiItem.prefab.meta | 26 +- assets/FishSingle/prefab/score.meta | 24 +- .../prefab/score/ScorePrefab.prefab | 724 +- .../prefab/score/ScorePrefab.prefab.meta | 26 +- assets/FishSingle/scene.meta | 24 +- assets/FishSingle/scene/FishGameScene.scene | 10072 ++++++++-------- .../FishSingle/scene/FishGameScene.scene.meta | 22 +- assets/FishSingle/scene/LoadingScene.scene | 2536 ++-- .../FishSingle/scene/LoadingScene.scene.meta | 22 +- assets/FishSingle/script.meta | 24 +- assets/FishSingle/script/engine.meta | 24 +- assets/FishSingle/script/engine/config.meta | 24 +- .../script/engine/config/CommonEvent.ts | 24 +- .../script/engine/config/CommonEvent.ts.meta | 22 +- .../script/engine/config/ManifestConfig.ts | 72 +- .../engine/config/ManifestConfig.ts.meta | 22 +- .../script/engine/config/MusicConfig.ts | 118 +- .../script/engine/config/MusicConfig.ts.meta | 22 +- .../script/engine/config/NetConfig.ts | 6 +- .../script/engine/config/NetConfig.ts.meta | 22 +- .../FishSingle/script/engine/uicomponent.meta | 24 +- .../script/engine/uicomponent/CommonTips.ts | 106 +- .../engine/uicomponent/CommonTips.ts.meta | 22 +- .../script/engine/uicomponent/DarkLayer.ts | 72 +- .../engine/uicomponent/DarkLayer.ts.meta | 22 +- .../script/engine/uicomponent/DialogBase.ts | 130 +- .../engine/uicomponent/DialogBase.ts.meta | 22 +- .../engine/uicomponent/LoadingPrefab.ts | 152 +- .../engine/uicomponent/LoadingPrefab.ts.meta | 22 +- .../engine/uicomponent/LoadingScenePrefab.ts | 152 +- .../uicomponent/LoadingScenePrefab.ts.meta | 22 +- .../script/engine/uicomponent/MusicPrefab.ts | 160 +- .../engine/uicomponent/MusicPrefab.ts.meta | 22 +- .../script/engine/uicomponent/Progress.ts | 110 +- .../engine/uicomponent/Progress.ts.meta | 22 +- .../script/engine/uicomponent/SoundPrefab.ts | 256 +- .../engine/uicomponent/SoundPrefab.ts.meta | 22 +- .../script/engine/uicomponent/TextureMgr.ts | 50 +- .../engine/uicomponent/TextureMgr.ts.meta | 22 +- assets/FishSingle/script/engine/utils.meta | 24 +- .../script/engine/utils/AdapterHelper.ts | 68 +- .../script/engine/utils/AdapterHelper.ts.meta | 22 +- .../FishSingle/script/engine/utils/BitUtil.ts | 84 +- .../script/engine/utils/BitUtil.ts.meta | 22 +- .../script/engine/utils/ColorHelper.ts | 22 +- .../script/engine/utils/ColorHelper.ts.meta | 22 +- .../script/engine/utils/DateUtil.ts | 166 +- .../script/engine/utils/DateUtil.ts.meta | 22 +- .../script/engine/utils/EventManager.ts | 246 +- .../script/engine/utils/EventManager.ts.meta | 22 +- assets/FishSingle/script/engine/utils/Grid.ts | 26 +- .../script/engine/utils/Grid.ts.meta | 22 +- .../script/engine/utils/HaoEncrypt.ts | 52 +- .../script/engine/utils/HaoEncrypt.ts.meta | 22 +- .../script/engine/utils/HotUpdate.ts | 514 +- .../script/engine/utils/HotUpdate.ts.meta | 22 +- .../script/engine/utils/HttpClient.ts | 260 +- .../script/engine/utils/HttpClient.ts.meta | 22 +- .../script/engine/utils/LocalStorage.ts | 110 +- .../script/engine/utils/LocalStorage.ts.meta | 22 +- .../FishSingle/script/engine/utils/Logger.ts | 172 +- .../script/engine/utils/Logger.ts.meta | 22 +- .../script/engine/utils/MathUtils.ts | 122 +- .../script/engine/utils/MathUtils.ts.meta | 22 +- .../script/engine/utils/MoveHelper.ts | 126 +- .../script/engine/utils/MoveHelper.ts.meta | 22 +- .../script/engine/utils/PrefabLoader.ts | 54 +- .../script/engine/utils/PrefabLoader.ts.meta | 22 +- .../script/engine/utils/RandomUtil.ts | 92 +- .../script/engine/utils/RandomUtil.ts.meta | 22 +- .../script/engine/utils/ShaderHelper.ts | 766 +- .../script/engine/utils/ShaderHelper.ts.meta | 22 +- .../script/engine/utils/VersionManager.ts | 266 +- .../engine/utils/VersionManager.ts.meta | 22 +- assets/FishSingle/script/game.meta | 24 +- assets/FishSingle/script/game/config.meta | 24 +- .../FishSingle/script/game/config/Config.ts | 12 +- .../script/game/config/Config.ts.meta | 18 +- .../script/game/config/FishConfig.ts | 172 +- .../script/game/config/FishConfig.ts.meta | 22 +- .../FishSingle/script/game/config/FishInfo.ts | 36 +- .../script/game/config/FishInfo.ts.meta | 22 +- .../FishSingle/script/game/config/FishMap.ts | 22 +- .../script/game/config/FishMap.ts.meta | 22 +- .../script/game/config/FishMapInfo.ts | 30 +- .../script/game/config/FishMapInfo.ts.meta | 22 +- .../script/game/config/FishPathConfig.ts | 1982 +-- .../script/game/config/FishPathConfig.ts.meta | 22 +- .../script/game/config/FishPathInfo.ts | 22 +- .../script/game/config/FishPathInfo.ts.meta | 22 +- .../script/game/config/GameConfig.ts | 6 +- .../script/game/config/GameConfig.ts.meta | 22 +- assets/FishSingle/script/game/manager.meta | 24 +- .../script/game/manager/BulletManager.ts | 312 +- .../script/game/manager/BulletManager.ts.meta | 22 +- .../script/game/manager/CannonManager.ts | 144 +- .../script/game/manager/CannonManager.ts.meta | 22 +- .../script/game/manager/FishManager.ts | 544 +- .../script/game/manager/FishManager.ts.meta | 22 +- .../script/game/manager/FishNetManager.ts | 106 +- .../game/manager/FishNetManager.ts.meta | 22 +- .../script/game/manager/ScoreManager.ts | 108 +- .../script/game/manager/ScoreManager.ts.meta | 22 +- .../script/game/manager/WsManager.ts | 274 +- .../script/game/manager/WsManager.ts.meta | 18 +- assets/FishSingle/script/game/prefab.meta | 24 +- .../script/game/prefab/ResourcePrefab.ts | 72 +- .../script/game/prefab/ResourcePrefab.ts.meta | 22 +- .../script/game/prefab/ScorePrefab.ts | 54 +- .../script/game/prefab/ScorePrefab.ts.meta | 22 +- .../game/prefab/ShaderMaterialPrefab.ts | 100 +- .../game/prefab/ShaderMaterialPrefab.ts.meta | 22 +- assets/FishSingle/script/game/scene.meta | 24 +- .../script/game/scene/FishGameScene.ts | 222 +- .../script/game/scene/FishGameScene.ts.meta | 22 +- .../script/game/scene/LoadingScene.ts | 274 +- .../script/game/scene/LoadingScene.ts.meta | 22 +- .../script/game/scene/SceneManager.ts | 146 +- .../script/game/scene/SceneManager.ts.meta | 22 +- .../FishSingle/script/game/uicomponent.meta | 24 +- .../script/game/uicomponent/Astar.ts | 366 +- .../script/game/uicomponent/Astar.ts.meta | 22 +- assets/FishSingle/script/game/utils.meta | 24 +- .../script/game/utils/GameMusicHelper.ts | 36 +- .../script/game/utils/GameMusicHelper.ts.meta | 22 +- .../script/game/utils/ResourcePreload.ts | 128 +- .../script/game/utils/ResourcePreload.ts.meta | 22 +- .../script/game/utils/TimeHelper.ts | 14 +- .../script/game/utils/TimeHelper.ts.meta | 18 +- assets/FishSingle/script/game/utils/UIRoot.ts | 32 +- .../script/game/utils/UIRoot.ts.meta | 18 +- assets/FishSingle/shader.meta | 24 +- assets/FishSingle/shader/effects.meta | 24 +- .../effects/builtin-2d-sprite-explain.effect | 270 +- .../builtin-2d-sprite-explain.effect.meta | 22 +- .../shader/effects/sprite-flag.effect | 152 +- .../shader/effects/sprite-flag.effect.meta | 22 +- .../shader/effects/sprite-flash-light.effect | 470 +- .../effects/sprite-flash-light.effect.meta | 22 +- .../effects/sprite-gaussian-blur-v1.effect | 392 +- .../sprite-gaussian-blur-v1.effect.meta | 22 +- .../shader/effects/sprite-glow-inner.effect | 516 +- .../effects/sprite-glow-inner.effect.meta | 22 +- .../shader/effects/sprite-glow-outter.effect | 582 +- .../effects/sprite-glow-outter.effect.meta | 22 +- .../shader/effects/sprite-gray.effect | 220 +- .../shader/effects/sprite-gray.effect.meta | 22 +- .../shader/effects/sprite-mosaic.effect | 292 +- .../shader/effects/sprite-mosaic.effect.meta | 22 +- .../shader/effects/sprite-old-photo.effect | 244 +- .../effects/sprite-old-photo.effect.meta | 22 +- .../shader/effects/sprite-outline.effect | 306 +- .../shader/effects/sprite-outline.effect.meta | 22 +- .../shader/effects/sprite-point-light.effect | 364 +- .../effects/sprite-point-light.effect.meta | 22 +- .../sprite-round-corner-crop-v1.effect | 290 +- .../sprite-round-corner-crop-v1.effect.meta | 22 +- .../sprite-round-corner-crop-v2.effect | 384 +- .../sprite-round-corner-crop-v2.effect.meta | 22 +- assets/FishSingle/shader/materials.meta | 24 +- .../materials/builtin-2d-sprite-explain.mtl | 36 +- .../builtin-2d-sprite-explain.mtl.meta | 22 +- .../shader/materials/sprite-flag.mtl | 36 +- .../shader/materials/sprite-flag.mtl.meta | 22 +- .../shader/materials/sprite-flash-light.mtl | 60 +- .../materials/sprite-flash-light.mtl.meta | 22 +- .../materials/sprite-gaussian-blur-v1.mtl | 40 +- .../sprite-gaussian-blur-v1.mtl.meta | 22 +- .../shader/materials/sprite-glow-inner.mtl | 40 +- .../materials/sprite-glow-inner.mtl.meta | 22 +- .../shader/materials/sprite-glow-outter.mtl | 40 +- .../materials/sprite-glow-outter.mtl.meta | 22 +- .../shader/materials/sprite-gray.mtl | 40 +- .../shader/materials/sprite-gray.mtl.meta | 22 +- .../shader/materials/sprite-mosaic.mtl | 46 +- .../shader/materials/sprite-mosaic.mtl.meta | 22 +- .../shader/materials/sprite-old-photo.mtl | 40 +- .../materials/sprite-old-photo.mtl.meta | 22 +- .../shader/materials/sprite-outline.mtl | 40 +- .../shader/materials/sprite-outline.mtl.meta | 22 +- .../shader/materials/sprite-point-light.mtl | 44 +- .../materials/sprite-point-light.mtl.meta | 22 +- .../materials/sprite-round-corner-crop-v1.mtl | 40 +- .../sprite-round-corner-crop-v1.mtl.meta | 22 +- .../materials/sprite-round-corner-crop-v2.mtl | 46 +- .../sprite-round-corner-crop-v2.mtl.meta | 22 +- assets/FishSingle/temp.meta | 24 +- assets/migrate-resources.meta | 24 +- assets/migrate-resources/chunks.meta | 24 +- .../migrate-resources/chunks/cc-lights.chunk | 226 +- .../chunks/cc-lights.chunk.meta | 18 +- .../chunks/decode-base.chunk | 32 +- .../chunks/decode-base.chunk.meta | 18 +- .../migrate-resources/chunks/phong-fs.chunk | 204 +- .../chunks/phong-fs.chunk.meta | 18 +- .../migrate-resources/chunks/phong-vs.chunk | 126 +- .../chunks/phong-vs.chunk.meta | 18 +- .../chunks/shading-phong.chunk | 118 +- .../chunks/shading-phong.chunk.meta | 18 +- .../chunks/shading-toon.chunk | 144 +- .../chunks/shading-toon.chunk.meta | 18 +- assets/migrate-resources/chunks/texture.chunk | 52 +- .../chunks/texture.chunk.meta | 18 +- .../migrate-resources/chunks/unlit-fs.chunk | 82 +- .../chunks/unlit-fs.chunk.meta | 18 +- .../migrate-resources/chunks/unlit-vs.chunk | 76 +- .../chunks/unlit-vs.chunk.meta | 18 +- assets/migrate-resources/chunks/unpack.chunk | 18 +- .../chunks/unpack.chunk.meta | 18 +- assets/resources.meta | 32 +- assets/resources/FishSingle.meta | 24 +- assets/resources/FishSingle/game.meta | 24 +- assets/resources/FishSingle/game/dialog.meta | 24 +- .../FishSingle/game/dialog/FishSetting.prefab | 3564 +++--- .../game/dialog/FishSetting.prefab.meta | 26 +- .../FishSingle/game/dialog/FishWiki.prefab | 3166 ++--- .../game/dialog/FishWiki.prefab.meta | 26 +- assets/resources/FishSingle/game/prefab.meta | 24 +- .../game/prefab/ResourcePrefab.prefab | 288 +- .../game/prefab/ResourcePrefab.prefab.meta | 26 +- .../game/prefab/ShaderMaterialPrefab.prefab | 328 +- .../prefab/ShaderMaterialPrefab.prefab.meta | 26 +- assets/resources/FishSingle/music.meta | 24 +- .../FishSingle/music/background_1.mp3.meta | 28 +- .../FishSingle/music/background_2.mp3.meta | 28 +- .../FishSingle/music/background_3.mp3.meta | 28 +- .../FishSingle/music/baozha.mp3.meta | 28 +- .../FishSingle/music/deadfish_1.mp3.meta | 28 +- .../FishSingle/music/deadfish_10.mp3.meta | 28 +- .../FishSingle/music/deadfish_11.mp3.meta | 28 +- .../FishSingle/music/deadfish_12.mp3.meta | 28 +- .../FishSingle/music/deadfish_13.mp3.meta | 28 +- .../FishSingle/music/deadfish_14.mp3.meta | 28 +- .../FishSingle/music/deadfish_15.mp3.meta | 28 +- .../FishSingle/music/deadfish_16.mp3.meta | 28 +- .../FishSingle/music/deadfish_17.mp3.meta | 28 +- .../FishSingle/music/deadfish_18.mp3.meta | 28 +- .../FishSingle/music/deadfish_19.mp3.meta | 28 +- .../FishSingle/music/deadfish_2.mp3.meta | 28 +- .../FishSingle/music/deadfish_20.mp3.meta | 28 +- .../FishSingle/music/deadfish_21.mp3.meta | 28 +- .../FishSingle/music/deadfish_22.mp3.meta | 28 +- .../FishSingle/music/deadfish_23.mp3.meta | 28 +- .../FishSingle/music/deadfish_24.mp3.meta | 28 +- .../FishSingle/music/deadfish_25.mp3.meta | 28 +- .../FishSingle/music/deadfish_26.mp3.meta | 28 +- .../FishSingle/music/deadfish_27.mp3.meta | 28 +- .../FishSingle/music/deadfish_28.mp3.meta | 28 +- .../FishSingle/music/deadfish_29.mp3.meta | 28 +- .../FishSingle/music/deadfish_3.mp3.meta | 28 +- .../FishSingle/music/deadfish_30.mp3.meta | 28 +- .../FishSingle/music/deadfish_4.mp3.meta | 28 +- .../FishSingle/music/deadfish_5.mp3.meta | 28 +- .../FishSingle/music/deadfish_6.mp3.meta | 28 +- .../FishSingle/music/deadfish_7.mp3.meta | 28 +- .../FishSingle/music/deadfish_8.mp3.meta | 28 +- .../FishSingle/music/deadfish_9.mp3.meta | 28 +- .../resources/FishSingle/music/fire.mp3.meta | 28 +- assets/resources/FishSingle/share.meta | 24 +- .../FishSingle/share/uicomponent.meta | 24 +- .../share/uicomponent/CommonTips.prefab | 1066 +- .../share/uicomponent/CommonTips.prefab.meta | 26 +- .../share/uicomponent/DarkLayer.prefab | 568 +- .../share/uicomponent/DarkLayer.prefab.meta | 26 +- .../share/uicomponent/LoadingPrefab.prefab | 636 +- .../uicomponent/LoadingPrefab.prefab.meta | 26 +- .../uicomponent/LoadingScenePrefab.prefab | 2162 ++-- .../LoadingScenePrefab.prefab.meta | 26 +- .../share/uicomponent/MusicPrefab.prefab | 328 +- .../share/uicomponent/MusicPrefab.prefab.meta | 26 +- .../share/uicomponent/SoundPrefab.prefab | 340 +- .../share/uicomponent/SoundPrefab.prefab.meta | 26 +- build-templates/templates-version.json | 6 +- build-templates/web-mobile/index.ejs | 94 +- eslint.config.js | 80 +- package.json | 46 +- pnpm-lock.yaml | 5806 ++++----- settings/v2/packages/builder.json | 168 +- settings/v2/packages/cocos-service.json | 68 +- settings/v2/packages/device.json | 6 +- settings/v2/packages/engine.json | 310 +- settings/v2/packages/information.json | 46 +- settings/v2/packages/program.json | 6 +- settings/v2/packages/project.json | 78 +- tsconfig.json | 18 +- 298 files changed, 28632 insertions(+), 28632 deletions(-) diff --git a/assets/FishSingle/pictures/share.meta b/assets/FishSingle/pictures/share.meta index 2567040..0f5f027 100644 --- a/assets/FishSingle/pictures/share.meta +++ b/assets/FishSingle/pictures/share.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "8c67bc3f-c771-4a2a-aed9-f5a8a27f237d", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "8c67bc3f-c771-4a2a-aed9-f5a8a27f237d", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/pictures/share/btnclose.png.meta b/assets/FishSingle/pictures/share/btnclose.png.meta index 1bf52f5..052d261 100644 --- a/assets/FishSingle/pictures/share/btnclose.png.meta +++ b/assets/FishSingle/pictures/share/btnclose.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@6c48a", - "displayName": "btnclose", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@f9941", - "displayName": "btnclose", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 57, - "height": 57, - "rawWidth": 57, - "rawHeight": 57, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "imageUuidOrDatabaseUri": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -28.5, - -28.5, - 0, - 28.5, - -28.5, - 0, - -28.5, - 28.5, - 0, - 28.5, - 28.5, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 0, - 57, - 57, - 57, - 0, - 0, - 57, - 0 - ], - "nuv": [ - 0, - 0, - 1, - 0, - 0, - 1, - 1, - 1 - ], - "minPos": [ - -28.5, - -28.5, - 0 - ], - "maxPos": [ - 28.5, - 28.5, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@6c48a", + "displayName": "btnclose", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@f9941", + "displayName": "btnclose", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 57, + "height": 57, + "rawWidth": 57, + "rawHeight": 57, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "imageUuidOrDatabaseUri": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -28.5, + -28.5, + 0, + 28.5, + -28.5, + 0, + -28.5, + 28.5, + 0, + 28.5, + 28.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 57, + 57, + 57, + 0, + 0, + 57, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -28.5, + -28.5, + 0 + ], + "maxPos": [ + 28.5, + 28.5, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "6505b0fe-fec0-403f-8cfb-7d06a1b66db3@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/pictures/share/loadingicon.png.meta b/assets/FishSingle/pictures/share/loadingicon.png.meta index 51450df..fa772ea 100644 --- a/assets/FishSingle/pictures/share/loadingicon.png.meta +++ b/assets/FishSingle/pictures/share/loadingicon.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@6c48a", - "displayName": "loadingicon", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "4f24361b-88e7-43c8-9824-9b4e1ff3224d", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941", - "displayName": "loadingicon", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1.5, - "trimX": 59, - "trimY": 58, - "width": 242, - "height": 241, - "rawWidth": 360, - "rawHeight": 360, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "imageUuidOrDatabaseUri": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -121, - -120.5, - 0, - 121, - -120.5, - 0, - -121, - 120.5, - 0, - 121, - 120.5, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 59, - 302, - 301, - 302, - 59, - 61, - 301, - 61 - ], - "nuv": [ - 0.1638888888888889, - 0.16944444444444445, - 0.8361111111111111, - 0.16944444444444445, - 0.1638888888888889, - 0.8388888888888889, - 0.8361111111111111, - 0.8388888888888889 - ], - "minPos": [ - -121, - -120.5, - 0 - ], - "maxPos": [ - 121, - 120.5, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@6c48a", + "displayName": "loadingicon", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "4f24361b-88e7-43c8-9824-9b4e1ff3224d", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941", + "displayName": "loadingicon", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 1.5, + "trimX": 59, + "trimY": 58, + "width": 242, + "height": 241, + "rawWidth": 360, + "rawHeight": 360, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "imageUuidOrDatabaseUri": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -121, + -120.5, + 0, + 121, + -120.5, + 0, + -121, + 120.5, + 0, + 121, + 120.5, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 59, + 302, + 301, + 302, + 59, + 61, + 301, + 61 + ], + "nuv": [ + 0.1638888888888889, + 0.16944444444444445, + 0.8361111111111111, + 0.16944444444444445, + 0.1638888888888889, + 0.8388888888888889, + 0.8361111111111111, + 0.8388888888888889 + ], + "minPos": [ + -121, + -120.5, + 0 + ], + "maxPos": [ + 121, + 120.5, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/pictures/share/progressbar.png.meta b/assets/FishSingle/pictures/share/progressbar.png.meta index 694b40e..3b842dc 100644 --- a/assets/FishSingle/pictures/share/progressbar.png.meta +++ b/assets/FishSingle/pictures/share/progressbar.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1@6c48a", - "displayName": "progressbar", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "2873a640-2652-44bc-9cf2-e74e7499dbf1", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941", - "displayName": "progressbar", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 3, - "trimY": 2, - "width": 850, - "height": 20, - "rawWidth": 856, - "rawHeight": 24, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 22, - "borderRight": 36, - "imageUuidOrDatabaseUri": "2873a640-2652-44bc-9cf2-e74e7499dbf1@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -425, - -10, - 0, - 425, - -10, - 0, - -425, - 10, - 0, - 425, - 10, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 3, - 22, - 853, - 22, - 3, - 2, - 853, - 2 - ], - "nuv": [ - 0.0035046728971962616, - 0.08333333333333333, - 0.9964953271028038, - 0.08333333333333333, - 0.0035046728971962616, - 0.9166666666666666, - 0.9964953271028038, - 0.9166666666666666 - ], - "minPos": [ - -425, - -10, - 0 - ], - "maxPos": [ - 425, - 10, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1@6c48a", + "displayName": "progressbar", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "2873a640-2652-44bc-9cf2-e74e7499dbf1", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941", + "displayName": "progressbar", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 3, + "trimY": 2, + "width": 850, + "height": 20, + "rawWidth": 856, + "rawHeight": 24, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 22, + "borderRight": 36, + "imageUuidOrDatabaseUri": "2873a640-2652-44bc-9cf2-e74e7499dbf1@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -425, + -10, + 0, + 425, + -10, + 0, + -425, + 10, + 0, + 425, + 10, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 3, + 22, + 853, + 22, + 3, + 2, + 853, + 2 + ], + "nuv": [ + 0.0035046728971962616, + 0.08333333333333333, + 0.9964953271028038, + 0.08333333333333333, + 0.0035046728971962616, + 0.9166666666666666, + 0.9964953271028038, + 0.9166666666666666 + ], + "minPos": [ + -425, + -10, + 0 + ], + "maxPos": [ + 425, + 10, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/pictures/share/progressbg.png.meta b/assets/FishSingle/pictures/share/progressbg.png.meta index 71f4cb6..7ae8540 100644 --- a/assets/FishSingle/pictures/share/progressbg.png.meta +++ b/assets/FishSingle/pictures/share/progressbg.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "74d83879-8162-4333-b05a-9773f866baf7", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "74d83879-8162-4333-b05a-9773f866baf7@6c48a", - "displayName": "progressbg", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "74d83879-8162-4333-b05a-9773f866baf7", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "74d83879-8162-4333-b05a-9773f866baf7@f9941", - "displayName": "progressbg", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 856, - "height": 24, - "rawWidth": 856, - "rawHeight": 24, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 31, - "borderRight": 28, - "imageUuidOrDatabaseUri": "74d83879-8162-4333-b05a-9773f866baf7@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -428, - -12, - 0, - 428, - -12, - 0, - -428, - 12, - 0, - 428, - 12, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 0, - 24, - 856, - 24, - 0, - 0, - 856, - 0 - ], - "nuv": [ - 0, - 0, - 1, - 0, - 0, - 1, - 1, - 1 - ], - "minPos": [ - -428, - -12, - 0 - ], - "maxPos": [ - 428, - 12, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "74d83879-8162-4333-b05a-9773f866baf7@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "74d83879-8162-4333-b05a-9773f866baf7", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "74d83879-8162-4333-b05a-9773f866baf7@6c48a", + "displayName": "progressbg", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "74d83879-8162-4333-b05a-9773f866baf7", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "74d83879-8162-4333-b05a-9773f866baf7@f9941", + "displayName": "progressbg", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 856, + "height": 24, + "rawWidth": 856, + "rawHeight": 24, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 31, + "borderRight": 28, + "imageUuidOrDatabaseUri": "74d83879-8162-4333-b05a-9773f866baf7@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -428, + -12, + 0, + 428, + -12, + 0, + -428, + 12, + 0, + 428, + 12, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 24, + 856, + 24, + 0, + 0, + 856, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -428, + -12, + 0 + ], + "maxPos": [ + 428, + 12, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "74d83879-8162-4333-b05a-9773f866baf7@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/pictures/share/tipsbg.png.meta b/assets/FishSingle/pictures/share/tipsbg.png.meta index 94c7281..e7a2f53 100644 --- a/assets/FishSingle/pictures/share/tipsbg.png.meta +++ b/assets/FishSingle/pictures/share/tipsbg.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "3832782c-3213-48e7-954d-7a4faba8c748", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "3832782c-3213-48e7-954d-7a4faba8c748@6c48a", - "displayName": "tipsbg", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "3832782c-3213-48e7-954d-7a4faba8c748", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "3832782c-3213-48e7-954d-7a4faba8c748@f9941", - "displayName": "tipsbg", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 16, - "trimY": 1, - "width": 68, - "height": 18, - "rawWidth": 100, - "rawHeight": 20, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "imageUuidOrDatabaseUri": "3832782c-3213-48e7-954d-7a4faba8c748@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -34, - -9, - 0, - 34, - -9, - 0, - -34, - 9, - 0, - 34, - 9, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 16, - 19, - 84, - 19, - 16, - 1, - 84, - 1 - ], - "nuv": [ - 0.16, - 0.05, - 0.84, - 0.05, - 0.16, - 0.95, - 0.84, - 0.95 - ], - "minPos": [ - -34, - -9, - 0 - ], - "maxPos": [ - 34, - 9, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "3832782c-3213-48e7-954d-7a4faba8c748@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "3832782c-3213-48e7-954d-7a4faba8c748", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "3832782c-3213-48e7-954d-7a4faba8c748@6c48a", + "displayName": "tipsbg", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "3832782c-3213-48e7-954d-7a4faba8c748", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "3832782c-3213-48e7-954d-7a4faba8c748@f9941", + "displayName": "tipsbg", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 16, + "trimY": 1, + "width": 68, + "height": 18, + "rawWidth": 100, + "rawHeight": 20, + "borderTop": 0, + "borderBottom": 0, + "borderLeft": 0, + "borderRight": 0, + "imageUuidOrDatabaseUri": "3832782c-3213-48e7-954d-7a4faba8c748@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -34, + -9, + 0, + 34, + -9, + 0, + -34, + 9, + 0, + 34, + 9, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 16, + 19, + 84, + 19, + 16, + 1, + 84, + 1 + ], + "nuv": [ + 0.16, + 0.05, + 0.84, + 0.05, + 0.16, + 0.95, + 0.84, + 0.95 + ], + "minPos": [ + -34, + -9, + 0 + ], + "maxPos": [ + 34, + 9, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "3832782c-3213-48e7-954d-7a4faba8c748@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/pictures/share/weihutips.png.meta b/assets/FishSingle/pictures/share/weihutips.png.meta index d417907..b2eb1ef 100644 --- a/assets/FishSingle/pictures/share/weihutips.png.meta +++ b/assets/FishSingle/pictures/share/weihutips.png.meta @@ -1,134 +1,134 @@ -{ - "ver": "1.0.26", - "importer": "image", - "imported": true, - "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200", - "files": [ - ".json", - ".png" - ], - "subMetas": { - "6c48a": { - "importer": "texture", - "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200@6c48a", - "displayName": "weihutips", - "id": "6c48a", - "name": "texture", - "userData": { - "minfilter": "linear", - "magfilter": "linear", - "wrapModeT": "clamp-to-edge", - "wrapModeS": "clamp-to-edge", - "mipfilter": "none", - "imageUuidOrDatabaseUri": "d6d8e25e-7ddd-482c-b801-9c96b777c200", - "anisotropy": 0, - "isUuid": true, - "visible": false - }, - "ver": "1.0.22", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - }, - "f9941": { - "importer": "sprite-frame", - "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200@f9941", - "displayName": "weihutips", - "id": "f9941", - "name": "spriteFrame", - "userData": { - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 52, - "height": 52, - "rawWidth": 52, - "rawHeight": 52, - "borderTop": 24, - "borderBottom": 24, - "borderLeft": 24, - "borderRight": 24, - "imageUuidOrDatabaseUri": "d6d8e25e-7ddd-482c-b801-9c96b777c200@6c48a", - "packable": true, - "isUuid": true, - "atlasUuid": "", - "pixelsToUnit": 100, - "pivotX": 0.5, - "pivotY": 0.5, - "meshType": 0, - "vertices": { - "rawPosition": [ - -26, - -26, - 0, - 26, - -26, - 0, - -26, - 26, - 0, - 26, - 26, - 0 - ], - "indexes": [ - 0, - 1, - 2, - 2, - 1, - 3 - ], - "uv": [ - 0, - 52, - 52, - 52, - 0, - 0, - 52, - 0 - ], - "nuv": [ - 0, - 0, - 1, - 0, - 0, - 1, - 1, - 1 - ], - "minPos": [ - -26, - -26, - 0 - ], - "maxPos": [ - 26, - 26, - 0 - ] - } - }, - "ver": "1.0.12", - "imported": true, - "files": [ - ".json" - ], - "subMetas": {} - } - }, - "userData": { - "type": "sprite-frame", - "hasAlpha": true, - "redirect": "d6d8e25e-7ddd-482c-b801-9c96b777c200@f9941", - "fixAlphaTransparencyArtifacts": false - } -} +{ + "ver": "1.0.26", + "importer": "image", + "imported": true, + "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200", + "files": [ + ".json", + ".png" + ], + "subMetas": { + "6c48a": { + "importer": "texture", + "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200@6c48a", + "displayName": "weihutips", + "id": "6c48a", + "name": "texture", + "userData": { + "minfilter": "linear", + "magfilter": "linear", + "wrapModeT": "clamp-to-edge", + "wrapModeS": "clamp-to-edge", + "mipfilter": "none", + "imageUuidOrDatabaseUri": "d6d8e25e-7ddd-482c-b801-9c96b777c200", + "anisotropy": 0, + "isUuid": true, + "visible": false + }, + "ver": "1.0.22", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + }, + "f9941": { + "importer": "sprite-frame", + "uuid": "d6d8e25e-7ddd-482c-b801-9c96b777c200@f9941", + "displayName": "weihutips", + "id": "f9941", + "name": "spriteFrame", + "userData": { + "trimType": "auto", + "trimThreshold": 1, + "rotated": false, + "offsetX": 0, + "offsetY": 0, + "trimX": 0, + "trimY": 0, + "width": 52, + "height": 52, + "rawWidth": 52, + "rawHeight": 52, + "borderTop": 24, + "borderBottom": 24, + "borderLeft": 24, + "borderRight": 24, + "imageUuidOrDatabaseUri": "d6d8e25e-7ddd-482c-b801-9c96b777c200@6c48a", + "packable": true, + "isUuid": true, + "atlasUuid": "", + "pixelsToUnit": 100, + "pivotX": 0.5, + "pivotY": 0.5, + "meshType": 0, + "vertices": { + "rawPosition": [ + -26, + -26, + 0, + 26, + -26, + 0, + -26, + 26, + 0, + 26, + 26, + 0 + ], + "indexes": [ + 0, + 1, + 2, + 2, + 1, + 3 + ], + "uv": [ + 0, + 52, + 52, + 52, + 0, + 0, + 52, + 0 + ], + "nuv": [ + 0, + 0, + 1, + 0, + 0, + 1, + 1, + 1 + ], + "minPos": [ + -26, + -26, + 0 + ], + "maxPos": [ + 26, + 26, + 0 + ] + } + }, + "ver": "1.0.12", + "imported": true, + "files": [ + ".json" + ], + "subMetas": {} + } + }, + "userData": { + "type": "sprite-frame", + "hasAlpha": true, + "redirect": "d6d8e25e-7ddd-482c-b801-9c96b777c200@f9941", + "fixAlphaTransparencyArtifacts": false + } +} diff --git a/assets/FishSingle/prefab.meta b/assets/FishSingle/prefab.meta index 9617430..6f8047c 100644 --- a/assets/FishSingle/prefab.meta +++ b/assets/FishSingle/prefab.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "70b910ca-b87d-4278-9655-44e7d8081ece", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "70b910ca-b87d-4278-9655-44e7d8081ece", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/prefab/ProgressPrefab.prefab b/assets/FishSingle/prefab/ProgressPrefab.prefab index d43c440..a313cdc 100644 --- a/assets/FishSingle/prefab/ProgressPrefab.prefab +++ b/assets/FishSingle/prefab/ProgressPrefab.prefab @@ -1,674 +1,674 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "ProgressPrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "ProgressPrefab", - "_objFlags": 512, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 10 - }, - { - "__id__": 18 - } - ], - "_active": true, - "_components": [ - { - "__id__": 28 - }, - { - "__id__": 30 - }, - { - "__id__": 32 - }, - { - "__id__": 34 - } - ], - "_prefab": { - "__id__": 36 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 16.927000045776367, - "y": -262.86199951171875, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 7 - } - ], - "_prefab": { - "__id__": 9 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ee0xz0821CyKTcvndvwva1" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "94ade/GR5C6JDz1NjiTB5w" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 8 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 852, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "14YTtN6m9BoKeQsWUiCLO3" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "c244u/aPRAJrCOXsUYfICO" - }, - { - "__type__": "cc.Node", - "_name": "bar", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 11 - }, - { - "__id__": 13 - }, - { - "__id__": 15 - } - ], - "_prefab": { - "__id__": 17 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -425.5, - "y": -0.10000000149011612, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 12 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "80GpC3pTBMj5HDK9EwZaAv" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 14 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "79AB5OeGBI8JGN1g8F6UOA" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 16 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 850, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c9kK8ChLJDR4DaOgA7Iu1u" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6c7ZrIvkxATINS4Stajyo3" - }, - { - "__type__": "cc.Node", - "_name": "label", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 19 - }, - { - "__id__": 21 - }, - { - "__id__": 23 - }, - { - "__id__": 25 - } - ], - "_prefab": { - "__id__": 27 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 20 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "10%", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 25, - "_fontFamily": "Arial", - "_lineHeight": 30, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "75Y6NGJbVKd4C8YIBWVUr4" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 22 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ffFdba26VDqqCAc1LOulDR" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 24 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "dfJsPLb6JFbJ6aYBGvqSVS" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 26 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 56.04, - "height": 43.8 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "9dmTR9c6JMoa15u+y/N+Gy" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e2Vv1bUelC/7EpoI1XnDNy" - }, - { - "__type__": "cc.ProgressBar", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 29 - }, - "_barSprite": { - "__id__": 11 - }, - "_mode": 0, - "_totalLength": 852, - "_progress": 1, - "_reverse": false, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "4ePvY99dNIbL8x2Kg/QWiu" - }, - { - "__type__": "ba38cZIq7lB+KBrgwu1rqkd", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "percentLable": { - "__id__": 19 - }, - "bar": { - "__id__": 28 - }, - "_id": "", - "__prefab": { - "__id__": 31 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3dI5VNjG1Kmrt7RW0OzFyl" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 33 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "99p2cx+TtFmJsyGlx1m+pF" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 35 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 852, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "9686r/7GBC1Jgt/Xl5Wlbk" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "97bJUot1tMIabMBXG+RXtR" - } +[ + { + "__type__": "cc.Prefab", + "_name": "ProgressPrefab", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "ProgressPrefab", + "_objFlags": 512, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 10 + }, + { + "__id__": 18 + } + ], + "_active": true, + "_components": [ + { + "__id__": 28 + }, + { + "__id__": 30 + }, + { + "__id__": 32 + }, + { + "__id__": 34 + } + ], + "_prefab": { + "__id__": 36 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 16.927000045776367, + "y": -262.86199951171875, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ee0xz0821CyKTcvndvwva1" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "94ade/GR5C6JDz1NjiTB5w" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 852, + "height": 20 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "14YTtN6m9BoKeQsWUiCLO3" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c244u/aPRAJrCOXsUYfICO" + }, + { + "__type__": "cc.Node", + "_name": "bar", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 11 + }, + { + "__id__": 13 + }, + { + "__id__": 15 + } + ], + "_prefab": { + "__id__": 17 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -425.5, + "y": -0.10000000149011612, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 12 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "80GpC3pTBMj5HDK9EwZaAv" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 14 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "79AB5OeGBI8JGN1g8F6UOA" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 16 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 850, + "height": 20 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c9kK8ChLJDR4DaOgA7Iu1u" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "6c7ZrIvkxATINS4Stajyo3" + }, + { + "__type__": "cc.Node", + "_name": "label", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 19 + }, + { + "__id__": 21 + }, + { + "__id__": 23 + }, + { + "__id__": 25 + } + ], + "_prefab": { + "__id__": 27 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 20 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "10%", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 25, + "_fontFamily": "Arial", + "_lineHeight": 30, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "75Y6NGJbVKd4C8YIBWVUr4" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 22 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ffFdba26VDqqCAc1LOulDR" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 24 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "dfJsPLb6JFbJ6aYBGvqSVS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 26 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 56.04, + "height": 43.8 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9dmTR9c6JMoa15u+y/N+Gy" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "e2Vv1bUelC/7EpoI1XnDNy" + }, + { + "__type__": "cc.ProgressBar", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 29 + }, + "_barSprite": { + "__id__": 11 + }, + "_mode": 0, + "_totalLength": 852, + "_progress": 1, + "_reverse": false, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4ePvY99dNIbL8x2Kg/QWiu" + }, + { + "__type__": "ba38cZIq7lB+KBrgwu1rqkd", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "percentLable": { + "__id__": 19 + }, + "bar": { + "__id__": 28 + }, + "_id": "", + "__prefab": { + "__id__": 31 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3dI5VNjG1Kmrt7RW0OzFyl" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 33 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "99p2cx+TtFmJsyGlx1m+pF" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 35 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 852, + "height": 20 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9686r/7GBC1Jgt/Xl5Wlbk" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "97bJUot1tMIabMBXG+RXtR" + } ] \ No newline at end of file diff --git a/assets/FishSingle/prefab/ProgressPrefab.prefab.meta b/assets/FishSingle/prefab/ProgressPrefab.prefab.meta index 6be8a9e..c3bad8b 100644 --- a/assets/FishSingle/prefab/ProgressPrefab.prefab.meta +++ b/assets/FishSingle/prefab/ProgressPrefab.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "dab2a5cf-b505-4ac7-9513-7b512b9450bf", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "ProgressPrefab" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "dab2a5cf-b505-4ac7-9513-7b512b9450bf", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "ProgressPrefab" + } +} diff --git a/assets/FishSingle/prefab/game.meta b/assets/FishSingle/prefab/game.meta index b7fa3d6..36bf5c7 100644 --- a/assets/FishSingle/prefab/game.meta +++ b/assets/FishSingle/prefab/game.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "c8a17a26-1000-4175-ba1a-4e73204b652c", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "c8a17a26-1000-4175-ba1a-4e73204b652c", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/prefab/game/fish.meta b/assets/FishSingle/prefab/game/fish.meta index 7325b1c..785217b 100644 --- a/assets/FishSingle/prefab/game/fish.meta +++ b/assets/FishSingle/prefab/game/fish.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "4b615b43-bedb-4b3b-9958-8939a4d446d1", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "4b615b43-bedb-4b3b-9958-8939a4d446d1", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab b/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab index fc1d2ed..85de26e 100644 --- a/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab +++ b/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab @@ -1,921 +1,921 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "FishWikiItem", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "FishWikiItem", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 24 - }, - { - "__id__": 34 - } - ], - "_active": true, - "_components": [ - { - "__id__": 44 - }, - { - "__id__": 46 - }, - { - "__id__": 48 - } - ], - "_prefab": { - "__id__": 50 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -630, - "y": -135, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "view", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 3 - } - ], - "_active": true, - "_components": [ - { - "__id__": 19 - }, - { - "__id__": 21 - } - ], - "_prefab": { - "__id__": 23 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 13.825, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "Fish2", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 4 - }, - { - "__id__": 6 - }, - { - "__id__": 8 - }, - { - "__id__": 10 - }, - { - "__id__": 12 - }, - { - "__id__": 14 - }, - { - "__id__": 16 - } - ], - "_prefab": { - "__id__": 18 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": { - "__id__": 5 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486@a9841" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "b8dxWQ4NVOY4uLZ1iSuGeX" - }, - { - "__type__": "cc.BoxCollider2D", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": { - "__id__": 7 - }, - "tag": 0, - "_group": 1, - "_density": 1, - "_sensor": false, - "_friction": 0.2, - "_restitution": 0, - "_offset": { - "__type__": "cc.Vec2", - "x": -16, - "y": 0 - }, - "_size": { - "__type__": "cc.Size", - "width": 54, - "height": 20 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e2vvrcDMNGu6pBhulQjAC6" - }, - { - "__type__": "cc.Animation", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": { - "__id__": 9 - }, - "playOnLoad": false, - "_clips": [ - { - "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" - } - ], - "_defaultClip": { - "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3fRL9oyehBAZzB3zBwtHKW" - }, - { - "__type__": "bcf7fDIJDhKnaxGPja2YnSj", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "fishType": 2, - "speed": 3, - "_id": "", - "__prefab": { - "__id__": 11 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8dpdinXAxCErF6OUGrNmks" - }, - { - "__type__": "ce1d8SdoYxBMoB8LPTW6b6l", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "_id": "", - "__prefab": { - "__id__": 13 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e4XcrKCrhCQLgwaVnllr2Z" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": { - "__id__": 15 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "50Ic8oKrhCmZN08k8qI3Ei" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": { - "__id__": 17 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 82, - "height": 24 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "fffCdnjFVI+IeEBFUwSfcL" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "89v072+WZDxoibHHznjKUc" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 20 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "879HDIgitGUYSahWR+XXhN" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 22 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 180, - "height": 120 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "26OJxHJWhGjb3vneT0q/PD" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "47Re8raG1Hc5NZvzmreWT4" - }, - { - "__type__": "cc.Node", - "_name": "txtName", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 25 - }, - { - "__id__": 27 - }, - { - "__id__": 29 - }, - { - "__id__": 31 - } - ], - "_prefab": { - "__id__": 33 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -92.469, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "__prefab": { - "__id__": 26 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 51, - "g": 92, - "b": 255, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "sadfdfdadsd", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 30, - "_fontFamily": "Arial", - "_lineHeight": 40, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "99oTzUVfdFXZGVGFbEY+3x" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "__prefab": { - "__id__": 28 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "26y9/V61ZNm5tNE9RrFJtT" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "__prefab": { - "__id__": 30 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "b5IIbkly1MDooNa9X4REb7" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "__prefab": { - "__id__": 32 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 169.46, - "height": 56.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "6c17d2MidIHKwlmVF6tXmU" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "9atL1CwqRONJQPAkaXcm1v" - }, - { - "__type__": "cc.Node", - "_name": "txtLife", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 35 - }, - { - "__id__": 37 - }, - { - "__id__": 39 - }, - { - "__id__": 41 - } - ], - "_prefab": { - "__id__": 43 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 101.931, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 36 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 61, - "b": 0, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "life:10", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 30, - "_fontFamily": "Arial", - "_lineHeight": 40, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "cdlvV4qQdKqp8kR7egeQMZ" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 38 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "129wARyFBIsaqUyrlcVrHt" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 40 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "07NIuYp+NG7YTDSwJJwwYO" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 34 - }, - "_enabled": true, - "__prefab": { - "__id__": 42 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 86.05, - "height": 56.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "77CG7qydtNXZ/V0/KUsE69" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "40vk3HurpFiayNWcbKUvH2" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 45 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "1dcba25c-c5cd-4c04-a155-b7bcf8abdfa4@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "25ps0msNVNDbfpy+G8R/9I" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 47 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "47hjFqWRBELIwvjnoAU3kL" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 49 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "079hVZemBI5o64OYMEE+sd" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "08bSez5bRPvKjWUvL6a1BJ" - } +[ + { + "__type__": "cc.Prefab", + "_name": "FishWikiItem", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "FishWikiItem", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 24 + }, + { + "__id__": 34 + } + ], + "_active": true, + "_components": [ + { + "__id__": 44 + }, + { + "__id__": 46 + }, + { + "__id__": 48 + } + ], + "_prefab": { + "__id__": 50 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -630, + "y": -135, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "view", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 3 + } + ], + "_active": true, + "_components": [ + { + "__id__": 19 + }, + { + "__id__": 21 + } + ], + "_prefab": { + "__id__": 23 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 13.825, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Fish2", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 4 + }, + { + "__id__": 6 + }, + { + "__id__": 8 + }, + { + "__id__": 10 + }, + { + "__id__": 12 + }, + { + "__id__": 14 + }, + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 18 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": { + "__id__": 5 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486@a9841" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b8dxWQ4NVOY4uLZ1iSuGeX" + }, + { + "__type__": "cc.BoxCollider2D", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": { + "__id__": 7 + }, + "tag": 0, + "_group": 1, + "_density": 1, + "_sensor": false, + "_friction": 0.2, + "_restitution": 0, + "_offset": { + "__type__": "cc.Vec2", + "x": -16, + "y": 0 + }, + "_size": { + "__type__": "cc.Size", + "width": 54, + "height": 20 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e2vvrcDMNGu6pBhulQjAC6" + }, + { + "__type__": "cc.Animation", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": { + "__id__": 9 + }, + "playOnLoad": false, + "_clips": [ + { + "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" + } + ], + "_defaultClip": { + "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3fRL9oyehBAZzB3zBwtHKW" + }, + { + "__type__": "bcf7fDIJDhKnaxGPja2YnSj", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "fishType": 2, + "speed": 3, + "_id": "", + "__prefab": { + "__id__": 11 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8dpdinXAxCErF6OUGrNmks" + }, + { + "__type__": "ce1d8SdoYxBMoB8LPTW6b6l", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "_id": "", + "__prefab": { + "__id__": 13 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e4XcrKCrhCQLgwaVnllr2Z" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "50Ic8oKrhCmZN08k8qI3Ei" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": { + "__id__": 17 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 82, + "height": 24 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fffCdnjFVI+IeEBFUwSfcL" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "89v072+WZDxoibHHznjKUc" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 20 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "879HDIgitGUYSahWR+XXhN" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 22 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 180, + "height": 120 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "26OJxHJWhGjb3vneT0q/PD" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "47Re8raG1Hc5NZvzmreWT4" + }, + { + "__type__": "cc.Node", + "_name": "txtName", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 25 + }, + { + "__id__": 27 + }, + { + "__id__": 29 + }, + { + "__id__": 31 + } + ], + "_prefab": { + "__id__": 33 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -92.469, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 26 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 51, + "g": 92, + "b": 255, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "sadfdfdadsd", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 30, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "99oTzUVfdFXZGVGFbEY+3x" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 28 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "26y9/V61ZNm5tNE9RrFJtT" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 30 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b5IIbkly1MDooNa9X4REb7" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 24 + }, + "_enabled": true, + "__prefab": { + "__id__": 32 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 169.46, + "height": 56.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6c17d2MidIHKwlmVF6tXmU" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "9atL1CwqRONJQPAkaXcm1v" + }, + { + "__type__": "cc.Node", + "_name": "txtLife", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 35 + }, + { + "__id__": 37 + }, + { + "__id__": 39 + }, + { + "__id__": 41 + } + ], + "_prefab": { + "__id__": 43 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 101.931, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "__prefab": { + "__id__": 36 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 61, + "b": 0, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "life:10", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 30, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "cdlvV4qQdKqp8kR7egeQMZ" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "__prefab": { + "__id__": 38 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "129wARyFBIsaqUyrlcVrHt" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "__prefab": { + "__id__": 40 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "07NIuYp+NG7YTDSwJJwwYO" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 34 + }, + "_enabled": true, + "__prefab": { + "__id__": 42 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 86.05, + "height": 56.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "77CG7qydtNXZ/V0/KUsE69" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "40vk3HurpFiayNWcbKUvH2" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 45 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "1dcba25c-c5cd-4c04-a155-b7bcf8abdfa4@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "25ps0msNVNDbfpy+G8R/9I" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 47 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "47hjFqWRBELIwvjnoAU3kL" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 49 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 210, + "height": 270 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "079hVZemBI5o64OYMEE+sd" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "08bSez5bRPvKjWUvL6a1BJ" + } ] \ No newline at end of file diff --git a/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab.meta b/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab.meta index 2f9d2cb..184eb88 100644 --- a/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab.meta +++ b/assets/FishSingle/prefab/game/fish/FishWikiItem.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "2fdbeee9-cb7d-44ab-9ce7-f73b19d0f4fc", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "FishWikiItem" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "2fdbeee9-cb7d-44ab-9ce7-f73b19d0f4fc", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "FishWikiItem" + } +} diff --git a/assets/FishSingle/prefab/score.meta b/assets/FishSingle/prefab/score.meta index 50a2d38..d0dd633 100644 --- a/assets/FishSingle/prefab/score.meta +++ b/assets/FishSingle/prefab/score.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "90f06d6d-eb00-41cc-8c68-7e27d67312c5", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "90f06d6d-eb00-41cc-8c68-7e27d67312c5", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/prefab/score/ScorePrefab.prefab b/assets/FishSingle/prefab/score/ScorePrefab.prefab index c4e7e6a..928e3ad 100644 --- a/assets/FishSingle/prefab/score/ScorePrefab.prefab +++ b/assets/FishSingle/prefab/score/ScorePrefab.prefab @@ -1,363 +1,363 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "ScorePrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "ScorePrefab", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": true, - "_components": [ - { - "__id__": 14 - }, - { - "__id__": 16 - }, - { - "__id__": 18 - } - ], - "_prefab": { - "__id__": 20 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "txtScore", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 7 - }, - { - "__id__": 9 - }, - { - "__id__": 11 - } - ], - "_prefab": { - "__id__": 13 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 82, - "b": 0, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "100", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 40, - "_fontFamily": "Arial", - "_lineHeight": 40, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_enableShadow": true, - "_shadowOffset": { - "__type__": "cc.Vec2", - "x": 2, - "y": 2 - }, - "_shadowColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "daaGzagltLmYPlAm/pJwV8" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d7zHQDdWFHRZVq/DT+WHoY" - }, - { - "__type__": "cc.LabelShadow", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 8 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "44iuI1yMdC/5FtjKBKlVsi" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 10 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8c6c+Ki5hNsY9S558PXdyS" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 12 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 70.74, - "height": 54.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "efuD+JKuBC75fHccjDZJY9" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e01cesJHBM4K+M5EU41LQG" - }, - { - "__type__": "465f6PMtv5OqZoQeSVPvmfM", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "txtScore": { - "__id__": 3 - }, - "_id": "", - "__prefab": { - "__id__": 15 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3etBVQ8q9DiaShLXS1py9u" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 17 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "bdqeLc2vJI5KCb7AEi819K" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 19 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7724Uz4qlOn6IBBfm0mtGt" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dfcn+8f4NCm5oGvRMh0moR" - } +[ + { + "__type__": "cc.Prefab", + "_name": "ScorePrefab", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "ScorePrefab", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + } + ], + "_active": true, + "_components": [ + { + "__id__": 14 + }, + { + "__id__": 16 + }, + { + "__id__": 18 + } + ], + "_prefab": { + "__id__": 20 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "txtScore", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + }, + { + "__id__": 9 + }, + { + "__id__": 11 + } + ], + "_prefab": { + "__id__": 13 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 82, + "b": 0, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "100", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 40, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_enableShadow": true, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "daaGzagltLmYPlAm/pJwV8" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d7zHQDdWFHRZVq/DT+WHoY" + }, + { + "__type__": "cc.LabelShadow", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "44iuI1yMdC/5FtjKBKlVsi" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 10 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8c6c+Ki5hNsY9S558PXdyS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 12 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 70.74, + "height": 54.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "efuD+JKuBC75fHccjDZJY9" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "e01cesJHBM4K+M5EU41LQG" + }, + { + "__type__": "465f6PMtv5OqZoQeSVPvmfM", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "txtScore": { + "__id__": 3 + }, + "_id": "", + "__prefab": { + "__id__": 15 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3etBVQ8q9DiaShLXS1py9u" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 17 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bdqeLc2vJI5KCb7AEi819K" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 19 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7724Uz4qlOn6IBBfm0mtGt" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "dfcn+8f4NCm5oGvRMh0moR" + } ] \ No newline at end of file diff --git a/assets/FishSingle/prefab/score/ScorePrefab.prefab.meta b/assets/FishSingle/prefab/score/ScorePrefab.prefab.meta index 83e06e1..36247a4 100644 --- a/assets/FishSingle/prefab/score/ScorePrefab.prefab.meta +++ b/assets/FishSingle/prefab/score/ScorePrefab.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "463abd5d-c3b8-4354-b614-012540a2dfb8", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "ScorePrefab" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "463abd5d-c3b8-4354-b614-012540a2dfb8", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "ScorePrefab" + } +} diff --git a/assets/FishSingle/scene.meta b/assets/FishSingle/scene.meta index 53f5944..1991c82 100644 --- a/assets/FishSingle/scene.meta +++ b/assets/FishSingle/scene.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "57936fc7-b814-41c9-9228-307c74f8d958", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "57936fc7-b814-41c9-9228-307c74f8d958", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/scene/FishGameScene.scene b/assets/FishSingle/scene/FishGameScene.scene index f53c915..3077683 100644 --- a/assets/FishSingle/scene/FishGameScene.scene +++ b/assets/FishSingle/scene/FishGameScene.scene @@ -1,5037 +1,5037 @@ -[ - { - "__type__": "cc.SceneAsset", - "_name": "FishGameScene", - "_objFlags": 0, - "__editorExtras__": {}, - "_native": "", - "scene": { - "__id__": 1 - } - }, - { - "__type__": "cc.Scene", - "_name": "FishGameScene", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 168 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "autoReleaseAssets": false, - "_globals": { - "__id__": 173 - }, - "_id": "49f37487-196e-48a5-ad7e-0f3f4fcc8496" - }, - { - "__type__": "cc.Node", - "_name": "Canvas", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 3 - }, - { - "__id__": 7 - }, - { - "__id__": 13 - }, - { - "__id__": 17 - }, - { - "__id__": 22 - }, - { - "__id__": 26 - }, - { - "__id__": 31 - }, - { - "__id__": 146 - }, - { - "__id__": 150 - }, - { - "__id__": 101 - }, - { - "__id__": 159 - } - ], - "_active": true, - "_components": [ - { - "__id__": 163 - }, - { - "__id__": 164 - }, - { - "__id__": 165 - }, - { - "__id__": 166 - }, - { - "__id__": 167 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 1140, - "y": 621, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "a5esZu+45LA5mBpvttspPD" - }, - { - "__type__": "cc.Node", - "_name": "Main Camera", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 4 - }, - { - "__id__": 5 - }, - { - "__id__": 6 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 1000 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "e1WoFrQ79G7r4ZuQE3HlNb" - }, - { - "__type__": "cc.Camera", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_projection": 0, - "_priority": -1, - "_fov": 60, - "_fovAxis": 0, - "_orthoHeight": 709.6600234466589, - "_near": 1, - "_far": 4096, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_depth": 1, - "_stencil": 0, - "_clearFlags": 7, - "_rect": { - "__type__": "cc.Rect", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - "_aperture": 19, - "_shutter": 7, - "_iso": 0, - "_screenScale": 1, - "_visibility": 4294967295, - "_targetTexture": null, - "_postProcess": null, - "_usePostProcess": false, - "_cameraType": -1, - "_trackingType": 0, - "_id": "81GN3uXINKVLeW4+iKSlim" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "24eLHPrdJCappcW097h+n1" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2208, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "1dNgj2s91JLKrnX6SGFSGw" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 8 - }, - { - "__id__": 9 - }, - { - "__id__": 10 - }, - { - "__id__": 11 - }, - { - "__id__": 12 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "cc8B0UHudAoZsWH8Xrc+2R" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "30514d45-db3b-4904-9e84-5269572856f6@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "0aaZe4+a9Fp7Yk4bd2bcBb" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": -20, - "_right": -20, - "_top": -29, - "_bottom": -29, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1920, - "_originalHeight": 1080, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "5dtow+Fg1Nip49Tc/wtI9y" - }, - { - "__type__": "1147cykL+lNgohQDZfLMxjV", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "Spriteset": [ - { - "__uuid__": "66d28bb4-7926-457a-bfdd-352fbdff0612@f9941", - "__expectedType__": "cc.SpriteFrame" - } - ], - "Spriteset1": [], - "Spriteset2": [], - "Spriteset3": [], - "Spriteset4": [], - "_id": "4dQrHqdRdFJ7T7xcVqYeyN" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "83iYHuag1KvZ2eCEpFVRQb" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2320, - "height": 1300 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "30Hc45hOVKYLH2JNKYNsxh" - }, - { - "__type__": "cc.Node", - "_name": "fishContainer", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 14 - }, - { - "__id__": 15 - }, - { - "__id__": 16 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "9e11iUDqNGzYHrwBdodhMT" - }, - { - "__type__": "b2060mpWhtBGZ+xOZtFFVqr", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": null, - "fishContainer": { - "__id__": 13 - }, - "fishPrefabList": [ - { - "__uuid__": "47d3546e-a6e8-4c48-9c46-21e97ce57dcf", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "bf5ebf2c-89fe-4e3a-8f99-4f4f9e4443f5", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "14a13586-d730-4cf8-ab0f-2f1a5b40da65", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "4cbe5be2-a637-4173-91f5-6aa9c5273df3", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "d83f7446-c7c0-4e91-bd27-37ce175d5d73", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "a5184b65-c883-4248-8c0f-8b0c37252422", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "dceae1a9-7dd4-43c0-9922-83764c44c449", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "8f864626-d7d7-45aa-81db-3d41bb14d00f", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "fa537355-b5fc-4e19-8d4f-0501d843a9d4", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f36610d9-4289-48ee-95a7-975bbfc49236", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "b8da0783-a765-4908-aca5-67b63ab6f075", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "d5f2569c-92b6-45fb-9c06-ef51c5cbdea1", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "7f06caf0-aa99-40a1-a67d-df79720105b1", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f8a57d3b-b016-485a-836c-05acee7029c7", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "09c0288d-20d2-491f-9444-f69d7a4ed5c7", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "c1984480-e466-4231-a2f5-695db423ce7d", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "ab3c1446-4760-469c-a423-d4e01366c9b8", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "38b241e2-5e6f-4ec4-8fc2-f9f8ff4dcc13", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "3b9deb77-7448-4f63-8e94-1583ad4bd051", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "32c2956d-1895-479e-9374-a3295bc781d6", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f4e0a0c9-f61a-420f-8469-fe1e4be0e6f3", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "e7631f18-aa31-4049-b106-c70e4adfb386", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "982a2138-43b6-4f8f-83f1-0e7c8a8f3d05", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "e1f672f4-cd34-4b83-a0eb-861e7a2bae89", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "be37ecdb-daed-44d7-af74-2802c5c59c0c", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "448b26ed-b79d-4a7f-bffc-a1e72371cd38", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "8a8d350e-e482-4929-87ae-159503dc7727", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "7917852f-3399-48f6-9881-7099812ca27f", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "77ddec11-786d-4a7a-825b-a3c4fc203a16", - "__expectedType__": "cc.Prefab" - } - ], - "_id": "6eL+N1JG9KP7PPx8FC5KJ8" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "fcY81BhAlHVIKaaKZdQYFm" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "c3qLFzIH1NoLOVqmmMluvK" - }, - { - "__type__": "cc.Node", - "_name": "bulletContainer", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 18 - }, - { - "__id__": 19 - }, - { - "__id__": 20 - }, - { - "__id__": 21 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "364kAlR4tORISx/nLqsjE4" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "580ITg5l5J67y/rcx7/HX2" - }, - { - "__type__": "bd0650LC2BJga6gddLyCbfq", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": null, - "bulletPrefabList": [ - { - "__uuid__": "0ad2414f-d035-4829-9433-c23afad415ef", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "dc9437ca-3609-489d-9131-32244f5e55a6", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "79855960-709b-4967-8c51-6940744466f9", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "56838abc-6e8d-46c1-8ffb-129da6da9443", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "2f653c1e-9dbb-4869-9061-69dcf40a1bcd", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "774fa85c-b690-44fd-a1c8-bc18b704e8ef", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f6b3d3ac-4772-4d59-8251-57338ab5c76f", - "__expectedType__": "cc.Prefab" - } - ], - "_id": "depeLNU5NH5JzZB+jTVwXO" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "7aGn2RT4VCAajQfuPGiwg6" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "53DV5XmxVMC7RehsAYzcHw" - }, - { - "__type__": "cc.Node", - "_name": "netContainer", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 23 - }, - { - "__id__": 24 - }, - { - "__id__": 25 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "98njYvdTNN7JBjidT+vv9z" - }, - { - "__type__": "fec49GwT29KF5KNpO48K7Vn", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 22 - }, - "_enabled": true, - "__prefab": null, - "netPrefabList": [ - { - "__uuid__": "3019bbca-7237-4ee4-a35b-7c7a0c1ccd9b", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "08f4d926-24bb-4a4a-81a8-24ae2a793bf6", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "a314910b-5959-4c54-b647-dd384d164899", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f919f874-0259-4a0e-a3db-f841daf632cc", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "59149dfd-d478-4521-a3ee-99c079823920", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "3dab6c97-138d-45e0-9412-1b776e807dcb", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "25501766-5a13-4150-99fe-d6eaba9b66c8", - "__expectedType__": "cc.Prefab" - } - ], - "_id": "earyf9PWtJuaw4FdKAUsT+" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 22 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "e65SfNQKBNU4X5WypCADME" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 22 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "efYGHPakNNx4Ye6l9rJv+r" - }, - { - "__type__": "cc.Node", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_prefab": { - "__id__": 27 - }, - "__editorExtras__": {} - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 26 - }, - "asset": { - "__uuid__": "e3815a16-44e9-4990-a53f-0fe3e9784029", - "__expectedType__": "cc.Prefab" - }, - "fileId": "04Iog1bgRF3oo4bMCXFBTg", - "instance": { - "__id__": 28 - }, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.PrefabInstance", - "fileId": "af2AQQfoFO9pWUJa4gbYJq", - "prefabRootNode": null, - "mountedChildren": [], - "mountedComponents": [], - "propertyOverrides": [ - { - "__id__": 29 - } - ], - "removedComponents": [] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 30 - }, - "propertyPath": [ - "scale" - ], - "value": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 2 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "04Iog1bgRF3oo4bMCXFBTg" - ] - }, - { - "__type__": "cc.Node", - "_name": "fishUI", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [ - { - "__id__": 32 - }, - { - "__id__": 37 - }, - { - "__id__": 44 - }, - { - "__id__": 51 - }, - { - "__id__": 58 - }, - { - "__id__": 65 - } - ], - "_active": true, - "_components": [ - { - "__id__": 100 - }, - { - "__id__": 144 - }, - { - "__id__": 145 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -101.857, - "y": -550.103, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "f9W4vdS0NPsYZm/nl9QaXK" - }, - { - "__type__": "cc.Node", - "_name": "dizuo", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 33 - }, - { - "__id__": 34 - }, - { - "__id__": 35 - }, - { - "__id__": 36 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -193.82150000000001, - "y": -3.448500000000024, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 0.5, - "y": 0.5, - "z": 0.5 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "62kabC3s5PcICMmjqMJ5iT" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 32 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@b37de", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "66Ul7xtatFs6dvBV1YWg6a" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 32 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "81r91sjAZHl4g0FgSf2iaU" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 32 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 301, - "height": 128 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "e3ajB/EipEUruF78Z15LNX" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 32 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 12, - "_target": { - "__id__": 2 - }, - "_left": 500, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "62NErElDtCBJC0xvKyvMo5" - }, - { - "__type__": "cc.Node", - "_name": "btnAdd", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 38 - }, - { - "__id__": 39 - }, - { - "__id__": 41 - }, - { - "__id__": 42 - }, - { - "__id__": 43 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -119.07150000000001, - "y": -10.448500000000024, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "75g0cKQBVIIqI7+0lUDnSw" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 37 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@223e0", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "321F2hTttGt5Egef/C6O0N" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 37 - }, - "_enabled": true, - "__prefab": null, - "clickEvents": [ - { - "__id__": 40 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@223e0", - "__expectedType__": "cc.SpriteFrame" - }, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": null, - "_id": "80ET1ZBxlAo5QjfZLMRb/u" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 31 - }, - "component": "", - "_componentId": "47604c854NMlIvb9bkfIwNK", - "handler": "onClickNext", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 37 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "f8z1IqPmhNx5PLAy5i+3/h" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 37 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 50, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "dbsWJB9gxB+LD8Ftvni3TR" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 37 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 12, - "_target": { - "__id__": 2 - }, - "_left": 750, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "8fLcJlKgNGZoTFYlWPiU/F" - }, - { - "__type__": "cc.Node", - "_name": "btnPre", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 45 - }, - { - "__id__": 46 - }, - { - "__id__": 48 - }, - { - "__id__": 49 - }, - { - "__id__": 50 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -269.0715, - "y": -10.448500000000024, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "7b0GliST9ENbuYQyW5TDrk" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 44 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@3b6d7", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "b7AnPHC0tOaa9rnaYOqiJa" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 44 - }, - "_enabled": true, - "__prefab": null, - "clickEvents": [ - { - "__id__": 47 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@3b6d7", - "__expectedType__": "cc.SpriteFrame" - }, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": null, - "_id": "64/EgfHV1F2ZROs2HFXzpy" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 31 - }, - "component": "", - "_componentId": "47604c854NMlIvb9bkfIwNK", - "handler": "onClickPre", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 44 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "bd9jtmv4hKxL6MyRQVHTUM" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 44 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 50, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "98Il0I8E9P4aMP88oa5O5j" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 44 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 12, - "_target": { - "__id__": 2 - }, - "_left": 450, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "0fioHmtONNcoCP5YYBID4f" - }, - { - "__type__": "cc.Node", - "_name": "wikiicon", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 52 - }, - { - "__id__": 53 - }, - { - "__id__": 55 - }, - { - "__id__": 56 - }, - { - "__id__": 57 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -469.0715, - "y": 310.5515, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "73MsJIMqJMNI9Ri++IKVeJ" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 51 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@215b4", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "59THLt4FNMso0L0QNlK8J+" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 51 - }, - "_enabled": true, - "__prefab": null, - "clickEvents": [ - { - "__id__": 54 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@215b4", - "__expectedType__": "cc.SpriteFrame" - }, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": { - "__id__": 51 - }, - "_id": "15fxVBbndMKaNb15VUzP38" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 2 - }, - "component": "", - "_componentId": "ebb8dQ39kJKkZosbZuHQ9fX", - "handler": "onClickWiki", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 51 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "e8t7aZNxdF6rfOPmtPDbVH" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 51 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 50, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "87fdsXnt9FzIF7KCbDoNMA" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 51 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 9, - "_target": { - "__id__": 2 - }, - "_left": 50, - "_right": 0, - "_top": 500, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "eefgIrNn1HdoUQB5AEO7M1" - }, - { - "__type__": "cc.Node", - "_name": "shezhi", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 59 - }, - { - "__id__": 60 - }, - { - "__id__": 62 - }, - { - "__id__": 63 - }, - { - "__id__": 64 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -469.0715, - "y": 385.5515, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "b7y9BoiaBGN5hPtaNB82lf" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 58 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@590e7", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", - "__expectedType__": "cc.SpriteAtlas" - }, - "_id": "0d5gdkDctOyZ3r0VVdLVMG" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 58 - }, - "_enabled": true, - "__prefab": null, - "clickEvents": [ - { - "__id__": 61 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@590e7", - "__expectedType__": "cc.SpriteFrame" - }, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": { - "__id__": 58 - }, - "_id": "5f6D3C+vlFi5siD60ml2t+" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 31 - }, - "component": "", - "_componentId": "47604c854NMlIvb9bkfIwNK", - "handler": "onClickSetting", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 58 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "fcLvgiK21KbrP0uHNGbPcS" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 58 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 50, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "abrfGevjlDmqaXHf/fLVpb" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 58 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 9, - "_target": { - "__id__": 2 - }, - "_left": 50, - "_right": 0, - "_top": 350, - "_bottom": 11, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 50, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "d9adiMh05H24VLEmbqTEMp" - }, - { - "__type__": "cc.Node", - "_name": "userInfo", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 31 - }, - "_children": [ - { - "__id__": 66 - }, - { - "__id__": 70 - } - ], - "_active": true, - "_components": [ - { - "__id__": 97 - }, - { - "__id__": 98 - }, - { - "__id__": 99 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -401.5715, - "y": 14.551499999999976, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "77CjrwwsxJF7KY7wh69TAz" - }, - { - "__type__": "cc.Node", - "_name": "avatar", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 65 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 67 - }, - { - "__id__": 68 - }, - { - "__id__": 69 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -62.5, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "3cBYwPupZJfrKwoDZhmgxe" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 66 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 74, - "height": 77 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "6e8q9rYntBlrACoWjabBd7" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 66 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "cda62680-32c9-4bf8-bdf5-341b6d6f41c3@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "c1kFf/WWBBV4v4+kFBKEPc" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 66 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 10, - "_target": null, - "_left": 8, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "a0ZuNy5sJKx5EeTuLr47N2" - }, - { - "__type__": "cc.Node", - "_name": "info", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 65 - }, - "_children": [ - { - "__id__": 71 - }, - { - "__id__": 83 - } - ], - "_active": true, - "_components": [ - { - "__id__": 95 - }, - { - "__id__": 96 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 40, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "e0iN0QSdVB3Jjl92onj3fT" - }, - { - "__type__": "cc.Node", - "_name": "dz_fillet", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 70 - }, - "_children": [ - { - "__id__": 72 - }, - { - "__id__": 76 - } - ], - "_active": true, - "_components": [ - { - "__id__": 80 - }, - { - "__id__": 81 - }, - { - "__id__": 82 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -20, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "f7OfDDZZVBMaAiMlo056CJ" - }, - { - "__type__": "cc.Node", - "_name": "dz", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 71 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 73 - }, - { - "__id__": 74 - }, - { - "__id__": 75 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -42.5, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "034vakvflEjqTEyVt3j5le" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 72 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 45, - "height": 42 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "58dW0fJKhHgasedn9MnDfn" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 72 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "962c910f-069b-4a38-9099-4596ed34e91e@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "190iGacAVKB4IB7VvvDI/Y" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 72 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 8, - "_target": null, - "_left": -5, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "bf+wx1S0lFjaUyo5L55xTv" - }, - { - "__type__": "cc.Node", - "_name": "dz_text", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 71 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 77 - }, - { - "__id__": 78 - }, - { - "__id__": 79 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 10.5322265625, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "59LhR6VU9IAbfH3XjA95+6" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 76 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 48.935546875, - "height": 30 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "a9+kYGJdlHgI7sRVqSI1UI" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 76 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_string": "0", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 20, - "_fontSize": 20, - "_fontFamily": "Arial", - "_lineHeight": 0, - "_overflow": 2, - "_enableWrapText": false, - "_font": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 2, - "_cacheMode": 0, - "_enableOutline": false, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_outlineWidth": 2, - "_enableShadow": false, - "_shadowColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_shadowOffset": { - "__type__": "cc.Vec2", - "x": 2, - "y": 2 - }, - "_shadowBlur": 2, - "_id": "9b5WvbvapLt7Lbg6ZCOikM" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 76 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 34, - "_target": null, - "_left": 0, - "_right": 25, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "b9eRq189JNCLufDoLYKOSi" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 71 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 120, - "height": 30 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "a32rpoMgpCB6cOLqTQMEM3" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 71 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "38ef2cdf-a945-429d-b703-3c9536058498@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "659VbxxHVATL7ovG+uJG5F" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 71 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 4, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 15, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "17rXnioZ9PQrYTDiisG3bk" - }, - { - "__type__": "cc.Node", - "_name": "jf_fillet", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 70 - }, - "_children": [ - { - "__id__": 84 - }, - { - "__id__": 88 - } - ], - "_active": true, - "_components": [ - { - "__id__": 92 - }, - { - "__id__": 93 - }, - { - "__id__": 94 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 20, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "63xP0FtWxHSJBfklTuhfG+" - }, - { - "__type__": "cc.Node", - "_name": "jf", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 85 - }, - { - "__id__": 86 - }, - { - "__id__": 87 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -44, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "32x7dMf/5PRaedQUjjYOdN" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 36, - "height": 36 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "75OUK5tflKIb81Mk/x5i+R" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "667dae90-8327-4fd8-b314-c95c92ed1420@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "5fXI9C6SFFkqjv1tbcv6jI" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 84 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 8, - "_target": null, - "_left": -2, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "f1XT/gxI1DXa0K2QMI9ees" - }, - { - "__type__": "cc.Node", - "_name": "jf_text", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 83 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 89 - }, - { - "__id__": 90 - }, - { - "__id__": 91 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 10.5322265625, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "fcGYzGL0NDMrsvERqBxKAH" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 88 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 48.935546875, - "height": 30 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "deVBMbNZFM968P/XvcagkY" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 88 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_string": "0", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 20, - "_fontSize": 20, - "_fontFamily": "Arial", - "_lineHeight": 0, - "_overflow": 2, - "_enableWrapText": false, - "_font": null, - "_isSystemFontUsed": true, - "_spacingX": 0, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 2, - "_cacheMode": 0, - "_enableOutline": false, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_outlineWidth": 2, - "_enableShadow": false, - "_shadowColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_shadowOffset": { - "__type__": "cc.Vec2", - "x": 2, - "y": 2 - }, - "_shadowBlur": 2, - "_id": "6697WZUXhDx4VPVzWP82mu" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 88 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 34, - "_target": null, - "_left": 0, - "_right": 25, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "36hK7kLqlAjbyg0LBvoKSw" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 83 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 120, - "height": 30 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "dcuylZ8+dGuLdkpyQfNLQX" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 83 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "38ef2cdf-a945-429d-b703-3c9536058498@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "7fTuz5LlRNlbF8P9keXTmK" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 83 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 1, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 15, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "0eUFqN9vNHqKpD3W3I2MK+" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 70 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 125, - "height": 100 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "ee9ld4u9hEDogAmVGo7PJ3" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 70 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 32, - "_target": null, - "_left": 0, - "_right": 5, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "edvzNLxJdFzob3B2CddOIy" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 65 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 215, - "height": 90 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "84G5DSAxxGppLGN3aBfbid" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 65 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 12, - "_target": { - "__id__": 2 - }, - "_left": 20, - "_right": 0, - "_top": 0, - "_bottom": 10, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 12, - "_id": "9dpcvas2JGxbwCFxEBnJbH" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 65 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": null, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "f9fc17ee-6006-40dd-8429-f46040b4d56c@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "22m+aiSfNA14RzAhhSplPe" - }, - { - "__type__": "47604c854NMlIvb9bkfIwNK", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 31 - }, - "_enabled": true, - "__prefab": null, - "dzScore": null, - "jfScore": null, - "clickEffect": null, - "waveEffect": { - "__id__": 101 - }, - "_id": "ecYf8z281HPYqMzFlh71IL" - }, - { - "__type__": "cc.Node", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_prefab": { - "__id__": 102 - }, - "__editorExtras__": {} - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 101 - }, - "asset": { - "__uuid__": "f54c348d-0c47-4d0d-84c0-6f3ba50e83cd", - "__expectedType__": "cc.Prefab" - }, - "fileId": "72rT9g30NI9I3xQCX6hAX8", - "instance": { - "__id__": 103 - }, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.PrefabInstance", - "fileId": "84JYITv+ZNHaFE1jdnkV+s", - "prefabRootNode": null, - "mountedChildren": [], - "mountedComponents": [], - "propertyOverrides": [ - { - "__id__": 104 - }, - { - "__id__": 106 - }, - { - "__id__": 108 - }, - { - "__id__": 110 - }, - { - "__id__": 112 - }, - { - "__id__": 114 - }, - { - "__id__": 116 - }, - { - "__id__": 118 - }, - { - "__id__": 120 - }, - { - "__id__": 122 - }, - { - "__id__": 124 - }, - { - "__id__": 126 - }, - { - "__id__": 128 - }, - { - "__id__": 130 - }, - { - "__id__": 132 - }, - { - "__id__": 134 - }, - { - "__id__": 136 - }, - { - "__id__": 138 - }, - { - "__id__": 140 - }, - { - "__id__": 142 - } - ], - "removedComponents": [] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 105 - }, - "propertyPath": [ - "position" - ], - "value": { - "__type__": "cc.Vec3", - "x": -1319.969, - "y": 6.532, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "72rT9g30NI9I3xQCX6hAX8" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 107 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "f3q9a3kJxI6619IcogTvp7" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 109 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "02sfhCv7JG4I7QydYNzVeW" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 111 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "53W2pplCxMxIhA5nnbq1LB" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 113 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "0fUmVwCOxCSIaT7G1MNUo9" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 115 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "6dxot+8q9C37r2s5ewT4DZ" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 117 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "fcLkAwjZtMZoH9+WTnTqiB" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 119 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "38AN/szR9AmZIx2VxovYDS" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 121 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "e4SQ8fxl5Ge62389leGnmM" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 123 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "5fro4OMTBCg6tJ7L5zQwTt" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 125 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "8anDxPJHhBja+ygPqEaqHs" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 127 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "1cmT40u/dMRaGN7SEeJTN5" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 129 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "32cQ3liG1GfYtJ5epdftMi" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 131 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "f4BJEzlMhIAasI8WUNY0em" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 133 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "00tD8Sj+hK2K57LyuClD0W" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 135 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "cdS9CfCaBD5r64aZKcbVxT" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 137 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "abtu4j+ZJEdIfpNkyZFJDo" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 139 - }, - "propertyPath": [ - "_customMaterial" - ], - "value": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "d6EnuwAfxHFYWlaWedojfL" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 141 - }, - "propertyPath": [ - "_sizeMode" - ], - "value": 0 - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "d6EnuwAfxHFYWlaWedojfL" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 143 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 398, - "height": 1242 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "cccoPXWnlADoYO/87/4nDe" - ] - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 31 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "bbF38tmWBKh5XhLWssnwzU" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 31 - }, - "_enabled": false, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 72 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "ffqHDIjJJLGa96G5OgvSm4" - }, - { - "__type__": "cc.Node", - "_name": "scoreContainer", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 147 - }, - { - "__id__": 148 - }, - { - "__id__": 149 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "0dQbPbiadLgrwiNdRc8zn1" - }, - { - "__type__": "ff2de++nIVGMrFqAhVn2hvd", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 146 - }, - "_enabled": true, - "__prefab": null, - "scrorePrefab": { - "__uuid__": "463abd5d-c3b8-4354-b614-012540a2dfb8", - "__expectedType__": "cc.Prefab" - }, - "_id": "a5AjvKoBdAgowjIZsa1q8l" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 146 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "f0VTDMc8ZB3ro1XBKb+TeI" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 146 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "22jD1kB7dCJpqCtO5eAj9u" - }, - { - "__type__": "cc.Node", - "_name": "CannonNode", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [ - { - "__id__": 151 - } - ], - "_active": true, - "_components": [ - { - "__id__": 156 - }, - { - "__id__": 157 - }, - { - "__id__": 158 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "41C9DnxYdMHK3Dqq4w3gI9" - }, - { - "__type__": "cc.Node", - "_name": "view", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 150 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 152 - }, - { - "__id__": 153 - }, - { - "__id__": 154 - }, - { - "__id__": 155 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": -489, - "y": -562, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "d14pHShSJBQqmpRRQLGzBv" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 151 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "b35647f1-4acd-4258-9571-b09ac5ca9e51@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "09r8/SAS1BR6jkB7aZJutp" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 151 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "93dcDfIKdDOKrM2QlbI78C" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 151 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 51, - "height": 69 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "53lTDyVeBC6JzrF1lfdw2i" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 151 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 12, - "_target": { - "__id__": 2 - }, - "_left": 600, - "_right": 0, - "_top": 0, - "_bottom": -10, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "05RIxk+SZJoqCykmY9rqhB" - }, - { - "__type__": "d03d3+gnyNBBr4FnRBr2PjI", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 150 - }, - "_enabled": true, - "__prefab": null, - "view": { - "__id__": 151 - }, - "cannonSpriteFrame": [ - { - "__uuid__": "b35647f1-4acd-4258-9571-b09ac5ca9e51@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "c0c206a3-f869-4f28-9f66-63c7d4166ec1@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "511b874d-bc3c-4dc0-a237-dcc6aef6dbbd@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "7ef4a8d8-105a-4d0b-90e7-28f3e1643d60@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "c6812ce7-61f0-40f9-aa8f-d1121cc713df@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "62538856-6491-4ae4-a146-7a5d73c776e6@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - { - "__uuid__": "2d2df4eb-a4f1-4dfc-8a3b-fcbe190084b5@f9941", - "__expectedType__": "cc.SpriteFrame" - } - ], - "_id": "67nQKsGnJJjYh8Ttd2SiGk" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 150 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "1eJX8bJb5L862Pfm9zHwMv" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 150 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "20bdgL2yVK9bp99O7Y32dW" - }, - { - "__type__": "cc.Node", - "_name": "UIRoot", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 160 - }, - { - "__id__": 161 - }, - { - "__id__": 162 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "4emGRnwsFAUrt3zDf6ezq5" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 159 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "63bfqUhgJCfr1p38Hc/R1y" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 159 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 100, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "b34FEcJgROuIMxYKUcwIc2" - }, - { - "__type__": "e0962y99b1MFbbYxAPQKoVP", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 159 - }, - "_enabled": true, - "__prefab": null, - "_id": "358ZJUeO1DK6+d5UX5Vd0S" - }, - { - "__type__": "cc.Canvas", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_cameraComponent": { - "__id__": 4 - }, - "_alignCanvasWithScreen": true, - "_id": "59Cd0ovbdF4byw5sbjJDx7" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "29zXboiXFBKoIV4PQ2liTe" - }, - { - "__type__": "ebb8dQ39kJKkZosbZuHQ9fX", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "bg": { - "__id__": 8 - }, - "fishPrefabList": [ - { - "__uuid__": "47d3546e-a6e8-4c48-9c46-21e97ce57dcf", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "bf5ebf2c-89fe-4e3a-8f99-4f4f9e4443f5", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "14a13586-d730-4cf8-ab0f-2f1a5b40da65", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "4cbe5be2-a637-4173-91f5-6aa9c5273df3", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "d83f7446-c7c0-4e91-bd27-37ce175d5d73", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "a5184b65-c883-4248-8c0f-8b0c37252422", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "dceae1a9-7dd4-43c0-9922-83764c44c449", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "8f864626-d7d7-45aa-81db-3d41bb14d00f", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "fa537355-b5fc-4e19-8d4f-0501d843a9d4", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f36610d9-4289-48ee-95a7-975bbfc49236", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "b8da0783-a765-4908-aca5-67b63ab6f075", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "d5f2569c-92b6-45fb-9c06-ef51c5cbdea1", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "7f06caf0-aa99-40a1-a67d-df79720105b1", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f8a57d3b-b016-485a-836c-05acee7029c7", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "09c0288d-20d2-491f-9444-f69d7a4ed5c7", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "c1984480-e466-4231-a2f5-695db423ce7d", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "ab3c1446-4760-469c-a423-d4e01366c9b8", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "38b241e2-5e6f-4ec4-8fc2-f9f8ff4dcc13", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "3b9deb77-7448-4f63-8e94-1583ad4bd051", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "32c2956d-1895-479e-9374-a3295bc781d6", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "f4e0a0c9-f61a-420f-8469-fe1e4be0e6f3", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "e7631f18-aa31-4049-b106-c70e4adfb386", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "982a2138-43b6-4f8f-83f1-0e7c8a8f3d05", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "e1f672f4-cd34-4b83-a0eb-861e7a2bae89", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "be37ecdb-daed-44d7-af74-2802c5c59c0c", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "448b26ed-b79d-4a7f-bffc-a1e72371cd38", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "8a8d350e-e482-4929-87ae-159503dc7727", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "7917852f-3399-48f6-9881-7099812ca27f", - "__expectedType__": "cc.Prefab" - }, - { - "__uuid__": "77ddec11-786d-4a7a-825b-a3c4fc203a16", - "__expectedType__": "cc.Prefab" - } - ], - "_id": "06uFe8ZIBBw7b4uPbAuatI" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "01t0lfOs5JxJXhaCZuBW6T" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "e8MKZQNyxJb5EKwbF4FSNj" - }, - { - "__type__": "cc.PrefabInfo", - "root": null, - "asset": null, - "fileId": "", - "instance": null, - "targetOverrides": [ - { - "__id__": 169 - }, - { - "__id__": 171 - } - ], - "nestedPrefabInstanceRoots": [ - { - "__id__": 26 - }, - { - "__id__": 101 - } - ] - }, - { - "__type__": "cc.TargetOverrideInfo", - "source": { - "__id__": 100 - }, - "sourceInfo": null, - "propertyPath": [ - "clickEffect" - ], - "target": { - "__id__": 26 - }, - "targetInfo": { - "__id__": 170 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "83+iBA3d5BEL/YrP7NSYHs" - ] - }, - { - "__type__": "cc.TargetOverrideInfo", - "source": { - "__id__": 100 - }, - "sourceInfo": null, - "propertyPath": [ - "waveEffect" - ], - "target": { - "__id__": 101 - }, - "targetInfo": { - "__id__": 172 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "72rT9g30NI9I3xQCX6hAX8" - ] - }, - { - "__type__": "cc.SceneGlobals", - "ambient": { - "__id__": 174 - }, - "shadows": { - "__id__": 175 - }, - "_skybox": { - "__id__": 176 - }, - "fog": { - "__id__": 177 - }, - "octree": { - "__id__": 178 - }, - "skin": { - "__id__": 179 - }, - "lightProbeInfo": { - "__id__": 180 - }, - "postSettings": { - "__id__": 181 - }, - "bakedWithStationaryMainLight": false, - "bakedWithHighpLightmap": false - }, - { - "__type__": "cc.AmbientInfo", - "_skyColorHDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyColor": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyIllumHDR": 20000, - "_skyIllum": 20000, - "_groundAlbedoHDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - }, - "_groundAlbedo": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - }, - "_skyColorLDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyIllumLDR": 0.78125, - "_groundAlbedoLDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - } - }, - { - "__type__": "cc.ShadowsInfo", - "_enabled": false, - "_type": 0, - "_normal": { - "__type__": "cc.Vec3", - "x": 0, - "y": 1, - "z": 0 - }, - "_distance": 0, - "_planeBias": 1, - "_shadowColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 76 - }, - "_maxReceived": 4, - "_size": { - "__type__": "cc.Vec2", - "x": 512, - "y": 512 - } - }, - { - "__type__": "cc.SkyboxInfo", - "_envLightingType": 0, - "_envmapHDR": null, - "_envmap": null, - "_envmapLDR": null, - "_diffuseMapHDR": null, - "_diffuseMapLDR": null, - "_enabled": false, - "_useHDR": true, - "_editableMaterial": null, - "_reflectionHDR": null, - "_reflectionLDR": null, - "_rotationAngle": 0 - }, - { - "__type__": "cc.FogInfo", - "_type": 0, - "_fogColor": { - "__type__": "cc.Color", - "r": 225, - "g": 225, - "b": 225, - "a": 255 - }, - "_enabled": false, - "_fogDensity": 0.3, - "_fogStart": 0.5, - "_fogEnd": 300, - "_fogAtten": 5, - "_fogTop": 1.5, - "_fogRange": 1.2, - "_accurate": false - }, - { - "__type__": "cc.OctreeInfo", - "_enabled": false, - "_minPos": { - "__type__": "cc.Vec3", - "x": -1024, - "y": -1024, - "z": -1024 - }, - "_maxPos": { - "__type__": "cc.Vec3", - "x": 1024, - "y": 1024, - "z": 1024 - }, - "_depth": 8 - }, - { - "__type__": "cc.SkinInfo", - "_enabled": true, - "_blurRadius": 0.01, - "_sssIntensity": 3 - }, - { - "__type__": "cc.LightProbeInfo", - "_giScale": 1, - "_giSamples": 1024, - "_bounces": 2, - "_reduceRinging": 0, - "_showProbe": true, - "_showWireframe": true, - "_showConvex": false, - "_data": null, - "_lightProbeSphereVolume": 1 - }, - { - "__type__": "cc.PostSettingsInfo", - "_toneMappingType": 0 - } +[ + { + "__type__": "cc.SceneAsset", + "_name": "FishGameScene", + "_objFlags": 0, + "__editorExtras__": {}, + "_native": "", + "scene": { + "__id__": 1 + } + }, + { + "__type__": "cc.Scene", + "_name": "FishGameScene", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 168 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "autoReleaseAssets": false, + "_globals": { + "__id__": 173 + }, + "_id": "49f37487-196e-48a5-ad7e-0f3f4fcc8496" + }, + { + "__type__": "cc.Node", + "_name": "Canvas", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 3 + }, + { + "__id__": 7 + }, + { + "__id__": 13 + }, + { + "__id__": 17 + }, + { + "__id__": 22 + }, + { + "__id__": 26 + }, + { + "__id__": 31 + }, + { + "__id__": 146 + }, + { + "__id__": 150 + }, + { + "__id__": 101 + }, + { + "__id__": 159 + } + ], + "_active": true, + "_components": [ + { + "__id__": 163 + }, + { + "__id__": 164 + }, + { + "__id__": 165 + }, + { + "__id__": 166 + }, + { + "__id__": 167 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 1140, + "y": 621, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "a5esZu+45LA5mBpvttspPD" + }, + { + "__type__": "cc.Node", + "_name": "Main Camera", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 4 + }, + { + "__id__": 5 + }, + { + "__id__": 6 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 1000 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "e1WoFrQ79G7r4ZuQE3HlNb" + }, + { + "__type__": "cc.Camera", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_projection": 0, + "_priority": -1, + "_fov": 60, + "_fovAxis": 0, + "_orthoHeight": 709.6600234466589, + "_near": 1, + "_far": 4096, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_depth": 1, + "_stencil": 0, + "_clearFlags": 7, + "_rect": { + "__type__": "cc.Rect", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + "_aperture": 19, + "_shutter": 7, + "_iso": 0, + "_screenScale": 1, + "_visibility": 4294967295, + "_targetTexture": null, + "_postProcess": null, + "_usePostProcess": false, + "_cameraType": -1, + "_trackingType": 0, + "_id": "81GN3uXINKVLeW4+iKSlim" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "24eLHPrdJCappcW097h+n1" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2208, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "1dNgj2s91JLKrnX6SGFSGw" + }, + { + "__type__": "cc.Node", + "_name": "bg", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 8 + }, + { + "__id__": 9 + }, + { + "__id__": 10 + }, + { + "__id__": 11 + }, + { + "__id__": 12 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "cc8B0UHudAoZsWH8Xrc+2R" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "30514d45-db3b-4904-9e84-5269572856f6@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "0aaZe4+a9Fp7Yk4bd2bcBb" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": -20, + "_right": -20, + "_top": -29, + "_bottom": -29, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 1920, + "_originalHeight": 1080, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "5dtow+Fg1Nip49Tc/wtI9y" + }, + { + "__type__": "1147cykL+lNgohQDZfLMxjV", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "Spriteset": [ + { + "__uuid__": "66d28bb4-7926-457a-bfdd-352fbdff0612@f9941", + "__expectedType__": "cc.SpriteFrame" + } + ], + "Spriteset1": [], + "Spriteset2": [], + "Spriteset3": [], + "Spriteset4": [], + "_id": "4dQrHqdRdFJ7T7xcVqYeyN" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "83iYHuag1KvZ2eCEpFVRQb" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2320, + "height": 1300 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "30Hc45hOVKYLH2JNKYNsxh" + }, + { + "__type__": "cc.Node", + "_name": "fishContainer", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 14 + }, + { + "__id__": 15 + }, + { + "__id__": 16 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "9e11iUDqNGzYHrwBdodhMT" + }, + { + "__type__": "b2060mpWhtBGZ+xOZtFFVqr", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": null, + "fishContainer": { + "__id__": 13 + }, + "fishPrefabList": [ + { + "__uuid__": "47d3546e-a6e8-4c48-9c46-21e97ce57dcf", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "bf5ebf2c-89fe-4e3a-8f99-4f4f9e4443f5", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "14a13586-d730-4cf8-ab0f-2f1a5b40da65", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "4cbe5be2-a637-4173-91f5-6aa9c5273df3", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "d83f7446-c7c0-4e91-bd27-37ce175d5d73", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "a5184b65-c883-4248-8c0f-8b0c37252422", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "dceae1a9-7dd4-43c0-9922-83764c44c449", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "8f864626-d7d7-45aa-81db-3d41bb14d00f", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "fa537355-b5fc-4e19-8d4f-0501d843a9d4", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f36610d9-4289-48ee-95a7-975bbfc49236", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "b8da0783-a765-4908-aca5-67b63ab6f075", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "d5f2569c-92b6-45fb-9c06-ef51c5cbdea1", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "7f06caf0-aa99-40a1-a67d-df79720105b1", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f8a57d3b-b016-485a-836c-05acee7029c7", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "09c0288d-20d2-491f-9444-f69d7a4ed5c7", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "c1984480-e466-4231-a2f5-695db423ce7d", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "ab3c1446-4760-469c-a423-d4e01366c9b8", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "38b241e2-5e6f-4ec4-8fc2-f9f8ff4dcc13", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "3b9deb77-7448-4f63-8e94-1583ad4bd051", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "32c2956d-1895-479e-9374-a3295bc781d6", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f4e0a0c9-f61a-420f-8469-fe1e4be0e6f3", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e7631f18-aa31-4049-b106-c70e4adfb386", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "982a2138-43b6-4f8f-83f1-0e7c8a8f3d05", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e1f672f4-cd34-4b83-a0eb-861e7a2bae89", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "be37ecdb-daed-44d7-af74-2802c5c59c0c", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "448b26ed-b79d-4a7f-bffc-a1e72371cd38", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "8a8d350e-e482-4929-87ae-159503dc7727", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "7917852f-3399-48f6-9881-7099812ca27f", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "77ddec11-786d-4a7a-825b-a3c4fc203a16", + "__expectedType__": "cc.Prefab" + } + ], + "_id": "6eL+N1JG9KP7PPx8FC5KJ8" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "fcY81BhAlHVIKaaKZdQYFm" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "c3qLFzIH1NoLOVqmmMluvK" + }, + { + "__type__": "cc.Node", + "_name": "bulletContainer", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 18 + }, + { + "__id__": 19 + }, + { + "__id__": 20 + }, + { + "__id__": 21 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "364kAlR4tORISx/nLqsjE4" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "580ITg5l5J67y/rcx7/HX2" + }, + { + "__type__": "bd0650LC2BJga6gddLyCbfq", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": null, + "bulletPrefabList": [ + { + "__uuid__": "0ad2414f-d035-4829-9433-c23afad415ef", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "dc9437ca-3609-489d-9131-32244f5e55a6", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "79855960-709b-4967-8c51-6940744466f9", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "56838abc-6e8d-46c1-8ffb-129da6da9443", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "2f653c1e-9dbb-4869-9061-69dcf40a1bcd", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "774fa85c-b690-44fd-a1c8-bc18b704e8ef", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f6b3d3ac-4772-4d59-8251-57338ab5c76f", + "__expectedType__": "cc.Prefab" + } + ], + "_id": "depeLNU5NH5JzZB+jTVwXO" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "7aGn2RT4VCAajQfuPGiwg6" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "53DV5XmxVMC7RehsAYzcHw" + }, + { + "__type__": "cc.Node", + "_name": "netContainer", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 23 + }, + { + "__id__": 24 + }, + { + "__id__": 25 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "98njYvdTNN7JBjidT+vv9z" + }, + { + "__type__": "fec49GwT29KF5KNpO48K7Vn", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": null, + "netPrefabList": [ + { + "__uuid__": "3019bbca-7237-4ee4-a35b-7c7a0c1ccd9b", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "08f4d926-24bb-4a4a-81a8-24ae2a793bf6", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "a314910b-5959-4c54-b647-dd384d164899", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f919f874-0259-4a0e-a3db-f841daf632cc", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "59149dfd-d478-4521-a3ee-99c079823920", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "3dab6c97-138d-45e0-9412-1b776e807dcb", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "25501766-5a13-4150-99fe-d6eaba9b66c8", + "__expectedType__": "cc.Prefab" + } + ], + "_id": "earyf9PWtJuaw4FdKAUsT+" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "e65SfNQKBNU4X5WypCADME" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 22 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "efYGHPakNNx4Ye6l9rJv+r" + }, + { + "__type__": "cc.Node", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_prefab": { + "__id__": 27 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 26 + }, + "asset": { + "__uuid__": "e3815a16-44e9-4990-a53f-0fe3e9784029", + "__expectedType__": "cc.Prefab" + }, + "fileId": "04Iog1bgRF3oo4bMCXFBTg", + "instance": { + "__id__": 28 + }, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "af2AQQfoFO9pWUJa4gbYJq", + "prefabRootNode": null, + "mountedChildren": [], + "mountedComponents": [], + "propertyOverrides": [ + { + "__id__": 29 + } + ], + "removedComponents": [] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 30 + }, + "propertyPath": [ + "scale" + ], + "value": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 2 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "04Iog1bgRF3oo4bMCXFBTg" + ] + }, + { + "__type__": "cc.Node", + "_name": "fishUI", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [ + { + "__id__": 32 + }, + { + "__id__": 37 + }, + { + "__id__": 44 + }, + { + "__id__": 51 + }, + { + "__id__": 58 + }, + { + "__id__": 65 + } + ], + "_active": true, + "_components": [ + { + "__id__": 100 + }, + { + "__id__": 144 + }, + { + "__id__": 145 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -101.857, + "y": -550.103, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "f9W4vdS0NPsYZm/nl9QaXK" + }, + { + "__type__": "cc.Node", + "_name": "dizuo", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 33 + }, + { + "__id__": 34 + }, + { + "__id__": 35 + }, + { + "__id__": 36 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -193.82150000000001, + "y": -3.448500000000024, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "62kabC3s5PcICMmjqMJ5iT" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@b37de", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "66Ul7xtatFs6dvBV1YWg6a" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "81r91sjAZHl4g0FgSf2iaU" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 301, + "height": 128 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "e3ajB/EipEUruF78Z15LNX" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 32 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 12, + "_target": { + "__id__": 2 + }, + "_left": 500, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "62NErElDtCBJC0xvKyvMo5" + }, + { + "__type__": "cc.Node", + "_name": "btnAdd", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 38 + }, + { + "__id__": 39 + }, + { + "__id__": 41 + }, + { + "__id__": 42 + }, + { + "__id__": 43 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -119.07150000000001, + "y": -10.448500000000024, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "75g0cKQBVIIqI7+0lUDnSw" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@223e0", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "321F2hTttGt5Egef/C6O0N" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": null, + "clickEvents": [ + { + "__id__": 40 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@223e0", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "80ET1ZBxlAo5QjfZLMRb/u" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 31 + }, + "component": "", + "_componentId": "47604c854NMlIvb9bkfIwNK", + "handler": "onClickNext", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "f8z1IqPmhNx5PLAy5i+3/h" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 50, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "dbsWJB9gxB+LD8Ftvni3TR" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 37 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 12, + "_target": { + "__id__": 2 + }, + "_left": 750, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "8fLcJlKgNGZoTFYlWPiU/F" + }, + { + "__type__": "cc.Node", + "_name": "btnPre", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 45 + }, + { + "__id__": 46 + }, + { + "__id__": 48 + }, + { + "__id__": 49 + }, + { + "__id__": 50 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -269.0715, + "y": -10.448500000000024, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "7b0GliST9ENbuYQyW5TDrk" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 44 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@3b6d7", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "b7AnPHC0tOaa9rnaYOqiJa" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 44 + }, + "_enabled": true, + "__prefab": null, + "clickEvents": [ + { + "__id__": 47 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@3b6d7", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "64/EgfHV1F2ZROs2HFXzpy" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 31 + }, + "component": "", + "_componentId": "47604c854NMlIvb9bkfIwNK", + "handler": "onClickPre", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 44 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "bd9jtmv4hKxL6MyRQVHTUM" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 44 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 50, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "98Il0I8E9P4aMP88oa5O5j" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 44 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 12, + "_target": { + "__id__": 2 + }, + "_left": 450, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "0fioHmtONNcoCP5YYBID4f" + }, + { + "__type__": "cc.Node", + "_name": "wikiicon", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [], + "_active": false, + "_components": [ + { + "__id__": 52 + }, + { + "__id__": 53 + }, + { + "__id__": 55 + }, + { + "__id__": 56 + }, + { + "__id__": 57 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -469.0715, + "y": 310.5515, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "73MsJIMqJMNI9Ri++IKVeJ" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 51 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@215b4", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "59THLt4FNMso0L0QNlK8J+" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 51 + }, + "_enabled": true, + "__prefab": null, + "clickEvents": [ + { + "__id__": 54 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@215b4", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": { + "__id__": 51 + }, + "_id": "15fxVBbndMKaNb15VUzP38" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 2 + }, + "component": "", + "_componentId": "ebb8dQ39kJKkZosbZuHQ9fX", + "handler": "onClickWiki", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 51 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "e8t7aZNxdF6rfOPmtPDbVH" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 51 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 50, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "87fdsXnt9FzIF7KCbDoNMA" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 51 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 9, + "_target": { + "__id__": 2 + }, + "_left": 50, + "_right": 0, + "_top": 500, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "eefgIrNn1HdoUQB5AEO7M1" + }, + { + "__type__": "cc.Node", + "_name": "shezhi", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 59 + }, + { + "__id__": 60 + }, + { + "__id__": 62 + }, + { + "__id__": 63 + }, + { + "__id__": 64 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -469.0715, + "y": 385.5515, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "b7y9BoiaBGN5hPtaNB82lf" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 58 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@590e7", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4", + "__expectedType__": "cc.SpriteAtlas" + }, + "_id": "0d5gdkDctOyZ3r0VVdLVMG" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 58 + }, + "_enabled": true, + "__prefab": null, + "clickEvents": [ + { + "__id__": 61 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "22eaab96-f558-48fc-bd44-75f2629b62a4@590e7", + "__expectedType__": "cc.SpriteFrame" + }, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": { + "__id__": 58 + }, + "_id": "5f6D3C+vlFi5siD60ml2t+" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 31 + }, + "component": "", + "_componentId": "47604c854NMlIvb9bkfIwNK", + "handler": "onClickSetting", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 58 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "fcLvgiK21KbrP0uHNGbPcS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 58 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 50, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "abrfGevjlDmqaXHf/fLVpb" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 58 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 9, + "_target": { + "__id__": 2 + }, + "_left": 50, + "_right": 0, + "_top": 350, + "_bottom": 11, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 50, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "d9adiMh05H24VLEmbqTEMp" + }, + { + "__type__": "cc.Node", + "_name": "userInfo", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 31 + }, + "_children": [ + { + "__id__": 66 + }, + { + "__id__": 70 + } + ], + "_active": true, + "_components": [ + { + "__id__": 97 + }, + { + "__id__": 98 + }, + { + "__id__": 99 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -401.5715, + "y": 14.551499999999976, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "77CjrwwsxJF7KY7wh69TAz" + }, + { + "__type__": "cc.Node", + "_name": "avatar", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 65 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 67 + }, + { + "__id__": 68 + }, + { + "__id__": 69 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -62.5, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "3cBYwPupZJfrKwoDZhmgxe" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 66 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 74, + "height": 77 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "6e8q9rYntBlrACoWjabBd7" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 66 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "cda62680-32c9-4bf8-bdf5-341b6d6f41c3@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "c1kFf/WWBBV4v4+kFBKEPc" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 66 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 10, + "_target": null, + "_left": 8, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "a0ZuNy5sJKx5EeTuLr47N2" + }, + { + "__type__": "cc.Node", + "_name": "info", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 65 + }, + "_children": [ + { + "__id__": 71 + }, + { + "__id__": 83 + } + ], + "_active": true, + "_components": [ + { + "__id__": 95 + }, + { + "__id__": 96 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 40, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "e0iN0QSdVB3Jjl92onj3fT" + }, + { + "__type__": "cc.Node", + "_name": "dz_fillet", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 70 + }, + "_children": [ + { + "__id__": 72 + }, + { + "__id__": 76 + } + ], + "_active": true, + "_components": [ + { + "__id__": 80 + }, + { + "__id__": 81 + }, + { + "__id__": 82 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -20, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "f7OfDDZZVBMaAiMlo056CJ" + }, + { + "__type__": "cc.Node", + "_name": "dz", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 71 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 73 + }, + { + "__id__": 74 + }, + { + "__id__": 75 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -42.5, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "034vakvflEjqTEyVt3j5le" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 72 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 45, + "height": 42 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "58dW0fJKhHgasedn9MnDfn" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 72 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "962c910f-069b-4a38-9099-4596ed34e91e@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "190iGacAVKB4IB7VvvDI/Y" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 72 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 8, + "_target": null, + "_left": -5, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "bf+wx1S0lFjaUyo5L55xTv" + }, + { + "__type__": "cc.Node", + "_name": "dz_text", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 71 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 77 + }, + { + "__id__": 78 + }, + { + "__id__": 79 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 10.5322265625, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "59LhR6VU9IAbfH3XjA95+6" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 76 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 48.935546875, + "height": 30 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "a9+kYGJdlHgI7sRVqSI1UI" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 76 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "0", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 0, + "_overflow": 2, + "_enableWrapText": false, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "9b5WvbvapLt7Lbg6ZCOikM" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 76 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 34, + "_target": null, + "_left": 0, + "_right": 25, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "b9eRq189JNCLufDoLYKOSi" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 71 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 120, + "height": 30 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "a32rpoMgpCB6cOLqTQMEM3" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 71 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "38ef2cdf-a945-429d-b703-3c9536058498@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "659VbxxHVATL7ovG+uJG5F" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 71 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 4, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 15, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "17rXnioZ9PQrYTDiisG3bk" + }, + { + "__type__": "cc.Node", + "_name": "jf_fillet", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 70 + }, + "_children": [ + { + "__id__": 84 + }, + { + "__id__": 88 + } + ], + "_active": true, + "_components": [ + { + "__id__": 92 + }, + { + "__id__": 93 + }, + { + "__id__": 94 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 20, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "63xP0FtWxHSJBfklTuhfG+" + }, + { + "__type__": "cc.Node", + "_name": "jf", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 83 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 85 + }, + { + "__id__": 86 + }, + { + "__id__": 87 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -44, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "32x7dMf/5PRaedQUjjYOdN" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 84 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 36, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "75OUK5tflKIb81Mk/x5i+R" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 84 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "667dae90-8327-4fd8-b314-c95c92ed1420@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "5fXI9C6SFFkqjv1tbcv6jI" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 84 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 8, + "_target": null, + "_left": -2, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "f1XT/gxI1DXa0K2QMI9ees" + }, + { + "__type__": "cc.Node", + "_name": "jf_text", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 83 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 89 + }, + { + "__id__": 90 + }, + { + "__id__": 91 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 10.5322265625, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "fcGYzGL0NDMrsvERqBxKAH" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 88 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 48.935546875, + "height": 30 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "deVBMbNZFM968P/XvcagkY" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 88 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_string": "0", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 20, + "_fontSize": 20, + "_fontFamily": "Arial", + "_lineHeight": 0, + "_overflow": 2, + "_enableWrapText": false, + "_font": null, + "_isSystemFontUsed": true, + "_spacingX": 0, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 2, + "_cacheMode": 0, + "_enableOutline": false, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_outlineWidth": 2, + "_enableShadow": false, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_shadowOffset": { + "__type__": "cc.Vec2", + "x": 2, + "y": 2 + }, + "_shadowBlur": 2, + "_id": "6697WZUXhDx4VPVzWP82mu" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 88 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 34, + "_target": null, + "_left": 0, + "_right": 25, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "36hK7kLqlAjbyg0LBvoKSw" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 83 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 120, + "height": 30 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "dcuylZ8+dGuLdkpyQfNLQX" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 83 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "38ef2cdf-a945-429d-b703-3c9536058498@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "7fTuz5LlRNlbF8P9keXTmK" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 83 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 1, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 15, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "0eUFqN9vNHqKpD3W3I2MK+" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 70 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 125, + "height": 100 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "ee9ld4u9hEDogAmVGo7PJ3" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 70 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 32, + "_target": null, + "_left": 0, + "_right": 5, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "edvzNLxJdFzob3B2CddOIy" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 65 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 215, + "height": 90 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "84G5DSAxxGppLGN3aBfbid" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 65 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 12, + "_target": { + "__id__": 2 + }, + "_left": 20, + "_right": 0, + "_top": 0, + "_bottom": 10, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 12, + "_id": "9dpcvas2JGxbwCFxEBnJbH" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 65 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": null, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "f9fc17ee-6006-40dd-8429-f46040b4d56c@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "22m+aiSfNA14RzAhhSplPe" + }, + { + "__type__": "47604c854NMlIvb9bkfIwNK", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": null, + "dzScore": null, + "jfScore": null, + "clickEffect": null, + "waveEffect": { + "__id__": 101 + }, + "_id": "ecYf8z281HPYqMzFlh71IL" + }, + { + "__type__": "cc.Node", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_prefab": { + "__id__": 102 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 101 + }, + "asset": { + "__uuid__": "f54c348d-0c47-4d0d-84c0-6f3ba50e83cd", + "__expectedType__": "cc.Prefab" + }, + "fileId": "72rT9g30NI9I3xQCX6hAX8", + "instance": { + "__id__": 103 + }, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "84JYITv+ZNHaFE1jdnkV+s", + "prefabRootNode": null, + "mountedChildren": [], + "mountedComponents": [], + "propertyOverrides": [ + { + "__id__": 104 + }, + { + "__id__": 106 + }, + { + "__id__": 108 + }, + { + "__id__": 110 + }, + { + "__id__": 112 + }, + { + "__id__": 114 + }, + { + "__id__": 116 + }, + { + "__id__": 118 + }, + { + "__id__": 120 + }, + { + "__id__": 122 + }, + { + "__id__": 124 + }, + { + "__id__": 126 + }, + { + "__id__": 128 + }, + { + "__id__": 130 + }, + { + "__id__": 132 + }, + { + "__id__": 134 + }, + { + "__id__": 136 + }, + { + "__id__": 138 + }, + { + "__id__": 140 + }, + { + "__id__": 142 + } + ], + "removedComponents": [] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 105 + }, + "propertyPath": [ + "position" + ], + "value": { + "__type__": "cc.Vec3", + "x": -1319.969, + "y": 6.532, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "72rT9g30NI9I3xQCX6hAX8" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 107 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "f3q9a3kJxI6619IcogTvp7" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 109 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "02sfhCv7JG4I7QydYNzVeW" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 111 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "53W2pplCxMxIhA5nnbq1LB" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 113 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "0fUmVwCOxCSIaT7G1MNUo9" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 115 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "6dxot+8q9C37r2s5ewT4DZ" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 117 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "fcLkAwjZtMZoH9+WTnTqiB" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 119 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "38AN/szR9AmZIx2VxovYDS" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 121 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "e4SQ8fxl5Ge62389leGnmM" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 123 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "5fro4OMTBCg6tJ7L5zQwTt" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 125 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "8anDxPJHhBja+ygPqEaqHs" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 127 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "1cmT40u/dMRaGN7SEeJTN5" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 129 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "32cQ3liG1GfYtJ5epdftMi" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 131 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "f4BJEzlMhIAasI8WUNY0em" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 133 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "00tD8Sj+hK2K57LyuClD0W" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 135 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cdS9CfCaBD5r64aZKcbVxT" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 137 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "abtu4j+ZJEdIfpNkyZFJDo" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 139 + }, + "propertyPath": [ + "_customMaterial" + ], + "value": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "d6EnuwAfxHFYWlaWedojfL" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 141 + }, + "propertyPath": [ + "_sizeMode" + ], + "value": 0 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "d6EnuwAfxHFYWlaWedojfL" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 143 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 398, + "height": 1242 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "cccoPXWnlADoYO/87/4nDe" + ] + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 31 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "bbF38tmWBKh5XhLWssnwzU" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 31 + }, + "_enabled": false, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 72 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "ffqHDIjJJLGa96G5OgvSm4" + }, + { + "__type__": "cc.Node", + "_name": "scoreContainer", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 147 + }, + { + "__id__": 148 + }, + { + "__id__": 149 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "0dQbPbiadLgrwiNdRc8zn1" + }, + { + "__type__": "ff2de++nIVGMrFqAhVn2hvd", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 146 + }, + "_enabled": true, + "__prefab": null, + "scrorePrefab": { + "__uuid__": "463abd5d-c3b8-4354-b614-012540a2dfb8", + "__expectedType__": "cc.Prefab" + }, + "_id": "a5AjvKoBdAgowjIZsa1q8l" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 146 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "f0VTDMc8ZB3ro1XBKb+TeI" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 146 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "22jD1kB7dCJpqCtO5eAj9u" + }, + { + "__type__": "cc.Node", + "_name": "CannonNode", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [ + { + "__id__": 151 + } + ], + "_active": true, + "_components": [ + { + "__id__": 156 + }, + { + "__id__": 157 + }, + { + "__id__": 158 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "41C9DnxYdMHK3Dqq4w3gI9" + }, + { + "__type__": "cc.Node", + "_name": "view", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 150 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 152 + }, + { + "__id__": 153 + }, + { + "__id__": 154 + }, + { + "__id__": 155 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": -489, + "y": -562, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "d14pHShSJBQqmpRRQLGzBv" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 151 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "b35647f1-4acd-4258-9571-b09ac5ca9e51@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "09r8/SAS1BR6jkB7aZJutp" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 151 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "93dcDfIKdDOKrM2QlbI78C" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 151 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 51, + "height": 69 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "53lTDyVeBC6JzrF1lfdw2i" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 151 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 12, + "_target": { + "__id__": 2 + }, + "_left": 600, + "_right": 0, + "_top": 0, + "_bottom": -10, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "05RIxk+SZJoqCykmY9rqhB" + }, + { + "__type__": "d03d3+gnyNBBr4FnRBr2PjI", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 150 + }, + "_enabled": true, + "__prefab": null, + "view": { + "__id__": 151 + }, + "cannonSpriteFrame": [ + { + "__uuid__": "b35647f1-4acd-4258-9571-b09ac5ca9e51@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "c0c206a3-f869-4f28-9f66-63c7d4166ec1@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "511b874d-bc3c-4dc0-a237-dcc6aef6dbbd@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "7ef4a8d8-105a-4d0b-90e7-28f3e1643d60@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "c6812ce7-61f0-40f9-aa8f-d1121cc713df@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "62538856-6491-4ae4-a146-7a5d73c776e6@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + { + "__uuid__": "2d2df4eb-a4f1-4dfc-8a3b-fcbe190084b5@f9941", + "__expectedType__": "cc.SpriteFrame" + } + ], + "_id": "67nQKsGnJJjYh8Ttd2SiGk" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 150 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "1eJX8bJb5L862Pfm9zHwMv" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 150 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "20bdgL2yVK9bp99O7Y32dW" + }, + { + "__type__": "cc.Node", + "_name": "UIRoot", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 160 + }, + { + "__id__": 161 + }, + { + "__id__": 162 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "4emGRnwsFAUrt3zDf6ezq5" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 159 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "63bfqUhgJCfr1p38Hc/R1y" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 159 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 100, + "_originalHeight": 100, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "b34FEcJgROuIMxYKUcwIc2" + }, + { + "__type__": "e0962y99b1MFbbYxAPQKoVP", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 159 + }, + "_enabled": true, + "__prefab": null, + "_id": "358ZJUeO1DK6+d5UX5Vd0S" + }, + { + "__type__": "cc.Canvas", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_cameraComponent": { + "__id__": 4 + }, + "_alignCanvasWithScreen": true, + "_id": "59Cd0ovbdF4byw5sbjJDx7" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "29zXboiXFBKoIV4PQ2liTe" + }, + { + "__type__": "ebb8dQ39kJKkZosbZuHQ9fX", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "bg": { + "__id__": 8 + }, + "fishPrefabList": [ + { + "__uuid__": "47d3546e-a6e8-4c48-9c46-21e97ce57dcf", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "bf5ebf2c-89fe-4e3a-8f99-4f4f9e4443f5", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "14a13586-d730-4cf8-ab0f-2f1a5b40da65", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "4cbe5be2-a637-4173-91f5-6aa9c5273df3", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "d83f7446-c7c0-4e91-bd27-37ce175d5d73", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "a5184b65-c883-4248-8c0f-8b0c37252422", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "dceae1a9-7dd4-43c0-9922-83764c44c449", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "8f864626-d7d7-45aa-81db-3d41bb14d00f", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "fa537355-b5fc-4e19-8d4f-0501d843a9d4", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f36610d9-4289-48ee-95a7-975bbfc49236", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "b8da0783-a765-4908-aca5-67b63ab6f075", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "d5f2569c-92b6-45fb-9c06-ef51c5cbdea1", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "7f06caf0-aa99-40a1-a67d-df79720105b1", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f8a57d3b-b016-485a-836c-05acee7029c7", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "09c0288d-20d2-491f-9444-f69d7a4ed5c7", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "c1984480-e466-4231-a2f5-695db423ce7d", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "ab3c1446-4760-469c-a423-d4e01366c9b8", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "38b241e2-5e6f-4ec4-8fc2-f9f8ff4dcc13", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "3b9deb77-7448-4f63-8e94-1583ad4bd051", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "32c2956d-1895-479e-9374-a3295bc781d6", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "f4e0a0c9-f61a-420f-8469-fe1e4be0e6f3", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e7631f18-aa31-4049-b106-c70e4adfb386", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "982a2138-43b6-4f8f-83f1-0e7c8a8f3d05", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "e1f672f4-cd34-4b83-a0eb-861e7a2bae89", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "be37ecdb-daed-44d7-af74-2802c5c59c0c", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "448b26ed-b79d-4a7f-bffc-a1e72371cd38", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "8a8d350e-e482-4929-87ae-159503dc7727", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "7917852f-3399-48f6-9881-7099812ca27f", + "__expectedType__": "cc.Prefab" + }, + { + "__uuid__": "77ddec11-786d-4a7a-825b-a3c4fc203a16", + "__expectedType__": "cc.Prefab" + } + ], + "_id": "06uFe8ZIBBw7b4uPbAuatI" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "01t0lfOs5JxJXhaCZuBW6T" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "e8MKZQNyxJb5EKwbF4FSNj" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": null, + "fileId": "", + "instance": null, + "targetOverrides": [ + { + "__id__": 169 + }, + { + "__id__": 171 + } + ], + "nestedPrefabInstanceRoots": [ + { + "__id__": 26 + }, + { + "__id__": 101 + } + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 100 + }, + "sourceInfo": null, + "propertyPath": [ + "clickEffect" + ], + "target": { + "__id__": 26 + }, + "targetInfo": { + "__id__": 170 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "83+iBA3d5BEL/YrP7NSYHs" + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 100 + }, + "sourceInfo": null, + "propertyPath": [ + "waveEffect" + ], + "target": { + "__id__": 101 + }, + "targetInfo": { + "__id__": 172 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "72rT9g30NI9I3xQCX6hAX8" + ] + }, + { + "__type__": "cc.SceneGlobals", + "ambient": { + "__id__": 174 + }, + "shadows": { + "__id__": 175 + }, + "_skybox": { + "__id__": 176 + }, + "fog": { + "__id__": 177 + }, + "octree": { + "__id__": 178 + }, + "skin": { + "__id__": 179 + }, + "lightProbeInfo": { + "__id__": 180 + }, + "postSettings": { + "__id__": 181 + }, + "bakedWithStationaryMainLight": false, + "bakedWithHighpLightmap": false + }, + { + "__type__": "cc.AmbientInfo", + "_skyColorHDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyColor": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyIllumHDR": 20000, + "_skyIllum": 20000, + "_groundAlbedoHDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + }, + "_groundAlbedo": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + }, + "_skyColorLDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyIllumLDR": 0.78125, + "_groundAlbedoLDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + } + }, + { + "__type__": "cc.ShadowsInfo", + "_enabled": false, + "_type": 0, + "_normal": { + "__type__": "cc.Vec3", + "x": 0, + "y": 1, + "z": 0 + }, + "_distance": 0, + "_planeBias": 1, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 76 + }, + "_maxReceived": 4, + "_size": { + "__type__": "cc.Vec2", + "x": 512, + "y": 512 + } + }, + { + "__type__": "cc.SkyboxInfo", + "_envLightingType": 0, + "_envmapHDR": null, + "_envmap": null, + "_envmapLDR": null, + "_diffuseMapHDR": null, + "_diffuseMapLDR": null, + "_enabled": false, + "_useHDR": true, + "_editableMaterial": null, + "_reflectionHDR": null, + "_reflectionLDR": null, + "_rotationAngle": 0 + }, + { + "__type__": "cc.FogInfo", + "_type": 0, + "_fogColor": { + "__type__": "cc.Color", + "r": 225, + "g": 225, + "b": 225, + "a": 255 + }, + "_enabled": false, + "_fogDensity": 0.3, + "_fogStart": 0.5, + "_fogEnd": 300, + "_fogAtten": 5, + "_fogTop": 1.5, + "_fogRange": 1.2, + "_accurate": false + }, + { + "__type__": "cc.OctreeInfo", + "_enabled": false, + "_minPos": { + "__type__": "cc.Vec3", + "x": -1024, + "y": -1024, + "z": -1024 + }, + "_maxPos": { + "__type__": "cc.Vec3", + "x": 1024, + "y": 1024, + "z": 1024 + }, + "_depth": 8 + }, + { + "__type__": "cc.SkinInfo", + "_enabled": true, + "_blurRadius": 0.01, + "_sssIntensity": 3 + }, + { + "__type__": "cc.LightProbeInfo", + "_giScale": 1, + "_giSamples": 1024, + "_bounces": 2, + "_reduceRinging": 0, + "_showProbe": true, + "_showWireframe": true, + "_showConvex": false, + "_data": null, + "_lightProbeSphereVolume": 1 + }, + { + "__type__": "cc.PostSettingsInfo", + "_toneMappingType": 0 + } ] \ No newline at end of file diff --git a/assets/FishSingle/scene/FishGameScene.scene.meta b/assets/FishSingle/scene/FishGameScene.scene.meta index 6d89aff..3a8ac18 100644 --- a/assets/FishSingle/scene/FishGameScene.scene.meta +++ b/assets/FishSingle/scene/FishGameScene.scene.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.1.50", - "importer": "scene", - "imported": true, - "uuid": "49f37487-196e-48a5-ad7e-0f3f4fcc8496", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.1.50", + "importer": "scene", + "imported": true, + "uuid": "49f37487-196e-48a5-ad7e-0f3f4fcc8496", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/scene/LoadingScene.scene b/assets/FishSingle/scene/LoadingScene.scene index 489ebfc..3701344 100644 --- a/assets/FishSingle/scene/LoadingScene.scene +++ b/assets/FishSingle/scene/LoadingScene.scene @@ -1,1269 +1,1269 @@ -[ - { - "__type__": "cc.SceneAsset", - "_name": "LoadingScene", - "_objFlags": 0, - "__editorExtras__": {}, - "_native": "", - "scene": { - "__id__": 1 - } - }, - { - "__type__": "cc.Scene", - "_name": "LoadingScene", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 52 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1073741824, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "autoReleaseAssets": false, - "_globals": { - "__id__": 61 - }, - "_id": "3deca686-356b-4a89-97e0-d255f6a637b7" - }, - { - "__type__": "cc.Node", - "_name": "Canvas", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 3 - }, - { - "__id__": 7 - }, - { - "__id__": 12 - }, - { - "__id__": 43 - } - ], - "_active": true, - "_components": [ - { - "__id__": 47 - }, - { - "__id__": 48 - }, - { - "__id__": 49 - }, - { - "__id__": 50 - }, - { - "__id__": 51 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 1140, - "y": 621, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "57Y0PfQQ5GzZ7XSo2BmgXg" - }, - { - "__type__": "cc.Node", - "_name": "Main Camera", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 4 - }, - { - "__id__": 5 - }, - { - "__id__": 6 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 1000 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "ba0JeECR5ClJO/0bqtFc7V" - }, - { - "__type__": "cc.Camera", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_projection": 0, - "_priority": -1, - "_fov": 60, - "_fovAxis": 0, - "_orthoHeight": 627.2953367875648, - "_near": 1, - "_far": 4096, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_depth": 1, - "_stencil": 0, - "_clearFlags": 7, - "_rect": { - "__type__": "cc.Rect", - "x": 0, - "y": 0, - "width": 1, - "height": 1 - }, - "_aperture": 19, - "_shutter": 7, - "_iso": 0, - "_screenScale": 1, - "_visibility": 4294967295, - "_targetTexture": null, - "_postProcess": null, - "_usePostProcess": false, - "_cameraType": -1, - "_trackingType": 0, - "_id": "1ee5vWC81OXpitOi95Ift7" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "04msg2WjNLPZh/Q2v5cxm8" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 3 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "666C/+5pRG54kyY3pjc+iP" - }, - { - "__type__": "cc.Node", - "_name": "fishbackground", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 8 - }, - { - "__id__": 9 - }, - { - "__id__": 10 - }, - { - "__id__": 11 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "e7iSwlRdZGyL1+dcX7B5YN" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", - "__expectedType__": "cc.Material" - }, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "931375bd-5756-492a-b20b-ccaeff169b54@f9941", - "__expectedType__": "cc.SpriteFrame" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "2770Xs7RNKJ5XUahJNOCNS" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1920, - "_originalHeight": 1080, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "a3ZT5f8sFPH5pl3PECKnBf" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "89WcIUsFNJ4bYw/tEGIRYk" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 7 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "40l7F6vsFLFqlxOTSd88ip" - }, - { - "__type__": "cc.Node", - "_objFlags": 0, - "_parent": { - "__id__": 2 - }, - "_prefab": { - "__id__": 13 - }, - "__editorExtras__": {} - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 12 - }, - "asset": { - "__uuid__": "dab2a5cf-b505-4ac7-9513-7b512b9450bf", - "__expectedType__": "cc.Prefab" - }, - "fileId": "97bJUot1tMIabMBXG+RXtR", - "instance": { - "__id__": 14 - }, - "targetOverrides": null, - "nestedPrefabInstanceRoots": null - }, - { - "__type__": "cc.PrefabInstance", - "fileId": "78FPSufUBEXZpHwL5n9jVJ", - "prefabRootNode": null, - "mountedChildren": [], - "mountedComponents": [], - "propertyOverrides": [ - { - "__id__": 15 - }, - { - "__id__": 17 - }, - { - "__id__": 19 - }, - { - "__id__": 21 - }, - { - "__id__": 23 - }, - { - "__id__": 25 - }, - { - "__id__": 27 - }, - { - "__id__": 29 - }, - { - "__id__": 31 - }, - { - "__id__": 33 - }, - { - "__id__": 35 - }, - { - "__id__": 36 - }, - { - "__id__": 37 - }, - { - "__id__": 38 - }, - { - "__id__": 39 - }, - { - "__id__": 41 - } - ], - "removedComponents": [] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 16 - }, - "propertyPath": [ - "position" - ], - "value": { - "__type__": "cc.Vec3", - "x": -22.359, - "y": -464.755, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "97bJUot1tMIabMBXG+RXtR" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 18 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 1300, - "height": 50 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "14YTtN6m9BoKeQsWUiCLO3" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 20 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 1300, - "height": 50 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "c9kK8ChLJDR4DaOgA7Iu1u" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 22 - }, - "propertyPath": [ - "position" - ], - "value": { - "__type__": "cc.Vec3", - "x": -646.5, - "y": -0.10000000149011612, - "z": 0 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "6c7ZrIvkxATINS4Stajyo3" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 24 - }, - "propertyPath": [ - "_fontSize" - ], - "value": 50 - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "75Y6NGJbVKd4C8YIBWVUr4" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 26 - }, - "propertyPath": [ - "_lineHeight" - ], - "value": 100 - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "75Y6NGJbVKd4C8YIBWVUr4" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 28 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 106.0732421875, - "height": 132 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "9dmTR9c6JMoa15u+y/N+Gy" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 30 - }, - "propertyPath": [ - "_totalLength" - ], - "value": 1300 - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "4ePvY99dNIbL8x2Kg/QWiu" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 32 - }, - "propertyPath": [ - "percentLable" - ], - "value": null - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "3dI5VNjG1Kmrt7RW0OzFyl" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 34 - }, - "propertyPath": [ - "_contentSize" - ], - "value": { - "__type__": "cc.Size", - "width": 1300, - "height": 50 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "9686r/7GBC1Jgt/Xl5Wlbk" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 16 - }, - "propertyPath": [ - "_active" - ], - "value": true - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 16 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -22.359, - "y": -464.755, - "z": 0 - } - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 22 - }, - "propertyPath": [ - "_active" - ], - "value": false - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 22 - }, - "propertyPath": [ - "_lpos" - ], - "value": { - "__type__": "cc.Vec3", - "x": -646.5, - "y": -0.10000000149011612, - "z": 0 - } - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 40 - }, - "propertyPath": [ - "_active" - ], - "value": false - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "e2Vv1bUelC/7EpoI1XnDNy" - ] - }, - { - "__type__": "CCPropertyOverrideInfo", - "targetInfo": { - "__id__": 42 - }, - "propertyPath": [ - "_active" - ], - "value": false - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "c244u/aPRAJrCOXsUYfICO" - ] - }, - { - "__type__": "cc.Node", - "_name": "UIRoot", - "_objFlags": 0, - "__editorExtras__": {}, - "_parent": { - "__id__": 2 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 44 - }, - { - "__id__": 45 - }, - { - "__id__": 46 - } - ], - "_prefab": null, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_mobility": 0, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_id": "006AAb8d1DCLrLr0FZNEW5" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 43 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "0fmYRROy5IWo5hUQsTe2DA" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 43 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 100, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "866CVfTiRCBa8roC6sGSRN" - }, - { - "__type__": "e0962y99b1MFbbYxAPQKoVP", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 43 - }, - "_enabled": true, - "__prefab": null, - "_id": "6bc4F6/ohC9bhNIZZXJfRw" - }, - { - "__type__": "cc.Canvas", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_cameraComponent": { - "__id__": 4 - }, - "_alignCanvasWithScreen": true, - "_id": "f5UIhVCNRMWq9j57/ks+ed" - }, - { - "__type__": "ba7869nNLVPpqvFaaPvcL/T", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "progressNode": { - "__id__": 12 - }, - "_id": "56KbzlCg5Eb5TPbHdzDq1g" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 0, - "_originalHeight": 0, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "e0WA9gRv9LW6CPcbhJHkGX" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_opacity": 255, - "_id": "d2G2AjnH5CF7EA9C7tu8sD" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "__editorExtras__": {}, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": null, - "_contentSize": { - "__type__": "cc.Size", - "width": 2280, - "height": 1242 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_id": "d9Bo/0AA1P0riDyKnD2s/9" - }, - { - "__type__": "cc.PrefabInfo", - "root": null, - "asset": null, - "fileId": "", - "instance": null, - "targetOverrides": [ - { - "__id__": 53 - }, - { - "__id__": 55 - }, - { - "__id__": 58 - } - ], - "nestedPrefabInstanceRoots": [ - { - "__id__": 12 - } - ] - }, - { - "__type__": "cc.TargetOverrideInfo", - "source": { - "__id__": 48 - }, - "sourceInfo": null, - "propertyPath": [ - "progressNode" - ], - "target": { - "__id__": 12 - }, - "targetInfo": { - "__id__": 54 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "97bJUot1tMIabMBXG+RXtR" - ] - }, - { - "__type__": "cc.TargetOverrideInfo", - "source": { - "__id__": 12 - }, - "sourceInfo": { - "__id__": 56 - }, - "propertyPath": [ - "percentLable" - ], - "target": { - "__id__": 12 - }, - "targetInfo": { - "__id__": 57 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "3dI5VNjG1Kmrt7RW0OzFyl" - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "75Y6NGJbVKd4C8YIBWVUr4" - ] - }, - { - "__type__": "cc.TargetOverrideInfo", - "source": { - "__id__": 12 - }, - "sourceInfo": { - "__id__": 59 - }, - "propertyPath": [ - "bar" - ], - "target": { - "__id__": 12 - }, - "targetInfo": { - "__id__": 60 - } - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "3dI5VNjG1Kmrt7RW0OzFyl" - ] - }, - { - "__type__": "cc.TargetInfo", - "localID": [ - "4ePvY99dNIbL8x2Kg/QWiu" - ] - }, - { - "__type__": "cc.SceneGlobals", - "ambient": { - "__id__": 62 - }, - "shadows": { - "__id__": 63 - }, - "_skybox": { - "__id__": 64 - }, - "fog": { - "__id__": 65 - }, - "octree": { - "__id__": 66 - }, - "skin": { - "__id__": 67 - }, - "lightProbeInfo": { - "__id__": 68 - }, - "postSettings": { - "__id__": 69 - }, - "bakedWithStationaryMainLight": false, - "bakedWithHighpLightmap": false - }, - { - "__type__": "cc.AmbientInfo", - "_skyColorHDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyColor": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyIllumHDR": 20000, - "_skyIllum": 20000, - "_groundAlbedoHDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - }, - "_groundAlbedo": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - }, - "_skyColorLDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.5019607843137255, - "z": 0.8, - "w": 0.520833125 - }, - "_skyIllumLDR": 0.78125, - "_groundAlbedoLDR": { - "__type__": "cc.Vec4", - "x": 0.2, - "y": 0.2, - "z": 0.2, - "w": 1 - } - }, - { - "__type__": "cc.ShadowsInfo", - "_enabled": false, - "_type": 0, - "_normal": { - "__type__": "cc.Vec3", - "x": 0, - "y": 1, - "z": 0 - }, - "_distance": 0, - "_planeBias": 1, - "_shadowColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 76 - }, - "_maxReceived": 4, - "_size": { - "__type__": "cc.Vec2", - "x": 512, - "y": 512 - } - }, - { - "__type__": "cc.SkyboxInfo", - "_envLightingType": 0, - "_envmapHDR": null, - "_envmap": null, - "_envmapLDR": null, - "_diffuseMapHDR": null, - "_diffuseMapLDR": null, - "_enabled": false, - "_useHDR": true, - "_editableMaterial": null, - "_reflectionHDR": null, - "_reflectionLDR": null, - "_rotationAngle": 0 - }, - { - "__type__": "cc.FogInfo", - "_type": 0, - "_fogColor": { - "__type__": "cc.Color", - "r": 225, - "g": 225, - "b": 225, - "a": 255 - }, - "_enabled": false, - "_fogDensity": 0.3, - "_fogStart": 0.5, - "_fogEnd": 300, - "_fogAtten": 5, - "_fogTop": 1.5, - "_fogRange": 1.2, - "_accurate": false - }, - { - "__type__": "cc.OctreeInfo", - "_enabled": false, - "_minPos": { - "__type__": "cc.Vec3", - "x": -1024, - "y": -1024, - "z": -1024 - }, - "_maxPos": { - "__type__": "cc.Vec3", - "x": 1024, - "y": 1024, - "z": 1024 - }, - "_depth": 8 - }, - { - "__type__": "cc.SkinInfo", - "_enabled": true, - "_blurRadius": 0.01, - "_sssIntensity": 3 - }, - { - "__type__": "cc.LightProbeInfo", - "_giScale": 1, - "_giSamples": 1024, - "_bounces": 2, - "_reduceRinging": 0, - "_showProbe": true, - "_showWireframe": true, - "_showConvex": false, - "_data": null, - "_lightProbeSphereVolume": 1 - }, - { - "__type__": "cc.PostSettingsInfo", - "_toneMappingType": 0 - } +[ + { + "__type__": "cc.SceneAsset", + "_name": "LoadingScene", + "_objFlags": 0, + "__editorExtras__": {}, + "_native": "", + "scene": { + "__id__": 1 + } + }, + { + "__type__": "cc.Scene", + "_name": "LoadingScene", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": null, + "_children": [ + { + "__id__": 2 + } + ], + "_active": true, + "_components": [], + "_prefab": { + "__id__": 52 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1073741824, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "autoReleaseAssets": false, + "_globals": { + "__id__": 61 + }, + "_id": "3deca686-356b-4a89-97e0-d255f6a637b7" + }, + { + "__type__": "cc.Node", + "_name": "Canvas", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 3 + }, + { + "__id__": 7 + }, + { + "__id__": 12 + }, + { + "__id__": 43 + } + ], + "_active": true, + "_components": [ + { + "__id__": 47 + }, + { + "__id__": 48 + }, + { + "__id__": 49 + }, + { + "__id__": 50 + }, + { + "__id__": 51 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 1140, + "y": 621, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "57Y0PfQQ5GzZ7XSo2BmgXg" + }, + { + "__type__": "cc.Node", + "_name": "Main Camera", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 4 + }, + { + "__id__": 5 + }, + { + "__id__": 6 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 1000 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "ba0JeECR5ClJO/0bqtFc7V" + }, + { + "__type__": "cc.Camera", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_projection": 0, + "_priority": -1, + "_fov": 60, + "_fovAxis": 0, + "_orthoHeight": 627.2953367875648, + "_near": 1, + "_far": 4096, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_depth": 1, + "_stencil": 0, + "_clearFlags": 7, + "_rect": { + "__type__": "cc.Rect", + "x": 0, + "y": 0, + "width": 1, + "height": 1 + }, + "_aperture": 19, + "_shutter": 7, + "_iso": 0, + "_screenScale": 1, + "_visibility": 4294967295, + "_targetTexture": null, + "_postProcess": null, + "_usePostProcess": false, + "_cameraType": -1, + "_trackingType": 0, + "_id": "1ee5vWC81OXpitOi95Ift7" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "04msg2WjNLPZh/Q2v5cxm8" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 3 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "666C/+5pRG54kyY3pjc+iP" + }, + { + "__type__": "cc.Node", + "_name": "fishbackground", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 8 + }, + { + "__id__": 9 + }, + { + "__id__": 10 + }, + { + "__id__": 11 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "e7iSwlRdZGyL1+dcX7B5YN" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8", + "__expectedType__": "cc.Material" + }, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "931375bd-5756-492a-b20b-ccaeff169b54@f9941", + "__expectedType__": "cc.SpriteFrame" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "2770Xs7RNKJ5XUahJNOCNS" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 1920, + "_originalHeight": 1080, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "a3ZT5f8sFPH5pl3PECKnBf" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "89WcIUsFNJ4bYw/tEGIRYk" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 7 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "40l7F6vsFLFqlxOTSd88ip" + }, + { + "__type__": "cc.Node", + "_objFlags": 0, + "_parent": { + "__id__": 2 + }, + "_prefab": { + "__id__": 13 + }, + "__editorExtras__": {} + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 12 + }, + "asset": { + "__uuid__": "dab2a5cf-b505-4ac7-9513-7b512b9450bf", + "__expectedType__": "cc.Prefab" + }, + "fileId": "97bJUot1tMIabMBXG+RXtR", + "instance": { + "__id__": 14 + }, + "targetOverrides": null, + "nestedPrefabInstanceRoots": null + }, + { + "__type__": "cc.PrefabInstance", + "fileId": "78FPSufUBEXZpHwL5n9jVJ", + "prefabRootNode": null, + "mountedChildren": [], + "mountedComponents": [], + "propertyOverrides": [ + { + "__id__": 15 + }, + { + "__id__": 17 + }, + { + "__id__": 19 + }, + { + "__id__": 21 + }, + { + "__id__": 23 + }, + { + "__id__": 25 + }, + { + "__id__": 27 + }, + { + "__id__": 29 + }, + { + "__id__": 31 + }, + { + "__id__": 33 + }, + { + "__id__": 35 + }, + { + "__id__": 36 + }, + { + "__id__": 37 + }, + { + "__id__": 38 + }, + { + "__id__": 39 + }, + { + "__id__": 41 + } + ], + "removedComponents": [] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 16 + }, + "propertyPath": [ + "position" + ], + "value": { + "__type__": "cc.Vec3", + "x": -22.359, + "y": -464.755, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "97bJUot1tMIabMBXG+RXtR" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 18 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 1300, + "height": 50 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "14YTtN6m9BoKeQsWUiCLO3" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 20 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 1300, + "height": 50 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c9kK8ChLJDR4DaOgA7Iu1u" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 22 + }, + "propertyPath": [ + "position" + ], + "value": { + "__type__": "cc.Vec3", + "x": -646.5, + "y": -0.10000000149011612, + "z": 0 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "6c7ZrIvkxATINS4Stajyo3" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 24 + }, + "propertyPath": [ + "_fontSize" + ], + "value": 50 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "75Y6NGJbVKd4C8YIBWVUr4" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 26 + }, + "propertyPath": [ + "_lineHeight" + ], + "value": 100 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "75Y6NGJbVKd4C8YIBWVUr4" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 28 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 106.0732421875, + "height": 132 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "9dmTR9c6JMoa15u+y/N+Gy" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 30 + }, + "propertyPath": [ + "_totalLength" + ], + "value": 1300 + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "4ePvY99dNIbL8x2Kg/QWiu" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 32 + }, + "propertyPath": [ + "percentLable" + ], + "value": null + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3dI5VNjG1Kmrt7RW0OzFyl" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 34 + }, + "propertyPath": [ + "_contentSize" + ], + "value": { + "__type__": "cc.Size", + "width": 1300, + "height": 50 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "9686r/7GBC1Jgt/Xl5Wlbk" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 16 + }, + "propertyPath": [ + "_active" + ], + "value": true + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 16 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -22.359, + "y": -464.755, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 22 + }, + "propertyPath": [ + "_active" + ], + "value": false + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 22 + }, + "propertyPath": [ + "_lpos" + ], + "value": { + "__type__": "cc.Vec3", + "x": -646.5, + "y": -0.10000000149011612, + "z": 0 + } + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 40 + }, + "propertyPath": [ + "_active" + ], + "value": false + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "e2Vv1bUelC/7EpoI1XnDNy" + ] + }, + { + "__type__": "CCPropertyOverrideInfo", + "targetInfo": { + "__id__": 42 + }, + "propertyPath": [ + "_active" + ], + "value": false + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "c244u/aPRAJrCOXsUYfICO" + ] + }, + { + "__type__": "cc.Node", + "_name": "UIRoot", + "_objFlags": 0, + "__editorExtras__": {}, + "_parent": { + "__id__": 2 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 44 + }, + { + "__id__": 45 + }, + { + "__id__": 46 + } + ], + "_prefab": null, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_mobility": 0, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_id": "006AAb8d1DCLrLr0FZNEW5" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 43 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "0fmYRROy5IWo5hUQsTe2DA" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 43 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 100, + "_originalHeight": 100, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "866CVfTiRCBa8roC6sGSRN" + }, + { + "__type__": "e0962y99b1MFbbYxAPQKoVP", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 43 + }, + "_enabled": true, + "__prefab": null, + "_id": "6bc4F6/ohC9bhNIZZXJfRw" + }, + { + "__type__": "cc.Canvas", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_cameraComponent": { + "__id__": 4 + }, + "_alignCanvasWithScreen": true, + "_id": "f5UIhVCNRMWq9j57/ks+ed" + }, + { + "__type__": "ba7869nNLVPpqvFaaPvcL/T", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "progressNode": { + "__id__": 12 + }, + "_id": "56KbzlCg5Eb5TPbHdzDq1g" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_alignFlags": 45, + "_target": null, + "_left": 0, + "_right": 0, + "_top": 0, + "_bottom": 0, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 0, + "_originalHeight": 0, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "e0WA9gRv9LW6CPcbhJHkGX" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_opacity": 255, + "_id": "d2G2AjnH5CF7EA9C7tu8sD" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "__editorExtras__": {}, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": null, + "_contentSize": { + "__type__": "cc.Size", + "width": 2280, + "height": 1242 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_id": "d9Bo/0AA1P0riDyKnD2s/9" + }, + { + "__type__": "cc.PrefabInfo", + "root": null, + "asset": null, + "fileId": "", + "instance": null, + "targetOverrides": [ + { + "__id__": 53 + }, + { + "__id__": 55 + }, + { + "__id__": 58 + } + ], + "nestedPrefabInstanceRoots": [ + { + "__id__": 12 + } + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 48 + }, + "sourceInfo": null, + "propertyPath": [ + "progressNode" + ], + "target": { + "__id__": 12 + }, + "targetInfo": { + "__id__": 54 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "97bJUot1tMIabMBXG+RXtR" + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 12 + }, + "sourceInfo": { + "__id__": 56 + }, + "propertyPath": [ + "percentLable" + ], + "target": { + "__id__": 12 + }, + "targetInfo": { + "__id__": 57 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3dI5VNjG1Kmrt7RW0OzFyl" + ] + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "75Y6NGJbVKd4C8YIBWVUr4" + ] + }, + { + "__type__": "cc.TargetOverrideInfo", + "source": { + "__id__": 12 + }, + "sourceInfo": { + "__id__": 59 + }, + "propertyPath": [ + "bar" + ], + "target": { + "__id__": 12 + }, + "targetInfo": { + "__id__": 60 + } + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "3dI5VNjG1Kmrt7RW0OzFyl" + ] + }, + { + "__type__": "cc.TargetInfo", + "localID": [ + "4ePvY99dNIbL8x2Kg/QWiu" + ] + }, + { + "__type__": "cc.SceneGlobals", + "ambient": { + "__id__": 62 + }, + "shadows": { + "__id__": 63 + }, + "_skybox": { + "__id__": 64 + }, + "fog": { + "__id__": 65 + }, + "octree": { + "__id__": 66 + }, + "skin": { + "__id__": 67 + }, + "lightProbeInfo": { + "__id__": 68 + }, + "postSettings": { + "__id__": 69 + }, + "bakedWithStationaryMainLight": false, + "bakedWithHighpLightmap": false + }, + { + "__type__": "cc.AmbientInfo", + "_skyColorHDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyColor": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyIllumHDR": 20000, + "_skyIllum": 20000, + "_groundAlbedoHDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + }, + "_groundAlbedo": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + }, + "_skyColorLDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.5019607843137255, + "z": 0.8, + "w": 0.520833125 + }, + "_skyIllumLDR": 0.78125, + "_groundAlbedoLDR": { + "__type__": "cc.Vec4", + "x": 0.2, + "y": 0.2, + "z": 0.2, + "w": 1 + } + }, + { + "__type__": "cc.ShadowsInfo", + "_enabled": false, + "_type": 0, + "_normal": { + "__type__": "cc.Vec3", + "x": 0, + "y": 1, + "z": 0 + }, + "_distance": 0, + "_planeBias": 1, + "_shadowColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 76 + }, + "_maxReceived": 4, + "_size": { + "__type__": "cc.Vec2", + "x": 512, + "y": 512 + } + }, + { + "__type__": "cc.SkyboxInfo", + "_envLightingType": 0, + "_envmapHDR": null, + "_envmap": null, + "_envmapLDR": null, + "_diffuseMapHDR": null, + "_diffuseMapLDR": null, + "_enabled": false, + "_useHDR": true, + "_editableMaterial": null, + "_reflectionHDR": null, + "_reflectionLDR": null, + "_rotationAngle": 0 + }, + { + "__type__": "cc.FogInfo", + "_type": 0, + "_fogColor": { + "__type__": "cc.Color", + "r": 225, + "g": 225, + "b": 225, + "a": 255 + }, + "_enabled": false, + "_fogDensity": 0.3, + "_fogStart": 0.5, + "_fogEnd": 300, + "_fogAtten": 5, + "_fogTop": 1.5, + "_fogRange": 1.2, + "_accurate": false + }, + { + "__type__": "cc.OctreeInfo", + "_enabled": false, + "_minPos": { + "__type__": "cc.Vec3", + "x": -1024, + "y": -1024, + "z": -1024 + }, + "_maxPos": { + "__type__": "cc.Vec3", + "x": 1024, + "y": 1024, + "z": 1024 + }, + "_depth": 8 + }, + { + "__type__": "cc.SkinInfo", + "_enabled": true, + "_blurRadius": 0.01, + "_sssIntensity": 3 + }, + { + "__type__": "cc.LightProbeInfo", + "_giScale": 1, + "_giSamples": 1024, + "_bounces": 2, + "_reduceRinging": 0, + "_showProbe": true, + "_showWireframe": true, + "_showConvex": false, + "_data": null, + "_lightProbeSphereVolume": 1 + }, + { + "__type__": "cc.PostSettingsInfo", + "_toneMappingType": 0 + } ] \ No newline at end of file diff --git a/assets/FishSingle/scene/LoadingScene.scene.meta b/assets/FishSingle/scene/LoadingScene.scene.meta index 0d66db5..3bff51b 100644 --- a/assets/FishSingle/scene/LoadingScene.scene.meta +++ b/assets/FishSingle/scene/LoadingScene.scene.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.1.50", - "importer": "scene", - "imported": true, - "uuid": "3deca686-356b-4a89-97e0-d255f6a637b7", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.1.50", + "importer": "scene", + "imported": true, + "uuid": "3deca686-356b-4a89-97e0-d255f6a637b7", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/script.meta b/assets/FishSingle/script.meta index ce25940..b09ec96 100644 --- a/assets/FishSingle/script.meta +++ b/assets/FishSingle/script.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "026faff5-3eb3-480a-9009-1bcc021dce03", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "026faff5-3eb3-480a-9009-1bcc021dce03", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/engine.meta b/assets/FishSingle/script/engine.meta index 8db6896..486856e 100644 --- a/assets/FishSingle/script/engine.meta +++ b/assets/FishSingle/script/engine.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "1f75e345-9236-4518-97a3-9862de267a19", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "1f75e345-9236-4518-97a3-9862de267a19", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/engine/config.meta b/assets/FishSingle/script/engine/config.meta index c869907..a01ac5b 100644 --- a/assets/FishSingle/script/engine/config.meta +++ b/assets/FishSingle/script/engine/config.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "79470a7f-2ce8-48ce-86d3-e2662124378f", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "79470a7f-2ce8-48ce-86d3-e2662124378f", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/engine/config/CommonEvent.ts b/assets/FishSingle/script/engine/config/CommonEvent.ts index 2aa5696..5f3f4db 100644 --- a/assets/FishSingle/script/engine/config/CommonEvent.ts +++ b/assets/FishSingle/script/engine/config/CommonEvent.ts @@ -1,12 +1,12 @@ -import { _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('CommonEvent') -export default class CommonEvent { - public static Event_FrameUpdate: string = 'Event_FrameUpdate' - public static Event_ConnectTimeOut: string = 'Event_ConnectTimeOut' - public static Event_ResourceLoader: string = 'Event_ResourceLoader' - public static Event_CheckUpdate: string = 'Event_CheckUpdate' - public static Event_Scene_Switch: string = 'Event_Scene_Switch' -} +import { _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('CommonEvent') +export default class CommonEvent { + public static Event_FrameUpdate: string = 'Event_FrameUpdate' + public static Event_ConnectTimeOut: string = 'Event_ConnectTimeOut' + public static Event_ResourceLoader: string = 'Event_ResourceLoader' + public static Event_CheckUpdate: string = 'Event_CheckUpdate' + public static Event_Scene_Switch: string = 'Event_Scene_Switch' +} diff --git a/assets/FishSingle/script/engine/config/CommonEvent.ts.meta b/assets/FishSingle/script/engine/config/CommonEvent.ts.meta index 836cc2d..48e47c3 100644 --- a/assets/FishSingle/script/engine/config/CommonEvent.ts.meta +++ b/assets/FishSingle/script/engine/config/CommonEvent.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "76f96525-e455-4a24-9d2b-27a0cb2fdfd2", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "76f96525-e455-4a24-9d2b-27a0cb2fdfd2", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/config/ManifestConfig.ts b/assets/FishSingle/script/engine/config/ManifestConfig.ts index 52edaf6..a961907 100644 --- a/assets/FishSingle/script/engine/config/ManifestConfig.ts +++ b/assets/FishSingle/script/engine/config/ManifestConfig.ts @@ -1,36 +1,36 @@ -import DateUtil from '../utils/DateUtil' - -import NetConfig from './NetConfig' - -export default class ManifestConfig { - public static packageUrl: string = '' - public static remoteManifestUrl: string = '' - public static remoteVersionUrl: string = '' - public static version: string = '1.0.0' // 更新包要更新这里 - public static assets: object = {} - public static searchPaths: Array = [] - - public static getManifestStr(key: string) { - const obj: { - packageUrl?: string - remoteManifestUrl?: string - remoteVersionUrl?: string - version?: string - assets?: object - searchPaths?: Array - } = {} - obj.packageUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/` - obj.remoteManifestUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/project.manifest?t=${DateUtil.now()}` - obj.remoteManifestUrl = `${ - NetConfig.hotupdateUrl - }/hotupdate/${key}/project.manifest?t=${DateUtil.now()}` - obj.remoteVersionUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/version.manifest?t=${DateUtil.now()}` - obj.remoteVersionUrl = `${ - NetConfig.hotupdateUrl - }/hotupdate/${key}/version.manifest?t=${DateUtil.now()}` - obj.version = ManifestConfig.version - obj.assets = {} - obj.searchPaths = [] - return JSON.stringify(obj) - } -} +import DateUtil from '../utils/DateUtil' + +import NetConfig from './NetConfig' + +export default class ManifestConfig { + public static packageUrl: string = '' + public static remoteManifestUrl: string = '' + public static remoteVersionUrl: string = '' + public static version: string = '1.0.0' // 更新包要更新这里 + public static assets: object = {} + public static searchPaths: Array = [] + + public static getManifestStr(key: string) { + const obj: { + packageUrl?: string + remoteManifestUrl?: string + remoteVersionUrl?: string + version?: string + assets?: object + searchPaths?: Array + } = {} + obj.packageUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/` + obj.remoteManifestUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/project.manifest?t=${DateUtil.now()}` + obj.remoteManifestUrl = `${ + NetConfig.hotupdateUrl + }/hotupdate/${key}/project.manifest?t=${DateUtil.now()}` + obj.remoteVersionUrl = `${NetConfig.hotupdateUrl}/hotupdate/${key}/version.manifest?t=${DateUtil.now()}` + obj.remoteVersionUrl = `${ + NetConfig.hotupdateUrl + }/hotupdate/${key}/version.manifest?t=${DateUtil.now()}` + obj.version = ManifestConfig.version + obj.assets = {} + obj.searchPaths = [] + return JSON.stringify(obj) + } +} diff --git a/assets/FishSingle/script/engine/config/ManifestConfig.ts.meta b/assets/FishSingle/script/engine/config/ManifestConfig.ts.meta index a7fe773..4bbbf40 100644 --- a/assets/FishSingle/script/engine/config/ManifestConfig.ts.meta +++ b/assets/FishSingle/script/engine/config/ManifestConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "711d7240-649f-4cb4-9d0d-06e13979eb98", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "711d7240-649f-4cb4-9d0d-06e13979eb98", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/config/MusicConfig.ts b/assets/FishSingle/script/engine/config/MusicConfig.ts index 8b84da5..693b310 100644 --- a/assets/FishSingle/script/engine/config/MusicConfig.ts +++ b/assets/FishSingle/script/engine/config/MusicConfig.ts @@ -1,59 +1,59 @@ -import { AudioClip } from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' - -export default class MusicConfig { - public static musicKey2Path: Map = new Map() // 资源预加载路径 - - public static musicKey2Cache: Map = new Map() // 资源加载后cache路径 - - public static init() { - if (typeof GameConfig.GameName === 'undefined' || GameConfig.GameName === null) { - console.error('GameConfig.GameName 未配置!') - return - } - - const musicConfig = { - background_1: 'music/background_1', - background_2: 'music/background_2', - background_3: 'music/background_3', - deadfish_1: 'music/deadfish_1', - deadfish_2: 'music/deadfish_2', - deadfish_3: 'music/deadfish_3', - deadfish_4: 'music/deadfish_4', - deadfish_5: 'music/deadfish_5', - deadfish_6: 'music/deadfish_6', - deadfish_7: 'music/deadfish_7', - deadfish_8: 'music/deadfish_8', - deadfish_9: 'music/deadfish_9', - deadfish_10: 'music/deadfish_10', - deadfish_11: 'music/deadfish_11', - deadfish_12: 'music/deadfish_12', - deadfish_13: 'music/deadfish_13', - deadfish_14: 'music/deadfish_14', - deadfish_15: 'music/deadfish_15', - deadfish_16: 'music/deadfish_16', - deadfish_17: 'music/deadfish_17', - deadfish_18: 'music/deadfish_18', - deadfish_19: 'music/deadfish_19', - deadfish_20: 'music/deadfish_20', - deadfish_21: 'music/deadfish_21', - deadfish_22: 'music/deadfish_22', - deadfish_23: 'music/deadfish_23', - deadfish_24: 'music/deadfish_24', - deadfish_25: 'music/deadfish_25', - deadfish_26: 'music/deadfish_26', - deadfish_27: 'music/deadfish_27', - deadfish_28: 'music/deadfish_28', - deadfish_29: 'music/deadfish_29', - fire: 'music/fire', - } - // 音乐要预加载的配置 - for (const key in musicConfig) { - if (Object.prototype.hasOwnProperty.call(musicConfig, key)) { - const path = `${GameConfig.GameName}/${musicConfig[key]}` - MusicConfig.musicKey2Path.set(key, path) - } - } - } -} +import { AudioClip } from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' + +export default class MusicConfig { + public static musicKey2Path: Map = new Map() // 资源预加载路径 + + public static musicKey2Cache: Map = new Map() // 资源加载后cache路径 + + public static init() { + if (typeof GameConfig.GameName === 'undefined' || GameConfig.GameName === null) { + console.error('GameConfig.GameName 未配置!') + return + } + + const musicConfig = { + background_1: 'music/background_1', + background_2: 'music/background_2', + background_3: 'music/background_3', + deadfish_1: 'music/deadfish_1', + deadfish_2: 'music/deadfish_2', + deadfish_3: 'music/deadfish_3', + deadfish_4: 'music/deadfish_4', + deadfish_5: 'music/deadfish_5', + deadfish_6: 'music/deadfish_6', + deadfish_7: 'music/deadfish_7', + deadfish_8: 'music/deadfish_8', + deadfish_9: 'music/deadfish_9', + deadfish_10: 'music/deadfish_10', + deadfish_11: 'music/deadfish_11', + deadfish_12: 'music/deadfish_12', + deadfish_13: 'music/deadfish_13', + deadfish_14: 'music/deadfish_14', + deadfish_15: 'music/deadfish_15', + deadfish_16: 'music/deadfish_16', + deadfish_17: 'music/deadfish_17', + deadfish_18: 'music/deadfish_18', + deadfish_19: 'music/deadfish_19', + deadfish_20: 'music/deadfish_20', + deadfish_21: 'music/deadfish_21', + deadfish_22: 'music/deadfish_22', + deadfish_23: 'music/deadfish_23', + deadfish_24: 'music/deadfish_24', + deadfish_25: 'music/deadfish_25', + deadfish_26: 'music/deadfish_26', + deadfish_27: 'music/deadfish_27', + deadfish_28: 'music/deadfish_28', + deadfish_29: 'music/deadfish_29', + fire: 'music/fire', + } + // 音乐要预加载的配置 + for (const key in musicConfig) { + if (Object.prototype.hasOwnProperty.call(musicConfig, key)) { + const path = `${GameConfig.GameName}/${musicConfig[key]}` + MusicConfig.musicKey2Path.set(key, path) + } + } + } +} diff --git a/assets/FishSingle/script/engine/config/MusicConfig.ts.meta b/assets/FishSingle/script/engine/config/MusicConfig.ts.meta index b5f13aa..dc35168 100644 --- a/assets/FishSingle/script/engine/config/MusicConfig.ts.meta +++ b/assets/FishSingle/script/engine/config/MusicConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "92bd7fa0-c97e-4b6f-b518-d1d4d73c03f5", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "92bd7fa0-c97e-4b6f-b518-d1d4d73c03f5", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/config/NetConfig.ts b/assets/FishSingle/script/engine/config/NetConfig.ts index b51dfdc..3b60811 100644 --- a/assets/FishSingle/script/engine/config/NetConfig.ts +++ b/assets/FishSingle/script/engine/config/NetConfig.ts @@ -1,3 +1,3 @@ -export default class NetConfig { - public static hotupdateUrl: string = 'http://localhost:33/hotupdate' -} +export default class NetConfig { + public static hotupdateUrl: string = 'http://localhost:33/hotupdate' +} diff --git a/assets/FishSingle/script/engine/config/NetConfig.ts.meta b/assets/FishSingle/script/engine/config/NetConfig.ts.meta index 008c3e5..a6afdb1 100644 --- a/assets/FishSingle/script/engine/config/NetConfig.ts.meta +++ b/assets/FishSingle/script/engine/config/NetConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "4e758c3c-41e2-4fe7-a0ea-43fe6be9b381", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "4e758c3c-41e2-4fe7-a0ea-43fe6be9b381", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent.meta b/assets/FishSingle/script/engine/uicomponent.meta index 9eba646..bcacec7 100644 --- a/assets/FishSingle/script/engine/uicomponent.meta +++ b/assets/FishSingle/script/engine/uicomponent.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "9c2b477c-5efb-432e-8d18-08cc17a2e103", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "9c2b477c-5efb-432e-8d18-08cc17a2e103", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/CommonTips.ts b/assets/FishSingle/script/engine/uicomponent/CommonTips.ts index 90f9d44..be55896 100644 --- a/assets/FishSingle/script/engine/uicomponent/CommonTips.ts +++ b/assets/FishSingle/script/engine/uicomponent/CommonTips.ts @@ -1,53 +1,53 @@ -import { Component, Label, Node, Vec3, _decorator, instantiate, tween } from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import PrefabLoader from '../utils/PrefabLoader' - -import DialogBase from './DialogBase' - -const { ccclass, property } = _decorator - -@ccclass('CommonTips') -export default class CommonTips extends Component { - public static TipsZorderIndex: number = 999 - @property({ type: Label }) - txtContent: Label | null = null - - private tips: string = '' - private static showingNameList: Array = [] - - onLoad() {} - - start() { - tween(this.node) - .by(1.5, { position: new Vec3(0, 100, 0) }) - .to(0.2, { /* opacity: 0 */ scale: Vec3.ZERO }) - .call(() => { - this.node.destroy() - }) - .start() - } - - onDestroy() { - const index: number = CommonTips.showingNameList.indexOf(this.tips) - CommonTips.showingNameList.splice(index, 1) - this.unscheduleAllCallbacks() - } - - public static showMsg(msg: string, parentNode: Node = null) { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/CommonTips`, - (loadedResource) => { - parentNode = parentNode || DialogBase.GetRootCanvas() - if (!CommonTips.showingNameList.includes(msg)) CommonTips.showingNameList.push(msg) - - const dialogNode = instantiate(loadedResource) - dialogNode.setPosition(0, 0) - const dialogScript: CommonTips = dialogNode.getComponent(CommonTips) - dialogScript.tips = msg - dialogScript.txtContent.string = msg - parentNode.insertChild(dialogNode, CommonTips.TipsZorderIndex) - }, - ) - } -} +import { Component, Label, Node, Vec3, _decorator, instantiate, tween } from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import PrefabLoader from '../utils/PrefabLoader' + +import DialogBase from './DialogBase' + +const { ccclass, property } = _decorator + +@ccclass('CommonTips') +export default class CommonTips extends Component { + public static TipsZorderIndex: number = 999 + @property({ type: Label }) + txtContent: Label | null = null + + private tips: string = '' + private static showingNameList: Array = [] + + onLoad() {} + + start() { + tween(this.node) + .by(1.5, { position: new Vec3(0, 100, 0) }) + .to(0.2, { /* opacity: 0 */ scale: Vec3.ZERO }) + .call(() => { + this.node.destroy() + }) + .start() + } + + onDestroy() { + const index: number = CommonTips.showingNameList.indexOf(this.tips) + CommonTips.showingNameList.splice(index, 1) + this.unscheduleAllCallbacks() + } + + public static showMsg(msg: string, parentNode: Node = null) { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/CommonTips`, + (loadedResource) => { + parentNode = parentNode || DialogBase.GetRootCanvas() + if (!CommonTips.showingNameList.includes(msg)) CommonTips.showingNameList.push(msg) + + const dialogNode = instantiate(loadedResource) + dialogNode.setPosition(0, 0) + const dialogScript: CommonTips = dialogNode.getComponent(CommonTips) + dialogScript.tips = msg + dialogScript.txtContent.string = msg + parentNode.insertChild(dialogNode, CommonTips.TipsZorderIndex) + }, + ) + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/CommonTips.ts.meta b/assets/FishSingle/script/engine/uicomponent/CommonTips.ts.meta index f17959e..3f39e07 100644 --- a/assets/FishSingle/script/engine/uicomponent/CommonTips.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/CommonTips.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "4524f0ef-319a-4f20-9d62-fe359bbcbc71", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "4524f0ef-319a-4f20-9d62-fe359bbcbc71", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts b/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts index 8d1a300..9adaea4 100644 --- a/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts +++ b/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts @@ -1,36 +1,36 @@ -import { Component, Node, Prefab, Widget, _decorator, instantiate } from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import PrefabLoader from '../utils/PrefabLoader' - -import DialogBase from './DialogBase' - -const { ccclass, property } = _decorator - -@ccclass('DarkLayer') -export default class DarkLayer extends Component { - private static prefab: Prefab - - onLoad() { - this.getComponent(Widget).target = DialogBase.GetRootCanvas() - } - - start() {} - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/DarkLayer`, - (loadedResource) => { - DarkLayer.prefab = loadedResource - resolve() - }, - ) - }) - } - - public static getDarkLayer() { - const dialogNode: Node = instantiate(DarkLayer.prefab) - return dialogNode - } -} +import { Component, Node, Prefab, Widget, _decorator, instantiate } from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import PrefabLoader from '../utils/PrefabLoader' + +import DialogBase from './DialogBase' + +const { ccclass, property } = _decorator + +@ccclass('DarkLayer') +export default class DarkLayer extends Component { + private static prefab: Prefab + + onLoad() { + this.getComponent(Widget).target = DialogBase.GetRootCanvas() + } + + start() {} + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/DarkLayer`, + (loadedResource) => { + DarkLayer.prefab = loadedResource + resolve() + }, + ) + }) + } + + public static getDarkLayer() { + const dialogNode: Node = instantiate(DarkLayer.prefab) + return dialogNode + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts.meta b/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts.meta index 54d459a..6086ce0 100644 --- a/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/DarkLayer.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "4fa811bd-9cd5-4ac6-ad87-d68f4a41dcdf", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "4fa811bd-9cd5-4ac6-ad87-d68f4a41dcdf", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/DialogBase.ts b/assets/FishSingle/script/engine/uicomponent/DialogBase.ts index 10a7954..1e12689 100644 --- a/assets/FishSingle/script/engine/uicomponent/DialogBase.ts +++ b/assets/FishSingle/script/engine/uicomponent/DialogBase.ts @@ -1,65 +1,65 @@ -import { Component, Node, Widget, _decorator } from 'cc' - -import { UIRoot } from '../../game/utils/UIRoot' - -import DarkLayer from './DarkLayer' - -const { ccclass } = _decorator - -@ccclass('DialogBase') -export default class DialogBase extends Component { - private static LocalZOrder: number = 5 - private darkLayer: Node | null = null - - // private static _canvas: Node; - public static GetRootCanvas(): Node { - // if(DialogBase._canvas == null) - // DialogBase._canvas = director.getScene().getChildByName('Canvas'); - // return DialogBase._canvas; - return UIRoot.Instance.node - } - - onLoad() { - DialogBase.LocalZOrder += 1 - const closeLayer: Node = this.node.getChildByName('closeLayer') - if (closeLayer) { - const closeLayerWidget: Widget = closeLayer.getComponent(Widget) - if (closeLayerWidget) { - closeLayerWidget.target = DialogBase.GetRootCanvas() - closeLayerWidget.left = 0 - closeLayerWidget.right = 0 - closeLayerWidget.top = 0 - closeLayerWidget.bottom = 0 - } - } - this.onLoadMe() - } - - onLoadMe() {} - - start(isPlayMv: boolean = false) { - this.darkLayer = DarkLayer.getDarkLayer() - this.node.insertChild(this.darkLayer, 0) // this.node.addChild(this.darkLayer, -1); - if (isPlayMv) this.node.setScale(0, 0) - else this.onStartMe() - } - - onStartMe() {} - - onClickClose() { - this.node.destroy() - } - - update(dt) { - this.onUpdateMe(dt) - } - - onUpdateMe(dt) {} - - onDestroy() { - DialogBase.LocalZOrder -= 1 - this.onDestroyMe() - } - - onDestroyMe() {} -} +import { Component, Node, Widget, _decorator } from 'cc' + +import { UIRoot } from '../../game/utils/UIRoot' + +import DarkLayer from './DarkLayer' + +const { ccclass } = _decorator + +@ccclass('DialogBase') +export default class DialogBase extends Component { + private static LocalZOrder: number = 5 + private darkLayer: Node | null = null + + // private static _canvas: Node; + public static GetRootCanvas(): Node { + // if(DialogBase._canvas == null) + // DialogBase._canvas = director.getScene().getChildByName('Canvas'); + // return DialogBase._canvas; + return UIRoot.Instance.node + } + + onLoad() { + DialogBase.LocalZOrder += 1 + const closeLayer: Node = this.node.getChildByName('closeLayer') + if (closeLayer) { + const closeLayerWidget: Widget = closeLayer.getComponent(Widget) + if (closeLayerWidget) { + closeLayerWidget.target = DialogBase.GetRootCanvas() + closeLayerWidget.left = 0 + closeLayerWidget.right = 0 + closeLayerWidget.top = 0 + closeLayerWidget.bottom = 0 + } + } + this.onLoadMe() + } + + onLoadMe() {} + + start(isPlayMv: boolean = false) { + this.darkLayer = DarkLayer.getDarkLayer() + this.node.insertChild(this.darkLayer, 0) // this.node.addChild(this.darkLayer, -1); + if (isPlayMv) this.node.setScale(0, 0) + else this.onStartMe() + } + + onStartMe() {} + + onClickClose() { + this.node.destroy() + } + + update(dt) { + this.onUpdateMe(dt) + } + + onUpdateMe(dt) {} + + onDestroy() { + DialogBase.LocalZOrder -= 1 + this.onDestroyMe() + } + + onDestroyMe() {} +} diff --git a/assets/FishSingle/script/engine/uicomponent/DialogBase.ts.meta b/assets/FishSingle/script/engine/uicomponent/DialogBase.ts.meta index 44040c8..618c97d 100644 --- a/assets/FishSingle/script/engine/uicomponent/DialogBase.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/DialogBase.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "1fc7cf08-75c2-4ec4-b4c0-6f27eb483210", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "1fc7cf08-75c2-4ec4-b4c0-6f27eb483210", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts b/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts index aff0173..13afe38 100644 --- a/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts +++ b/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts @@ -1,76 +1,76 @@ -import { Component, Node, Prefab, Quat, Vec3, _decorator, instantiate } from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import PrefabLoader from '../utils/PrefabLoader' - -import DialogBase from './DialogBase' - -const { ccclass, property } = _decorator - -@ccclass('LoadingPrefab') -export default class LoadingPrefab extends Component { - public static instance: Node - private static prefab: Prefab - public static LoadingZorderIndex: number = 99 - @property({ type: Node }) - loadingSp: Node | null = null - - private _quatCache: Quat - private _vec3Cache: Vec3 - - onLoad() { - this._quatCache = new Quat() - this._vec3Cache = new Vec3() - } - - start() {} - - public static close() { - if (!LoadingPrefab.instance) return - - LoadingPrefab.instance.removeFromParent() - LoadingPrefab.instance.destroy() - LoadingPrefab.instance = null - } - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/LoadingPrefab`, - (loadedResource) => { - LoadingPrefab.prefab = loadedResource - resolve() - }, - ) - }) - } - - private static createLoadingPrefab(parentNode: Node = null) { - const dialogNode: Node = instantiate(LoadingPrefab.prefab) - LoadingPrefab.instance = dialogNode - if (!parentNode) parentNode = DialogBase.GetRootCanvas() - - parentNode.insertChild(dialogNode, LoadingPrefab.LoadingZorderIndex) - dialogNode.setPosition(0, 0) - } - - public static async show(parentNode: Node = null) { - if (LoadingPrefab.instance) return - if (!LoadingPrefab.prefab) await LoadingPrefab.preLoad() - - this.createLoadingPrefab(parentNode) - } - - update(dt) { - this.loadingSp.getRotation(this._quatCache) - Quat.toEuler(this._vec3Cache, this._quatCache) - this._vec3Cache.z += 10 - this.loadingSp.setRotationFromEuler(this._vec3Cache) - if (this._vec3Cache.z >= 360) this.loadingSp.getRotation(Quat.IDENTITY) - } - - public static clear() { - LoadingPrefab.instance = null - LoadingPrefab.prefab = null - } -} +import { Component, Node, Prefab, Quat, Vec3, _decorator, instantiate } from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import PrefabLoader from '../utils/PrefabLoader' + +import DialogBase from './DialogBase' + +const { ccclass, property } = _decorator + +@ccclass('LoadingPrefab') +export default class LoadingPrefab extends Component { + public static instance: Node + private static prefab: Prefab + public static LoadingZorderIndex: number = 99 + @property({ type: Node }) + loadingSp: Node | null = null + + private _quatCache: Quat + private _vec3Cache: Vec3 + + onLoad() { + this._quatCache = new Quat() + this._vec3Cache = new Vec3() + } + + start() {} + + public static close() { + if (!LoadingPrefab.instance) return + + LoadingPrefab.instance.removeFromParent() + LoadingPrefab.instance.destroy() + LoadingPrefab.instance = null + } + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/LoadingPrefab`, + (loadedResource) => { + LoadingPrefab.prefab = loadedResource + resolve() + }, + ) + }) + } + + private static createLoadingPrefab(parentNode: Node = null) { + const dialogNode: Node = instantiate(LoadingPrefab.prefab) + LoadingPrefab.instance = dialogNode + if (!parentNode) parentNode = DialogBase.GetRootCanvas() + + parentNode.insertChild(dialogNode, LoadingPrefab.LoadingZorderIndex) + dialogNode.setPosition(0, 0) + } + + public static async show(parentNode: Node = null) { + if (LoadingPrefab.instance) return + if (!LoadingPrefab.prefab) await LoadingPrefab.preLoad() + + this.createLoadingPrefab(parentNode) + } + + update(dt) { + this.loadingSp.getRotation(this._quatCache) + Quat.toEuler(this._vec3Cache, this._quatCache) + this._vec3Cache.z += 10 + this.loadingSp.setRotationFromEuler(this._vec3Cache) + if (this._vec3Cache.z >= 360) this.loadingSp.getRotation(Quat.IDENTITY) + } + + public static clear() { + LoadingPrefab.instance = null + LoadingPrefab.prefab = null + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts.meta b/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts.meta index 9261361..0073c48 100644 --- a/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/LoadingPrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "172559f4-6da9-4c5d-a0b4-af9f5116f021", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "172559f4-6da9-4c5d-a0b4-af9f5116f021", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts b/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts index 0cabd89..82a7186 100644 --- a/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts +++ b/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts @@ -1,76 +1,76 @@ -import { Component, Node, Prefab, _decorator, instantiate } from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import PrefabLoader from '../utils/PrefabLoader' - -import DialogBase from './DialogBase' -import Progress from './Progress' - -const { ccclass, property } = _decorator - -@ccclass('LoadingScenePrefab') -export default class LoadingScenePrefab extends Component { - public static instance: Node - private static prefab: Prefab - public static LoadingZorderIndex: number = 99 - @property({ type: Node }) - private progressNode: Node | null = null - - onLoad() {} - - start() {} - - public updateProgress(completedCount: number, totalCount: number, item: any = null) { - this.progressNode - .getComponent(Progress) - .updateProgress(completedCount, totalCount, '消耗流量,预下载所有"鱼"类中,请耐心等待...') - } - - public static updateLoading(completedCount: number, totalCount: number, item: any = null) { - if (LoadingScenePrefab.instance) { - const nodeTs: LoadingScenePrefab = - LoadingScenePrefab.instance.getComponent(LoadingScenePrefab) - if (nodeTs) nodeTs.updateProgress(completedCount, totalCount, item) - } - } - - private static createPrefab(parentNode: Node = null) { - const dialogNode: Node = instantiate(LoadingScenePrefab.prefab) - LoadingScenePrefab.instance = dialogNode - if (!parentNode) parentNode = DialogBase.GetRootCanvas() - - parentNode.insertChild(dialogNode, LoadingScenePrefab.LoadingZorderIndex) - dialogNode.setPosition(0, 0) - } - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/LoadingScenePrefab`, - (loadedResource: Prefab) => { - LoadingScenePrefab.prefab = loadedResource - resolve() - }, - ) - }) - } - - public static close() { - if (!LoadingScenePrefab.instance) return - - LoadingScenePrefab.instance.destroy() - LoadingScenePrefab.instance = null - } - - public static async show(parentNode: Node = null) { - if (LoadingScenePrefab.instance) return - if (!LoadingScenePrefab.prefab) await LoadingScenePrefab.preLoad() - - this.createPrefab(parentNode) - } - - public static clear() { - LoadingScenePrefab.instance = null - LoadingScenePrefab.prefab = null - } -} +import { Component, Node, Prefab, _decorator, instantiate } from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import PrefabLoader from '../utils/PrefabLoader' + +import DialogBase from './DialogBase' +import Progress from './Progress' + +const { ccclass, property } = _decorator + +@ccclass('LoadingScenePrefab') +export default class LoadingScenePrefab extends Component { + public static instance: Node + private static prefab: Prefab + public static LoadingZorderIndex: number = 99 + @property({ type: Node }) + private progressNode: Node | null = null + + onLoad() {} + + start() {} + + public updateProgress(completedCount: number, totalCount: number, item: any = null) { + this.progressNode + .getComponent(Progress) + .updateProgress(completedCount, totalCount, '消耗流量,预下载所有"鱼"类中,请耐心等待...') + } + + public static updateLoading(completedCount: number, totalCount: number, item: any = null) { + if (LoadingScenePrefab.instance) { + const nodeTs: LoadingScenePrefab = + LoadingScenePrefab.instance.getComponent(LoadingScenePrefab) + if (nodeTs) nodeTs.updateProgress(completedCount, totalCount, item) + } + } + + private static createPrefab(parentNode: Node = null) { + const dialogNode: Node = instantiate(LoadingScenePrefab.prefab) + LoadingScenePrefab.instance = dialogNode + if (!parentNode) parentNode = DialogBase.GetRootCanvas() + + parentNode.insertChild(dialogNode, LoadingScenePrefab.LoadingZorderIndex) + dialogNode.setPosition(0, 0) + } + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/LoadingScenePrefab`, + (loadedResource: Prefab) => { + LoadingScenePrefab.prefab = loadedResource + resolve() + }, + ) + }) + } + + public static close() { + if (!LoadingScenePrefab.instance) return + + LoadingScenePrefab.instance.destroy() + LoadingScenePrefab.instance = null + } + + public static async show(parentNode: Node = null) { + if (LoadingScenePrefab.instance) return + if (!LoadingScenePrefab.prefab) await LoadingScenePrefab.preLoad() + + this.createPrefab(parentNode) + } + + public static clear() { + LoadingScenePrefab.instance = null + LoadingScenePrefab.prefab = null + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts.meta b/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts.meta index 82bdcc3..3350776 100644 --- a/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/LoadingScenePrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "e2e744b0-b723-4151-8de6-a2c222b8fe29", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "e2e744b0-b723-4151-8de6-a2c222b8fe29", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts b/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts index 8ae2fc7..1e6858c 100644 --- a/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts +++ b/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts @@ -1,80 +1,80 @@ -import { - AssetManager, - AudioClip, - AudioSource, - Component, - Prefab, - _decorator, - instantiate, -} from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import MusicConfig from '../config/MusicConfig' -import LocalStorage from '../utils/LocalStorage' -import { Logger } from '../utils/Logger' -import PrefabLoader from '../utils/PrefabLoader' - -const { ccclass, property } = _decorator - -/** - * 背景音乐 - */ - -@ccclass('MusicPrefab') -export default class MusicPrefab extends Component { - private static instance: MusicPrefab - private static MUSIC_VOLUMN_KEY: string = 'musicVolumn' - public static musicVolumn: number = 1 - - public static play(key: string) { - const url: string = MusicConfig.musicKey2Path.get(key) - if (url) { - AssetManager.instance.resources.load(url, AudioClip, (error: Error, clip: AudioClip) => { - if (error) { - Logger.warn(this, 'load music error===', error.message) - } else { - if (clip) { - this.instance.node.getComponent(AudioSource).clip = clip - this.instance.node.getComponent(AudioSource).volume = this.musicVolumn - this.instance.node.getComponent(AudioSource).play() - this.instance.node.getComponent(AudioSource).loop = true - } - } - }) - } else { - Logger.warn(this, '播放不存在的music=', key) - } - } - - public static changeVolumn(nowVolumn: number) { - this.musicVolumn = nowVolumn - this.instance.node.getComponent(AudioSource).volume = nowVolumn - LocalStorage.setItem(MusicPrefab.MUSIC_VOLUMN_KEY, this.musicVolumn.toString()) - } - - private static preInit() { - this.musicVolumn = Number.parseFloat(LocalStorage.getItem(MusicPrefab.MUSIC_VOLUMN_KEY)) - if (Number.isNaN(this.musicVolumn)) this.musicVolumn = 1 - } - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/MusicPrefab`, - (loadedResource: Prefab) => { - MusicPrefab.instance = instantiate(loadedResource).getComponent(MusicPrefab) - this.preInit() - resolve() - }, - ) - }) - } - - public static destory() { - if (MusicPrefab.instance) { - MusicPrefab.instance.getComponent(AudioSource).stop() - MusicPrefab.instance.destroy() - } - MusicPrefab.instance = null - } -} +import { + AssetManager, + AudioClip, + AudioSource, + Component, + Prefab, + _decorator, + instantiate, +} from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import MusicConfig from '../config/MusicConfig' +import LocalStorage from '../utils/LocalStorage' +import { Logger } from '../utils/Logger' +import PrefabLoader from '../utils/PrefabLoader' + +const { ccclass, property } = _decorator + +/** + * 背景音乐 + */ + +@ccclass('MusicPrefab') +export default class MusicPrefab extends Component { + private static instance: MusicPrefab + private static MUSIC_VOLUMN_KEY: string = 'musicVolumn' + public static musicVolumn: number = 1 + + public static play(key: string) { + const url: string = MusicConfig.musicKey2Path.get(key) + if (url) { + AssetManager.instance.resources.load(url, AudioClip, (error: Error, clip: AudioClip) => { + if (error) { + Logger.warn(this, 'load music error===', error.message) + } else { + if (clip) { + this.instance.node.getComponent(AudioSource).clip = clip + this.instance.node.getComponent(AudioSource).volume = this.musicVolumn + this.instance.node.getComponent(AudioSource).play() + this.instance.node.getComponent(AudioSource).loop = true + } + } + }) + } else { + Logger.warn(this, '播放不存在的music=', key) + } + } + + public static changeVolumn(nowVolumn: number) { + this.musicVolumn = nowVolumn + this.instance.node.getComponent(AudioSource).volume = nowVolumn + LocalStorage.setItem(MusicPrefab.MUSIC_VOLUMN_KEY, this.musicVolumn.toString()) + } + + private static preInit() { + this.musicVolumn = Number.parseFloat(LocalStorage.getItem(MusicPrefab.MUSIC_VOLUMN_KEY)) + if (Number.isNaN(this.musicVolumn)) this.musicVolumn = 1 + } + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/MusicPrefab`, + (loadedResource: Prefab) => { + MusicPrefab.instance = instantiate(loadedResource).getComponent(MusicPrefab) + this.preInit() + resolve() + }, + ) + }) + } + + public static destory() { + if (MusicPrefab.instance) { + MusicPrefab.instance.getComponent(AudioSource).stop() + MusicPrefab.instance.destroy() + } + MusicPrefab.instance = null + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts.meta b/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts.meta index 74234ee..6e9faf5 100644 --- a/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/MusicPrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "e947ef07-b958-4471-b5a5-f0acd7e299d2", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "e947ef07-b958-4471-b5a5-f0acd7e299d2", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/Progress.ts b/assets/FishSingle/script/engine/uicomponent/Progress.ts index 2187567..0f3edca 100644 --- a/assets/FishSingle/script/engine/uicomponent/Progress.ts +++ b/assets/FishSingle/script/engine/uicomponent/Progress.ts @@ -1,55 +1,55 @@ -import { Component, Label, ProgressBar, _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('Progress') -export default class Progress extends Component { - @property(Label) - public percentLable: Label - - @property(ProgressBar) - public bar: ProgressBar - - onLoad() { - this.bar.node.active = false - this.bar.progress = 0 - } - - start() {} - - updatePercent(current, filePercent) { - // this.percentLable.string = filePercent.toFixed(2); - } - - updatefileTotal(current: number, filePercent: number) { - if (!this.bar.node.active) this.bar.node.active = true - let nowPercent = Math.round((current / filePercent) * 100) - const curMB = this.getMB(current) - const totalMB = this.getMB(filePercent) - // this.percentLable.string = "正在更新 " + nowPercent + "%" + " ( " + curMB + " / "+totalMB +" MB)"; - nowPercent = Math.min(nowPercent, 100) - this.percentLable.string = `正在更新 ${nowPercent}%` - this.bar.progress = current / filePercent - } - - public updateProgress( - current: number, - total: number, - msg: string = '正在加载资源,此过程不消耗流量...', - ) { - this.bar.node.active = true - // this.setMsg(msg+ current + "/" + total); - this.setMsg(msg) - this.bar.progress = current / total - } - - getMB(bytes: number) { - bytes /= 1024 - bytes /= 1024 - return bytes.toFixed(2) - } - - public setMsg(msg: string = '游戏加载中,请稍后...') { - this.percentLable.string = msg - } -} +import { Component, Label, ProgressBar, _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('Progress') +export default class Progress extends Component { + @property(Label) + public percentLable: Label + + @property(ProgressBar) + public bar: ProgressBar + + onLoad() { + this.bar.node.active = false + this.bar.progress = 0 + } + + start() {} + + updatePercent(current, filePercent) { + // this.percentLable.string = filePercent.toFixed(2); + } + + updatefileTotal(current: number, filePercent: number) { + if (!this.bar.node.active) this.bar.node.active = true + let nowPercent = Math.round((current / filePercent) * 100) + const curMB = this.getMB(current) + const totalMB = this.getMB(filePercent) + // this.percentLable.string = "正在更新 " + nowPercent + "%" + " ( " + curMB + " / "+totalMB +" MB)"; + nowPercent = Math.min(nowPercent, 100) + this.percentLable.string = `正在更新 ${nowPercent}%` + this.bar.progress = current / filePercent + } + + public updateProgress( + current: number, + total: number, + msg: string = '正在加载资源,此过程不消耗流量...', + ) { + this.bar.node.active = true + // this.setMsg(msg+ current + "/" + total); + this.setMsg(msg) + this.bar.progress = current / total + } + + getMB(bytes: number) { + bytes /= 1024 + bytes /= 1024 + return bytes.toFixed(2) + } + + public setMsg(msg: string = '游戏加载中,请稍后...') { + this.percentLable.string = msg + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/Progress.ts.meta b/assets/FishSingle/script/engine/uicomponent/Progress.ts.meta index ec26bd7..46a14c4 100644 --- a/assets/FishSingle/script/engine/uicomponent/Progress.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/Progress.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "ba38c648-abb9-41f8-a06b-830bb5aea91d", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "ba38c648-abb9-41f8-a06b-830bb5aea91d", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts b/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts index a0543e0..fad8c75 100644 --- a/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts +++ b/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts @@ -1,128 +1,128 @@ -import { - AssetManager, - AudioClip, - AudioSource, - Component, - Node, - NodePool, - Prefab, - _decorator, - instantiate, -} from 'cc' - -import { GameConfig } from '../../game/config/GameConfig' -import CommonEvent from '../config/CommonEvent' -import MusicConfig from '../config/MusicConfig' -import EventManager from '../utils/EventManager' -import LocalStorage from '../utils/LocalStorage' -import { Logger } from '../utils/Logger' -import PrefabLoader from '../utils/PrefabLoader' - -const { ccclass, property } = _decorator - -// /** -// * 音效 -// * Ios暂时有bug,弃用 -// */ - -@ccclass('SoundPrefab') -export default class SoundPrefab extends Component { - private static prefab: Prefab | null = null - private static SOUND_VOLUMN_KEY: string = 'soundVolumn' - public static soundVolumn: number = 1 - private static Pool_Init_Num: number = 30 - private static pool: NodePool = new NodePool() - private static nowAudioNodeList: Array = [] - private audioName: string = '' - private audioUrl: string = '' - - private static getAudioNode() { - let node: Node = null - // if (this.pool.size() > 0) { - - // node = this.pool.get(); - // } else { - node = instantiate(this.prefab) - // } - return node - } - - public static play(key: string) { - const url: string = MusicConfig.musicKey2Path.get(key) - if (url) { - AssetManager.instance.resources.load(url, AudioClip, (error: Error, clip: AudioClip) => { - if (error) { - Logger.warn(this, 'load sound error===', error.message) - } else { - if (clip) { - const audioNode: Node = this.getAudioNode() - if (audioNode) { - audioNode.getComponent(AudioSource).clip = clip - audioNode.getComponent(AudioSource).volume = SoundPrefab.soundVolumn - audioNode.getComponent(AudioSource).loop = false - audioNode.getComponent(AudioSource).currentTime = 0 // rewind(); - audioNode.getComponent(AudioSource).play() - audioNode.getComponent(SoundPrefab).audioName = key - audioNode.getComponent(SoundPrefab).audioUrl = url - this.nowAudioNodeList.push(audioNode) - } - } - } - }) - } else { - Logger.warn(this, '播放不存在的music=', key) - } - } - - public static changeVolumn(nowVolumn: number) { - this.soundVolumn = nowVolumn - for (let i = 0; i < this.nowAudioNodeList.length; i++) { - const audioNode: Node = this.nowAudioNodeList[i] - const audioSource: AudioSource = audioNode.getComponent(AudioSource) - if (audioSource.playing) audioSource.volume = nowVolumn - } - LocalStorage.setItem(SoundPrefab.SOUND_VOLUMN_KEY, SoundPrefab.soundVolumn.toString()) - } - - private static preInit() { - EventManager.instance.addListener(CommonEvent.Event_FrameUpdate, this.updateFrame, this) - SoundPrefab.soundVolumn = Number.parseFloat(LocalStorage.getItem(SoundPrefab.SOUND_VOLUMN_KEY)) - if (Number.isNaN(SoundPrefab.soundVolumn)) SoundPrefab.soundVolumn = 1 - } - - private static updateFrame() { - for (let i = 0; i < this.nowAudioNodeList.length; i++) { - const audioNode: Node = this.nowAudioNodeList[i] - const audioSource: AudioSource = audioNode.getComponent(AudioSource) - if (!audioSource.playing) SoundPrefab.nowAudioNodeList.splice(i, 1) - } - } - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/share/uicomponent/SoundPrefab`, - (loadedResource: Prefab) => { - SoundPrefab.prefab = loadedResource - this.preInit() - // for (let i = 0; i < this.Pool_Init_Num; i++) { - // let tempNode: cc.Node = cc.instantiate(loadedResource); - // this.pool.put(tempNode); - // } - resolve() - }, - ) - }) - } - - public static destory() { - EventManager.instance.removeListener(CommonEvent.Event_FrameUpdate, this.updateFrame) - for (let i = 0; i < this.nowAudioNodeList.length; i++) { - const audioNode: Node = this.nowAudioNodeList[i] - audioNode.getComponent(AudioSource).stop() - audioNode.getComponent(AudioSource).destroy() - } - this.nowAudioNodeList = [] - this.pool.clear() - } -} +import { + AssetManager, + AudioClip, + AudioSource, + Component, + Node, + NodePool, + Prefab, + _decorator, + instantiate, +} from 'cc' + +import { GameConfig } from '../../game/config/GameConfig' +import CommonEvent from '../config/CommonEvent' +import MusicConfig from '../config/MusicConfig' +import EventManager from '../utils/EventManager' +import LocalStorage from '../utils/LocalStorage' +import { Logger } from '../utils/Logger' +import PrefabLoader from '../utils/PrefabLoader' + +const { ccclass, property } = _decorator + +// /** +// * 音效 +// * Ios暂时有bug,弃用 +// */ + +@ccclass('SoundPrefab') +export default class SoundPrefab extends Component { + private static prefab: Prefab | null = null + private static SOUND_VOLUMN_KEY: string = 'soundVolumn' + public static soundVolumn: number = 1 + private static Pool_Init_Num: number = 30 + private static pool: NodePool = new NodePool() + private static nowAudioNodeList: Array = [] + private audioName: string = '' + private audioUrl: string = '' + + private static getAudioNode() { + let node: Node = null + // if (this.pool.size() > 0) { + + // node = this.pool.get(); + // } else { + node = instantiate(this.prefab) + // } + return node + } + + public static play(key: string) { + const url: string = MusicConfig.musicKey2Path.get(key) + if (url) { + AssetManager.instance.resources.load(url, AudioClip, (error: Error, clip: AudioClip) => { + if (error) { + Logger.warn(this, 'load sound error===', error.message) + } else { + if (clip) { + const audioNode: Node = this.getAudioNode() + if (audioNode) { + audioNode.getComponent(AudioSource).clip = clip + audioNode.getComponent(AudioSource).volume = SoundPrefab.soundVolumn + audioNode.getComponent(AudioSource).loop = false + audioNode.getComponent(AudioSource).currentTime = 0 // rewind(); + audioNode.getComponent(AudioSource).play() + audioNode.getComponent(SoundPrefab).audioName = key + audioNode.getComponent(SoundPrefab).audioUrl = url + this.nowAudioNodeList.push(audioNode) + } + } + } + }) + } else { + Logger.warn(this, '播放不存在的music=', key) + } + } + + public static changeVolumn(nowVolumn: number) { + this.soundVolumn = nowVolumn + for (let i = 0; i < this.nowAudioNodeList.length; i++) { + const audioNode: Node = this.nowAudioNodeList[i] + const audioSource: AudioSource = audioNode.getComponent(AudioSource) + if (audioSource.playing) audioSource.volume = nowVolumn + } + LocalStorage.setItem(SoundPrefab.SOUND_VOLUMN_KEY, SoundPrefab.soundVolumn.toString()) + } + + private static preInit() { + EventManager.instance.addListener(CommonEvent.Event_FrameUpdate, this.updateFrame, this) + SoundPrefab.soundVolumn = Number.parseFloat(LocalStorage.getItem(SoundPrefab.SOUND_VOLUMN_KEY)) + if (Number.isNaN(SoundPrefab.soundVolumn)) SoundPrefab.soundVolumn = 1 + } + + private static updateFrame() { + for (let i = 0; i < this.nowAudioNodeList.length; i++) { + const audioNode: Node = this.nowAudioNodeList[i] + const audioSource: AudioSource = audioNode.getComponent(AudioSource) + if (!audioSource.playing) SoundPrefab.nowAudioNodeList.splice(i, 1) + } + } + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/share/uicomponent/SoundPrefab`, + (loadedResource: Prefab) => { + SoundPrefab.prefab = loadedResource + this.preInit() + // for (let i = 0; i < this.Pool_Init_Num; i++) { + // let tempNode: cc.Node = cc.instantiate(loadedResource); + // this.pool.put(tempNode); + // } + resolve() + }, + ) + }) + } + + public static destory() { + EventManager.instance.removeListener(CommonEvent.Event_FrameUpdate, this.updateFrame) + for (let i = 0; i < this.nowAudioNodeList.length; i++) { + const audioNode: Node = this.nowAudioNodeList[i] + audioNode.getComponent(AudioSource).stop() + audioNode.getComponent(AudioSource).destroy() + } + this.nowAudioNodeList = [] + this.pool.clear() + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts.meta b/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts.meta index 6119435..d12b05b 100644 --- a/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/SoundPrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "d262f2b2-8af6-4db9-b1e4-0c08493efa10", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "d262f2b2-8af6-4db9-b1e4-0c08493efa10", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts b/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts index f1059cf..a7ea250 100644 --- a/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts +++ b/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts @@ -1,25 +1,25 @@ -import { Component, SpriteFrame, _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('TextureMgr') -export default class TextureMgr extends Component { - @property({ type: [SpriteFrame] }) - public Spriteset: SpriteFrame[] = [] - - @property({ type: [SpriteFrame] }) - public Spriteset1: SpriteFrame[] = [] - - @property({ type: [SpriteFrame] }) - public Spriteset2: SpriteFrame[] = [] - - @property({ type: [SpriteFrame] }) - public Spriteset3: SpriteFrame[] = [] - - @property({ type: [SpriteFrame] }) - public Spriteset4: SpriteFrame[] = [] - - onLoad() { - // init logic - } -} +import { Component, SpriteFrame, _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('TextureMgr') +export default class TextureMgr extends Component { + @property({ type: [SpriteFrame] }) + public Spriteset: SpriteFrame[] = [] + + @property({ type: [SpriteFrame] }) + public Spriteset1: SpriteFrame[] = [] + + @property({ type: [SpriteFrame] }) + public Spriteset2: SpriteFrame[] = [] + + @property({ type: [SpriteFrame] }) + public Spriteset3: SpriteFrame[] = [] + + @property({ type: [SpriteFrame] }) + public Spriteset4: SpriteFrame[] = [] + + onLoad() { + // init logic + } +} diff --git a/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts.meta b/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts.meta index 1bb2568..cb8223d 100644 --- a/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts.meta +++ b/assets/FishSingle/script/engine/uicomponent/TextureMgr.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "1147cca4-2fe9-4d82-8850-0d97cb3318d5", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "1147cca4-2fe9-4d82-8850-0d97cb3318d5", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils.meta b/assets/FishSingle/script/engine/utils.meta index ef2a41d..0ad630d 100644 --- a/assets/FishSingle/script/engine/utils.meta +++ b/assets/FishSingle/script/engine/utils.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "a8097de0-2f13-4b1b-be6b-4635b5d8281d", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "a8097de0-2f13-4b1b-be6b-4635b5d8281d", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/engine/utils/AdapterHelper.ts b/assets/FishSingle/script/engine/utils/AdapterHelper.ts index 5269043..b6063b1 100644 --- a/assets/FishSingle/script/engine/utils/AdapterHelper.ts +++ b/assets/FishSingle/script/engine/utils/AdapterHelper.ts @@ -1,34 +1,34 @@ -import { _decorator, Canvas, error, log, view } from 'cc' -import DialogBase from '../uicomponent/DialogBase' - -const { ccclass, property } = _decorator - -@ccclass('AdapterHelper') -export default class AdapterHelper { - public static winSizeWidth: number - public static winSizeHeiht: number - - public static fixApdater() { - log('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') - // return - // const framesize = view.getFrameSize() - // if (!this.winSizeWidth) { - // this.winSizeWidth = screen.width - // this.winSizeHeiht = screen.height - // } - // const designsize = view.getDesignResolutionSize() - // const canvas: Canvas = DialogBase.GetRootCanvas().getComponent(Canvas) - - // const ratio: number = framesize.height / framesize.width - // const designRatio: number = designsize.height / designsize.width - // if (ratio > designRatio) { - // canvas.fitHeight = false; - // canvas.fitWidth = true; - // error('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') - // } else { - // // canvas.fitHeight = true; - // // canvas.fitWidth = false; - // error('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') - // } - } -} +import { _decorator, Canvas, error, log, view } from 'cc' +import DialogBase from '../uicomponent/DialogBase' + +const { ccclass, property } = _decorator + +@ccclass('AdapterHelper') +export default class AdapterHelper { + public static winSizeWidth: number + public static winSizeHeiht: number + + public static fixApdater() { + log('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') + // return + // const framesize = view.getFrameSize() + // if (!this.winSizeWidth) { + // this.winSizeWidth = screen.width + // this.winSizeHeiht = screen.height + // } + // const designsize = view.getDesignResolutionSize() + // const canvas: Canvas = DialogBase.GetRootCanvas().getComponent(Canvas) + + // const ratio: number = framesize.height / framesize.width + // const designRatio: number = designsize.height / designsize.width + // if (ratio > designRatio) { + // canvas.fitHeight = false; + // canvas.fitWidth = true; + // error('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') + // } else { + // // canvas.fitHeight = true; + // // canvas.fitWidth = false; + // error('v3.6没找到接口修改 fitHeight、fitWidth, 先在项目里写死fitHeight=true') + // } + } +} diff --git a/assets/FishSingle/script/engine/utils/AdapterHelper.ts.meta b/assets/FishSingle/script/engine/utils/AdapterHelper.ts.meta index e8a89e0..c0cd1d4 100644 --- a/assets/FishSingle/script/engine/utils/AdapterHelper.ts.meta +++ b/assets/FishSingle/script/engine/utils/AdapterHelper.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "d2b64431-33c2-4fa1-83b0-0ece0e0a35e2", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "d2b64431-33c2-4fa1-83b0-0ece0e0a35e2", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/BitUtil.ts b/assets/FishSingle/script/engine/utils/BitUtil.ts index a1fe4d8..beb2b88 100644 --- a/assets/FishSingle/script/engine/utils/BitUtil.ts +++ b/assets/FishSingle/script/engine/utils/BitUtil.ts @@ -1,42 +1,42 @@ -import { _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('BitUtil') -export default class BitUtil { - // index是二进制从右到左 - public static isBitSet(value: number, index: number): boolean { - const str: string = value.toString(2) - return Number.parseInt(str[str.length - 1 - index]) === 1 - } - - // 从右到左计算 - public static setBitValue(value: number, index: number): number { - let newValue: number = value - const str: string = value.toString(2) - let newStr: string = '' - const maxIndex = Math.max(str.length - 1, index) - for (let i = 0; i <= maxIndex; i++) { - if (index === i) { - newStr = `1${newStr}` - } else { - if (str[i] === undefined) newStr = `0${newStr}` - else newStr = str[i] + newStr - } - } - newValue = Number.parseInt(newStr, 2) - return newValue - } - - public static clearBitValue(value: number, index: number) { - let newValue: number = value - const str: string = value.toString(2) - let newStr: string = '' - for (let i = str.length - 1; i >= 0; i--) { - if (index === str.length - 1 - i) newStr = `0${newStr}` - else newStr = str[i] + newStr - } - newValue = Number.parseInt(newStr, 2) - return newValue - } -} +import { _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('BitUtil') +export default class BitUtil { + // index是二进制从右到左 + public static isBitSet(value: number, index: number): boolean { + const str: string = value.toString(2) + return Number.parseInt(str[str.length - 1 - index]) === 1 + } + + // 从右到左计算 + public static setBitValue(value: number, index: number): number { + let newValue: number = value + const str: string = value.toString(2) + let newStr: string = '' + const maxIndex = Math.max(str.length - 1, index) + for (let i = 0; i <= maxIndex; i++) { + if (index === i) { + newStr = `1${newStr}` + } else { + if (str[i] === undefined) newStr = `0${newStr}` + else newStr = str[i] + newStr + } + } + newValue = Number.parseInt(newStr, 2) + return newValue + } + + public static clearBitValue(value: number, index: number) { + let newValue: number = value + const str: string = value.toString(2) + let newStr: string = '' + for (let i = str.length - 1; i >= 0; i--) { + if (index === str.length - 1 - i) newStr = `0${newStr}` + else newStr = str[i] + newStr + } + newValue = Number.parseInt(newStr, 2) + return newValue + } +} diff --git a/assets/FishSingle/script/engine/utils/BitUtil.ts.meta b/assets/FishSingle/script/engine/utils/BitUtil.ts.meta index abd0305..ccd383b 100644 --- a/assets/FishSingle/script/engine/utils/BitUtil.ts.meta +++ b/assets/FishSingle/script/engine/utils/BitUtil.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "8a5aad8d-c1cf-4e6a-bbbe-bc0ef0b4d05f", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "8a5aad8d-c1cf-4e6a-bbbe-bc0ef0b4d05f", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/ColorHelper.ts b/assets/FishSingle/script/engine/utils/ColorHelper.ts index 3561e39..296db21 100644 --- a/assets/FishSingle/script/engine/utils/ColorHelper.ts +++ b/assets/FishSingle/script/engine/utils/ColorHelper.ts @@ -1,11 +1,11 @@ -import { Color, _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('ColorHelper') -export default class ColorHelper { - public static getColor(hexStr: string): Color { - const color: Color = Color.BLACK - return color.fromHEX(hexStr) - } -} +import { Color, _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('ColorHelper') +export default class ColorHelper { + public static getColor(hexStr: string): Color { + const color: Color = Color.BLACK + return color.fromHEX(hexStr) + } +} diff --git a/assets/FishSingle/script/engine/utils/ColorHelper.ts.meta b/assets/FishSingle/script/engine/utils/ColorHelper.ts.meta index 29c288e..194ef73 100644 --- a/assets/FishSingle/script/engine/utils/ColorHelper.ts.meta +++ b/assets/FishSingle/script/engine/utils/ColorHelper.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "d1bc656e-a928-4212-a2b4-408b73ef0ec9", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "d1bc656e-a928-4212-a2b4-408b73ef0ec9", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/DateUtil.ts b/assets/FishSingle/script/engine/utils/DateUtil.ts index a9a99eb..0eea9aa 100644 --- a/assets/FishSingle/script/engine/utils/DateUtil.ts +++ b/assets/FishSingle/script/engine/utils/DateUtil.ts @@ -1,83 +1,83 @@ -export default class DateUtil { - public static formatNumStr(num: number) { - let str = `${num}` - if (num < 10) str = `0${num}` - return str - } - - public static formateYearMonthDayStr(timestamp: number) { - const date: Date = new Date(timestamp) - return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` - } - - public static formateMonthDayStr(timestamp: number) { - const date: Date = new Date(timestamp) - return `${date.getMonth() + 1}月${date.getDate()}日` - } - - // timestamp:1453094034000 2018-1-31 19:53:44 - // 根据时间戳返回 2018-1-31 19:53:44 - public static formatDateStr(timestamp: number) { - const date: Date = new Date(timestamp) - return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${this.formatNumStr( - date.getHours(), - )}:${this.formatNumStr(date.getMinutes())}:${this.formatNumStr(date.getSeconds())}` - } - - // timestamp:1453094034000 2018-1-31-19-53-44 - // 根据时间戳返回 2018-1-31-19-53-44 - public static formatDateStr2(timestamp: number) { - const date: Date = new Date(timestamp) - return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}-${this.formatNumStr(date.getHours())}-${this.formatNumStr(date.getMinutes())}-${this.formatNumStr(date.getSeconds())}` - } - - // timestamp:1453094034000 2018-1-31 - // 根据时间戳返回 2018-1-31 - public static formatDateStr3(timestamp: number) { - const date: Date = new Date(timestamp) - return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` - } - - // timestamp:1453094034000 - // 根据时间戳返回 19:53 - public static formatHourMinStr(timestamp: number) { - const date: Date = new Date(timestamp) - return `${this.formatNumStr(date.getHours())}:${this.formatNumStr(date.getMinutes())}` - } - - // timestamp:1453094034000 - // 根据时间戳返回 19:53:11 - public static formatHourMinSecondStr(timestamp: number) { - const date: Date = new Date(timestamp) - return `${this.formatNumStr(date.getHours())}:${this.formatNumStr(date.getMinutes())}:${this.formatNumStr(date.getSeconds())}` - } - - public static now(): number { - const date: Date = new Date() - return date.getTime() - } - - public static betweenTime(startTime: number, endTime: number) { - const date: Date = new Date() - return date.getTime() >= startTime && date.getTime() <= endTime - } - - // 根据时间戳返回 1天19:53:11 - public static formatLeftTime(timestamp: number) { - const day: number = Math.floor(timestamp / (1000 * 60 * 60 * 24)) - const hour: number = Math.floor(timestamp / (1000 * 60 * 60)) % 24 - const min: number = Math.floor(timestamp / (1000 * 60)) % 60 - const second: number = Math.floor(timestamp / 1000) % 60 - return `${day}天${this.formatNumStr(hour)}:${this.formatNumStr(min)}:${this.formatNumStr(second)}` - } - - public static isToday(dateTime: number): boolean { - const nowDate: Date = new Date() - const checkDate: Date = new Date(dateTime) - return ( - checkDate.getFullYear() === nowDate.getFullYear() && - checkDate.getMonth() === nowDate.getMonth() && - checkDate.getDate() === nowDate.getDate() - ) - } -} +export default class DateUtil { + public static formatNumStr(num: number) { + let str = `${num}` + if (num < 10) str = `0${num}` + return str + } + + public static formateYearMonthDayStr(timestamp: number) { + const date: Date = new Date(timestamp) + return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` + } + + public static formateMonthDayStr(timestamp: number) { + const date: Date = new Date(timestamp) + return `${date.getMonth() + 1}月${date.getDate()}日` + } + + // timestamp:1453094034000 2018-1-31 19:53:44 + // 根据时间戳返回 2018-1-31 19:53:44 + public static formatDateStr(timestamp: number) { + const date: Date = new Date(timestamp) + return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${this.formatNumStr( + date.getHours(), + )}:${this.formatNumStr(date.getMinutes())}:${this.formatNumStr(date.getSeconds())}` + } + + // timestamp:1453094034000 2018-1-31-19-53-44 + // 根据时间戳返回 2018-1-31-19-53-44 + public static formatDateStr2(timestamp: number) { + const date: Date = new Date(timestamp) + return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}-${this.formatNumStr(date.getHours())}-${this.formatNumStr(date.getMinutes())}-${this.formatNumStr(date.getSeconds())}` + } + + // timestamp:1453094034000 2018-1-31 + // 根据时间戳返回 2018-1-31 + public static formatDateStr3(timestamp: number) { + const date: Date = new Date(timestamp) + return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}` + } + + // timestamp:1453094034000 + // 根据时间戳返回 19:53 + public static formatHourMinStr(timestamp: number) { + const date: Date = new Date(timestamp) + return `${this.formatNumStr(date.getHours())}:${this.formatNumStr(date.getMinutes())}` + } + + // timestamp:1453094034000 + // 根据时间戳返回 19:53:11 + public static formatHourMinSecondStr(timestamp: number) { + const date: Date = new Date(timestamp) + return `${this.formatNumStr(date.getHours())}:${this.formatNumStr(date.getMinutes())}:${this.formatNumStr(date.getSeconds())}` + } + + public static now(): number { + const date: Date = new Date() + return date.getTime() + } + + public static betweenTime(startTime: number, endTime: number) { + const date: Date = new Date() + return date.getTime() >= startTime && date.getTime() <= endTime + } + + // 根据时间戳返回 1天19:53:11 + public static formatLeftTime(timestamp: number) { + const day: number = Math.floor(timestamp / (1000 * 60 * 60 * 24)) + const hour: number = Math.floor(timestamp / (1000 * 60 * 60)) % 24 + const min: number = Math.floor(timestamp / (1000 * 60)) % 60 + const second: number = Math.floor(timestamp / 1000) % 60 + return `${day}天${this.formatNumStr(hour)}:${this.formatNumStr(min)}:${this.formatNumStr(second)}` + } + + public static isToday(dateTime: number): boolean { + const nowDate: Date = new Date() + const checkDate: Date = new Date(dateTime) + return ( + checkDate.getFullYear() === nowDate.getFullYear() && + checkDate.getMonth() === nowDate.getMonth() && + checkDate.getDate() === nowDate.getDate() + ) + } +} diff --git a/assets/FishSingle/script/engine/utils/DateUtil.ts.meta b/assets/FishSingle/script/engine/utils/DateUtil.ts.meta index 727fc35..ba473d5 100644 --- a/assets/FishSingle/script/engine/utils/DateUtil.ts.meta +++ b/assets/FishSingle/script/engine/utils/DateUtil.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "b42f778f-ca3e-4982-bd84-c8a54d39ced4", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "b42f778f-ca3e-4982-bd84-c8a54d39ced4", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/EventManager.ts b/assets/FishSingle/script/engine/utils/EventManager.ts index 38f63a6..d54197f 100644 --- a/assets/FishSingle/script/engine/utils/EventManager.ts +++ b/assets/FishSingle/script/engine/utils/EventManager.ts @@ -1,123 +1,123 @@ -import { Button, Color, Component, Node, Slider } from 'cc' - -import ColorHelper from './ColorHelper' - -export class HaoEvent { - public callback: Function - public caller: any - public isStop: boolean - - constructor(callback: Function, caller: any) { - this.callback = callback - this.caller = caller - this.isStop = false - } -} - -export default class EventManager { - public static instance: EventManager = new EventManager() - - private callbackList = {} - - public constructor() {} - - // 注册事件 - public addListener(eventName: string, callback: Function, caller: any) { - if (this.callbackList[eventName]) { - const eventList: Array = this.callbackList[eventName] - // 不同元件才放入,相同元件覆蓋 - let add: boolean = true - for (let i = 0; i < eventList.length; i++) { - const event: HaoEvent = eventList[i] - if (caller === event.caller) add = false - } - if (add) { - eventList.push(new HaoEvent(callback, caller)) - this.callbackList[eventName] = eventList - } - } else { - // this.callbackList[eventName] = [[callback, caller]]; - this.callbackList[eventName] = [new HaoEvent(callback, caller)] - } - } - - public removeListener(eventName: string, callback: Function) { - if (this.callbackList[eventName]) { - for (let i = this.callbackList[eventName].length - 1; i >= 0; i--) { - const event: HaoEvent = this.callbackList[eventName][i] - if (event.callback == callback) { - this.callbackList[eventName].splice(i, 1) - break - } - } - } - } - - public dispatchEvent(eventName, parameter?: any, ...restOfName: any[]) { - const eventList: Array = this.callbackList[eventName] - if (eventList) { - for (let i = eventList.length - 1; i >= 0; i--) { - const event: HaoEvent = eventList[i] - event.callback.call(event.caller, event, parameter, ...restOfName) - if (event.isStop) break - } - for (let i = eventList.length - 1; i >= 0; i--) { - const event: HaoEvent = eventList[i] - event.isStop = false - } - } - } - - public addBtnEvent( - parentNode: Node, - objectNode: Node, - scriptName: string, - eventName: string, - data: any = null, - ) { - const btn: Button = objectNode.addComponent(Button) - const clickEventHandler = new Component.EventHandler() - clickEventHandler.target = parentNode // 这个 node 节点是你的事件处理代码组件所属的节点 - clickEventHandler.component = scriptName // 这个是代码文件名 - clickEventHandler.handler = eventName - clickEventHandler.customEventData = data - btn.clickEvents.push(clickEventHandler) - this.addBtnEffect(objectNode) - } - - public removeBtnEvent(objectNode: Node) { - objectNode.removeComponent(Button) - } - - public removeBtnEffect(objectNode: Node) { - const b = objectNode.getComponent(Button) - b.transition = Button.Transition.NONE - } - - public addBtnEffect(objectNode: Node, scale: number = 1.1) { - const b = objectNode.getComponent(Button) - b.transition = Button.Transition.SCALE - b.zoomScale = scale - } - - public addBtnEffect_color( - objectNode: Node, - normalC: Color = ColorHelper.getColor('#FFFFFF'), - pressC: Color = ColorHelper.getColor('#C0C0C0'), - ) { - const b = objectNode.getComponent(Button) - b.transition = Button.Transition.COLOR - b.normalColor = normalC - b.pressedColor = pressC - } - - public addSliderEvent(parentNode: Node, objectNode: Node, EventName: string, data: any) { - const b = objectNode.getComponent(Slider) - const clickEventHandler = new Component.EventHandler() - clickEventHandler.target = parentNode // 这个 node 节点是你的事件处理代码组件所属的节点 - clickEventHandler.component = parentNode.name // 这个是代码文件名 - clickEventHandler.handler = EventName - clickEventHandler.customEventData = data - b.slideEvents.push(clickEventHandler) - } -} +import { Button, Color, Component, Node, Slider } from 'cc' + +import ColorHelper from './ColorHelper' + +export class HaoEvent { + public callback: Function + public caller: any + public isStop: boolean + + constructor(callback: Function, caller: any) { + this.callback = callback + this.caller = caller + this.isStop = false + } +} + +export default class EventManager { + public static instance: EventManager = new EventManager() + + private callbackList = {} + + public constructor() {} + + // 注册事件 + public addListener(eventName: string, callback: Function, caller: any) { + if (this.callbackList[eventName]) { + const eventList: Array = this.callbackList[eventName] + // 不同元件才放入,相同元件覆蓋 + let add: boolean = true + for (let i = 0; i < eventList.length; i++) { + const event: HaoEvent = eventList[i] + if (caller === event.caller) add = false + } + if (add) { + eventList.push(new HaoEvent(callback, caller)) + this.callbackList[eventName] = eventList + } + } else { + // this.callbackList[eventName] = [[callback, caller]]; + this.callbackList[eventName] = [new HaoEvent(callback, caller)] + } + } + + public removeListener(eventName: string, callback: Function) { + if (this.callbackList[eventName]) { + for (let i = this.callbackList[eventName].length - 1; i >= 0; i--) { + const event: HaoEvent = this.callbackList[eventName][i] + if (event.callback == callback) { + this.callbackList[eventName].splice(i, 1) + break + } + } + } + } + + public dispatchEvent(eventName, parameter?: any, ...restOfName: any[]) { + const eventList: Array = this.callbackList[eventName] + if (eventList) { + for (let i = eventList.length - 1; i >= 0; i--) { + const event: HaoEvent = eventList[i] + event.callback.call(event.caller, event, parameter, ...restOfName) + if (event.isStop) break + } + for (let i = eventList.length - 1; i >= 0; i--) { + const event: HaoEvent = eventList[i] + event.isStop = false + } + } + } + + public addBtnEvent( + parentNode: Node, + objectNode: Node, + scriptName: string, + eventName: string, + data: any = null, + ) { + const btn: Button = objectNode.addComponent(Button) + const clickEventHandler = new Component.EventHandler() + clickEventHandler.target = parentNode // 这个 node 节点是你的事件处理代码组件所属的节点 + clickEventHandler.component = scriptName // 这个是代码文件名 + clickEventHandler.handler = eventName + clickEventHandler.customEventData = data + btn.clickEvents.push(clickEventHandler) + this.addBtnEffect(objectNode) + } + + public removeBtnEvent(objectNode: Node) { + objectNode.removeComponent(Button) + } + + public removeBtnEffect(objectNode: Node) { + const b = objectNode.getComponent(Button) + b.transition = Button.Transition.NONE + } + + public addBtnEffect(objectNode: Node, scale: number = 1.1) { + const b = objectNode.getComponent(Button) + b.transition = Button.Transition.SCALE + b.zoomScale = scale + } + + public addBtnEffect_color( + objectNode: Node, + normalC: Color = ColorHelper.getColor('#FFFFFF'), + pressC: Color = ColorHelper.getColor('#C0C0C0'), + ) { + const b = objectNode.getComponent(Button) + b.transition = Button.Transition.COLOR + b.normalColor = normalC + b.pressedColor = pressC + } + + public addSliderEvent(parentNode: Node, objectNode: Node, EventName: string, data: any) { + const b = objectNode.getComponent(Slider) + const clickEventHandler = new Component.EventHandler() + clickEventHandler.target = parentNode // 这个 node 节点是你的事件处理代码组件所属的节点 + clickEventHandler.component = parentNode.name // 这个是代码文件名 + clickEventHandler.handler = EventName + clickEventHandler.customEventData = data + b.slideEvents.push(clickEventHandler) + } +} diff --git a/assets/FishSingle/script/engine/utils/EventManager.ts.meta b/assets/FishSingle/script/engine/utils/EventManager.ts.meta index a3b5df3..0b09ec3 100644 --- a/assets/FishSingle/script/engine/utils/EventManager.ts.meta +++ b/assets/FishSingle/script/engine/utils/EventManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "b7dbd2a3-1ad1-45b8-8cae-53c431e08789", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "b7dbd2a3-1ad1-45b8-8cae-53c431e08789", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/Grid.ts b/assets/FishSingle/script/engine/utils/Grid.ts index 934f0c8..32f06b1 100644 --- a/assets/FishSingle/script/engine/utils/Grid.ts +++ b/assets/FishSingle/script/engine/utils/Grid.ts @@ -1,13 +1,13 @@ -export default class Grid { - public row: number - public col: number - - constructor(row: number, col: number) { - this.row = row - this.col = col - } - - public static init(row: number, col: number) { - return new Grid(row, col) - } -} +export default class Grid { + public row: number + public col: number + + constructor(row: number, col: number) { + this.row = row + this.col = col + } + + public static init(row: number, col: number) { + return new Grid(row, col) + } +} diff --git a/assets/FishSingle/script/engine/utils/Grid.ts.meta b/assets/FishSingle/script/engine/utils/Grid.ts.meta index 21804d1..297cae8 100644 --- a/assets/FishSingle/script/engine/utils/Grid.ts.meta +++ b/assets/FishSingle/script/engine/utils/Grid.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "696c7042-c332-4a1a-a7f8-a898e63b35b4", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "696c7042-c332-4a1a-a7f8-a898e63b35b4", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/HaoEncrypt.ts b/assets/FishSingle/script/engine/utils/HaoEncrypt.ts index c291d00..0229f24 100644 --- a/assets/FishSingle/script/engine/utils/HaoEncrypt.ts +++ b/assets/FishSingle/script/engine/utils/HaoEncrypt.ts @@ -1,26 +1,26 @@ -export default class HaoEncrypt { - public static encode(str: string) { - let result: string = '' - for (let i = 0; i < str.length; i++) { - // 遍历字符串 - let code: number = str.charCodeAt(i) // //逐个提取每个字符,并获取Unicode编码值 - if (i % 2 === 0) code += 2 - else code += 1 - - result += String.fromCharCode(code) - } - return result - } - - public static decode(str: string) { - let result: string = '' - for (let i = 0; i < str.length; i++) { - // 遍历字符串 - let code: number = str.charCodeAt(i) // //逐个提取每个字符,并获取Unicode编码值 - if (i % 2 === 0) code -= 2 - else code -= 1 - result += String.fromCharCode(code) - } - return result - } -} +export default class HaoEncrypt { + public static encode(str: string) { + let result: string = '' + for (let i = 0; i < str.length; i++) { + // 遍历字符串 + let code: number = str.charCodeAt(i) // //逐个提取每个字符,并获取Unicode编码值 + if (i % 2 === 0) code += 2 + else code += 1 + + result += String.fromCharCode(code) + } + return result + } + + public static decode(str: string) { + let result: string = '' + for (let i = 0; i < str.length; i++) { + // 遍历字符串 + let code: number = str.charCodeAt(i) // //逐个提取每个字符,并获取Unicode编码值 + if (i % 2 === 0) code -= 2 + else code -= 1 + result += String.fromCharCode(code) + } + return result + } +} diff --git a/assets/FishSingle/script/engine/utils/HaoEncrypt.ts.meta b/assets/FishSingle/script/engine/utils/HaoEncrypt.ts.meta index f5da020..ffc2392 100644 --- a/assets/FishSingle/script/engine/utils/HaoEncrypt.ts.meta +++ b/assets/FishSingle/script/engine/utils/HaoEncrypt.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "87a63258-3b93-48f6-945d-5bfd9959bb70", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "87a63258-3b93-48f6-945d-5bfd9959bb70", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/HotUpdate.ts b/assets/FishSingle/script/engine/utils/HotUpdate.ts index 437ab65..bd242bc 100644 --- a/assets/FishSingle/script/engine/utils/HotUpdate.ts +++ b/assets/FishSingle/script/engine/utils/HotUpdate.ts @@ -1,257 +1,257 @@ -import { native, sys } from 'cc' - -import ManifestConfig from '../config/ManifestConfig' - -import CommonTips from '../uicomponent/CommonTips' - -import EventManager from './EventManager' -import { Logger } from './Logger' -import VersionManager from './VersionManager' - -export default class HotUpdate { - public static Event_CheckUpdate: string = 'Event_CheckUpdate' - public static Event_On_Progress: string = 'HotUpdate_Event_On_Progress' - public static Event_On_NeedUpdate: string = 'HotUpdate_Event_On_NeedUpdate' - public static Event_Finish_Update: string = 'HotUpdate_Event_Finish' - public static Event_On_ALREADY_UP_TO_DATE: string = 'HotUpdate_Event_On_ALREADY_UP_TO_DATE' - public static Event_On_Fail_Update: string = 'HotUpdate_Event_On_Fail_Update' - private _am: any - private _checkListener: null - private storagePath: string - private manifestUrl: string - private localBigVersion: number - private remoteBigVersion: number - public needUpdate: boolean = false - public isUpdating: boolean - public isFinishUpdate: boolean - public isCheck: boolean - private key: string - private hotupdateIndex: number - - constructor() {} - - public init(index: number, key: string = 'Code-remote-asset', manifestUrl: string) { - if (sys.isNative) { - this.hotupdateIndex = index - this.key = key - this.manifestUrl = manifestUrl - this.storagePath = '获取this.storagePath报错了' - - Logger.log(this, 'init removeDirectory=', `${this.storagePath}_temp`) - } - this.needUpdate = false - this.isUpdating = false - this.isFinishUpdate = false - this.isCheck = false - } - - private jumpToPack() { - let url: string - if (sys.isNative) { - if (sys.os === sys.OS.ANDROID) url = VersionManager.instance.apkStoreUrl - else if (sys.os === sys.OS.IOS) url = VersionManager.instance.iosStoreUrl - } - Logger.info(this, 'jumpToPack==androidurl===', VersionManager.instance.apkStoreUrl) - Logger.info(this, 'jumpToPack==iosStoreUrl===', VersionManager.instance.iosStoreUrl) - Logger.info(this, 'jumpToPack=====', url) - sys.openURL(url) - // cc.game.end(); - } - - // 显示强制更新,即更细包面板 - private showPackUpdateDialog() { - CommonTips.showMsg('有新的版本需要更新,下载后请先卸载,以前的版本,再安装!') - this.jumpToPack() - this.showPackUpdateDialog() - } - - private checkCb(event: any) { - Logger.log(this, `checkCb Code: =================${event.getEventCode()}`) - switch (event.getEventCode()) { - case native.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: - Logger.info(this, 'No local manifest file found, hot update skipped.') - this.failUpdate() - break - case native.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: - case native.EventAssetsManager.ERROR_PARSE_MANIFEST: - Logger.info(this, 'Fail to download manifest file, hot update skipped.') - this.failUpdate() - break - case native.EventAssetsManager.ALREADY_UP_TO_DATE: - Logger.info(this, 'Already up to date with the latest remote version.') - this.alreadyUpToDate() - break - case native.EventAssetsManager.NEW_VERSION_FOUND: - Logger.info( - this, - 'new version found, please try to update.', - this.localBigVersion, - this.remoteBigVersion, - ) - if ( - this.key === VersionManager.Config_Key[0] && - this.localBigVersion < this.remoteBigVersion - ) { - // 更新大版本 - Logger.info( - this, - 'new version found, please try to update======packupdate=', - this.localBigVersion, - this.remoteBigVersion, - ) - this.showPackUpdateDialog() - } else { - Logger.info( - this, - 'new version found, please try to update======hotupdate=', - this.localBigVersion, - this.remoteBigVersion, - ) - // this._am.update(); - this.needUpdate = true - EventManager.instance.dispatchEvent(HotUpdate.Event_On_NeedUpdate, this.key) - } - break - case native.EventAssetsManager.UPDATE_PROGRESSION: - // var currentPercent = event.getPercent(); - // var totalPercent = event.getPercentByFile(); - // var fileprocess = event.getDownloadedFiles() + ' / ' + event.getTotalFiles(); - // var byteprocess = event.getDownloadedBytes() + ' / ' + event.getTotalBytes(); - Logger.info( - this, - 'UPDATE_PROGRESSION2222==========', - this.key, - event.getDownloadedBytes(), - event.getTotalBytes(), - ) - if (event.getTotalBytes() > 0) { - EventManager.instance.dispatchEvent( - HotUpdate.Event_On_Progress, - event.getDownloadedBytes(), - event.getTotalBytes(), - this.key, - ) - } - break - case native.EventAssetsManager.UPDATE_FINISHED: - Logger.info(this, 'UPDATE_FINISHED==============') - this.finishUpdate(true) - break - case native.EventAssetsManager.UPDATE_FAILED: - Logger.warn(this, 'Update failed==========', event.getMessage()) - this.failUpdate() - break - case native.EventAssetsManager.ERROR_UPDATING: - const fullFilePath: string = `${this.storagePath}/${event.getAssetId()}` - const tempFilePath: string = `${this.storagePath}_temp/${event.getAssetId()}` - Logger.warn(this, 'fullFilePath====', fullFilePath) - Logger.warn(this, 'tempFilePath====', tempFilePath) - // jsb.fileUtils.removeFile(tempFilePath); - Logger.warn(this, 'ERROR_UPDATING=============', event.getAssetId(), event.getMessage()) - this.failUpdate() - break - default: - // this.failUpdate(); - } - } - - public checkUpdate() { - if (this.isUpdating || this.isCheck) { - Logger.log(this, 'Checking or updating ...') - return - } - const hotupdateUrlKey: string = VersionManager.Config_Url_Key[this.hotupdateIndex] - Logger.log(this, 'checkoutUpdate=====', this.manifestUrl, hotupdateUrlKey) - if (!this._am) { - this._am = new native.AssetsManager( - '', - this.storagePath, - this.versionCompareHandle.bind(this), - ) - } - // this._am.setMaxConcurrentTask(1); - const manifestStr: string = ManifestConfig.getManifestStr(hotupdateUrlKey) - Logger.log(this, 'checkUpdate=======manifestStr=======', manifestStr) - const manifest = new native.Manifest(manifestStr, this.storagePath) - this._am.setVerifyCallback((filePath, asset) => { - return true - // var md5 = calculateMD5(filePath); - // if (md5 === asset.md5) - // return true; - // else - // return false; - }) - this._am.setEventCallback(this.checkCb.bind(this)) - // 设置事件回调 - this.isCheck = true - this._am.loadLocalManifest(manifest, this.storagePath) - this._am.checkUpdate() - } - - /** - * @param versionA 本地版本 1.0.0 - * @param versionB 服务器版本 1.0.1 - */ - private versionCompareHandle(versionA: string, versionB: string) { - const vA = versionA.split('.') - const vB = versionB.split('.') - Logger.log(this, 'versionCompareHandle======', this.key, VersionManager.Config_Key[0]) - if (this.key === VersionManager.Config_Key[0]) { - Logger.log(this, 'versionCompareHandle22===', versionA, versionB) - VersionManager.instance.nowVersion = versionA - VersionManager.instance.targetVersion = versionB - } - this.localBigVersion = Number.parseInt(vA[0]) - this.remoteBigVersion = Number.parseInt(vB[0]) - for (let i = 0; i < vA.length; ++i) { - const a = Number.parseInt(vA[i]) - const b = Number.parseInt(vB[i] || '0') - if (a !== b) return a - b - } - if (vB.length > vA.length) return -1 - else return 0 - } - - public startUpdate() { - if (this.isUpdating) return - const localManifest = this._am.getLocalManifest() - const remoteManifest = this._am.getRemoteManifest() - Logger.log(this, 'startUpdate111===', localManifest.getVersionFileUrl()) - Logger.log(this, 'startUpdate2222===', localManifest.getManifestFileUrl()) - Logger.log(this, 'startUpdate3333===', remoteManifest.getVersionFileUrl()) - Logger.log(this, 'startUpdate4444===', remoteManifest.getManifestFileUrl()) - this.isUpdating = true - EventManager.instance.dispatchEvent(HotUpdate.Event_On_Progress, 0, 100, this.key) - this._am.update() - } - - public disposeUpdate() { - if (this._am) { - this._am.setVerifyCallback(null) - this._am.setEventCallback(null) - } - this._am = null - this._checkListener = null - this.isUpdating = false - this.needUpdate = false - } - - private failUpdate() { - this.disposeUpdate() - this.isCheck = false - EventManager.instance.dispatchEvent(HotUpdate.Event_On_Fail_Update, this.key) - } - - private alreadyUpToDate() { - this.disposeUpdate() - this.isFinishUpdate = true - EventManager.instance.dispatchEvent(HotUpdate.Event_On_ALREADY_UP_TO_DATE, this.key) - } - - private finishUpdate(needRestart: boolean) { - Logger.info(this, '更新完成=====', needRestart) - this.disposeUpdate() - this.isFinishUpdate = true - EventManager.instance.dispatchEvent(HotUpdate.Event_Finish_Update, this.key, needRestart) - } -} +import { native, sys } from 'cc' + +import ManifestConfig from '../config/ManifestConfig' + +import CommonTips from '../uicomponent/CommonTips' + +import EventManager from './EventManager' +import { Logger } from './Logger' +import VersionManager from './VersionManager' + +export default class HotUpdate { + public static Event_CheckUpdate: string = 'Event_CheckUpdate' + public static Event_On_Progress: string = 'HotUpdate_Event_On_Progress' + public static Event_On_NeedUpdate: string = 'HotUpdate_Event_On_NeedUpdate' + public static Event_Finish_Update: string = 'HotUpdate_Event_Finish' + public static Event_On_ALREADY_UP_TO_DATE: string = 'HotUpdate_Event_On_ALREADY_UP_TO_DATE' + public static Event_On_Fail_Update: string = 'HotUpdate_Event_On_Fail_Update' + private _am: any + private _checkListener: null + private storagePath: string + private manifestUrl: string + private localBigVersion: number + private remoteBigVersion: number + public needUpdate: boolean = false + public isUpdating: boolean + public isFinishUpdate: boolean + public isCheck: boolean + private key: string + private hotupdateIndex: number + + constructor() {} + + public init(index: number, key: string = 'Code-remote-asset', manifestUrl: string) { + if (sys.isNative) { + this.hotupdateIndex = index + this.key = key + this.manifestUrl = manifestUrl + this.storagePath = '获取this.storagePath报错了' + + Logger.log(this, 'init removeDirectory=', `${this.storagePath}_temp`) + } + this.needUpdate = false + this.isUpdating = false + this.isFinishUpdate = false + this.isCheck = false + } + + private jumpToPack() { + let url: string + if (sys.isNative) { + if (sys.os === sys.OS.ANDROID) url = VersionManager.instance.apkStoreUrl + else if (sys.os === sys.OS.IOS) url = VersionManager.instance.iosStoreUrl + } + Logger.info(this, 'jumpToPack==androidurl===', VersionManager.instance.apkStoreUrl) + Logger.info(this, 'jumpToPack==iosStoreUrl===', VersionManager.instance.iosStoreUrl) + Logger.info(this, 'jumpToPack=====', url) + sys.openURL(url) + // cc.game.end(); + } + + // 显示强制更新,即更细包面板 + private showPackUpdateDialog() { + CommonTips.showMsg('有新的版本需要更新,下载后请先卸载,以前的版本,再安装!') + this.jumpToPack() + this.showPackUpdateDialog() + } + + private checkCb(event: any) { + Logger.log(this, `checkCb Code: =================${event.getEventCode()}`) + switch (event.getEventCode()) { + case native.EventAssetsManager.ERROR_NO_LOCAL_MANIFEST: + Logger.info(this, 'No local manifest file found, hot update skipped.') + this.failUpdate() + break + case native.EventAssetsManager.ERROR_DOWNLOAD_MANIFEST: + case native.EventAssetsManager.ERROR_PARSE_MANIFEST: + Logger.info(this, 'Fail to download manifest file, hot update skipped.') + this.failUpdate() + break + case native.EventAssetsManager.ALREADY_UP_TO_DATE: + Logger.info(this, 'Already up to date with the latest remote version.') + this.alreadyUpToDate() + break + case native.EventAssetsManager.NEW_VERSION_FOUND: + Logger.info( + this, + 'new version found, please try to update.', + this.localBigVersion, + this.remoteBigVersion, + ) + if ( + this.key === VersionManager.Config_Key[0] && + this.localBigVersion < this.remoteBigVersion + ) { + // 更新大版本 + Logger.info( + this, + 'new version found, please try to update======packupdate=', + this.localBigVersion, + this.remoteBigVersion, + ) + this.showPackUpdateDialog() + } else { + Logger.info( + this, + 'new version found, please try to update======hotupdate=', + this.localBigVersion, + this.remoteBigVersion, + ) + // this._am.update(); + this.needUpdate = true + EventManager.instance.dispatchEvent(HotUpdate.Event_On_NeedUpdate, this.key) + } + break + case native.EventAssetsManager.UPDATE_PROGRESSION: + // var currentPercent = event.getPercent(); + // var totalPercent = event.getPercentByFile(); + // var fileprocess = event.getDownloadedFiles() + ' / ' + event.getTotalFiles(); + // var byteprocess = event.getDownloadedBytes() + ' / ' + event.getTotalBytes(); + Logger.info( + this, + 'UPDATE_PROGRESSION2222==========', + this.key, + event.getDownloadedBytes(), + event.getTotalBytes(), + ) + if (event.getTotalBytes() > 0) { + EventManager.instance.dispatchEvent( + HotUpdate.Event_On_Progress, + event.getDownloadedBytes(), + event.getTotalBytes(), + this.key, + ) + } + break + case native.EventAssetsManager.UPDATE_FINISHED: + Logger.info(this, 'UPDATE_FINISHED==============') + this.finishUpdate(true) + break + case native.EventAssetsManager.UPDATE_FAILED: + Logger.warn(this, 'Update failed==========', event.getMessage()) + this.failUpdate() + break + case native.EventAssetsManager.ERROR_UPDATING: + const fullFilePath: string = `${this.storagePath}/${event.getAssetId()}` + const tempFilePath: string = `${this.storagePath}_temp/${event.getAssetId()}` + Logger.warn(this, 'fullFilePath====', fullFilePath) + Logger.warn(this, 'tempFilePath====', tempFilePath) + // jsb.fileUtils.removeFile(tempFilePath); + Logger.warn(this, 'ERROR_UPDATING=============', event.getAssetId(), event.getMessage()) + this.failUpdate() + break + default: + // this.failUpdate(); + } + } + + public checkUpdate() { + if (this.isUpdating || this.isCheck) { + Logger.log(this, 'Checking or updating ...') + return + } + const hotupdateUrlKey: string = VersionManager.Config_Url_Key[this.hotupdateIndex] + Logger.log(this, 'checkoutUpdate=====', this.manifestUrl, hotupdateUrlKey) + if (!this._am) { + this._am = new native.AssetsManager( + '', + this.storagePath, + this.versionCompareHandle.bind(this), + ) + } + // this._am.setMaxConcurrentTask(1); + const manifestStr: string = ManifestConfig.getManifestStr(hotupdateUrlKey) + Logger.log(this, 'checkUpdate=======manifestStr=======', manifestStr) + const manifest = new native.Manifest(manifestStr, this.storagePath) + this._am.setVerifyCallback((filePath, asset) => { + return true + // var md5 = calculateMD5(filePath); + // if (md5 === asset.md5) + // return true; + // else + // return false; + }) + this._am.setEventCallback(this.checkCb.bind(this)) + // 设置事件回调 + this.isCheck = true + this._am.loadLocalManifest(manifest, this.storagePath) + this._am.checkUpdate() + } + + /** + * @param versionA 本地版本 1.0.0 + * @param versionB 服务器版本 1.0.1 + */ + private versionCompareHandle(versionA: string, versionB: string) { + const vA = versionA.split('.') + const vB = versionB.split('.') + Logger.log(this, 'versionCompareHandle======', this.key, VersionManager.Config_Key[0]) + if (this.key === VersionManager.Config_Key[0]) { + Logger.log(this, 'versionCompareHandle22===', versionA, versionB) + VersionManager.instance.nowVersion = versionA + VersionManager.instance.targetVersion = versionB + } + this.localBigVersion = Number.parseInt(vA[0]) + this.remoteBigVersion = Number.parseInt(vB[0]) + for (let i = 0; i < vA.length; ++i) { + const a = Number.parseInt(vA[i]) + const b = Number.parseInt(vB[i] || '0') + if (a !== b) return a - b + } + if (vB.length > vA.length) return -1 + else return 0 + } + + public startUpdate() { + if (this.isUpdating) return + const localManifest = this._am.getLocalManifest() + const remoteManifest = this._am.getRemoteManifest() + Logger.log(this, 'startUpdate111===', localManifest.getVersionFileUrl()) + Logger.log(this, 'startUpdate2222===', localManifest.getManifestFileUrl()) + Logger.log(this, 'startUpdate3333===', remoteManifest.getVersionFileUrl()) + Logger.log(this, 'startUpdate4444===', remoteManifest.getManifestFileUrl()) + this.isUpdating = true + EventManager.instance.dispatchEvent(HotUpdate.Event_On_Progress, 0, 100, this.key) + this._am.update() + } + + public disposeUpdate() { + if (this._am) { + this._am.setVerifyCallback(null) + this._am.setEventCallback(null) + } + this._am = null + this._checkListener = null + this.isUpdating = false + this.needUpdate = false + } + + private failUpdate() { + this.disposeUpdate() + this.isCheck = false + EventManager.instance.dispatchEvent(HotUpdate.Event_On_Fail_Update, this.key) + } + + private alreadyUpToDate() { + this.disposeUpdate() + this.isFinishUpdate = true + EventManager.instance.dispatchEvent(HotUpdate.Event_On_ALREADY_UP_TO_DATE, this.key) + } + + private finishUpdate(needRestart: boolean) { + Logger.info(this, '更新完成=====', needRestart) + this.disposeUpdate() + this.isFinishUpdate = true + EventManager.instance.dispatchEvent(HotUpdate.Event_Finish_Update, this.key, needRestart) + } +} diff --git a/assets/FishSingle/script/engine/utils/HotUpdate.ts.meta b/assets/FishSingle/script/engine/utils/HotUpdate.ts.meta index 796c396..f68c303 100644 --- a/assets/FishSingle/script/engine/utils/HotUpdate.ts.meta +++ b/assets/FishSingle/script/engine/utils/HotUpdate.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "a0006bd3-77dc-49ae-991e-77aa5a70f4a6", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "a0006bd3-77dc-49ae-991e-77aa5a70f4a6", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/HttpClient.ts b/assets/FishSingle/script/engine/utils/HttpClient.ts index 233ffcc..d78e7e5 100644 --- a/assets/FishSingle/script/engine/utils/HttpClient.ts +++ b/assets/FishSingle/script/engine/utils/HttpClient.ts @@ -1,130 +1,130 @@ -import { _decorator } from 'cc' - -import { Logger } from './Logger' - -const { ccclass } = _decorator - -@ccclass('HttpClient') -export default class HttpClient { - public static instance: HttpClient // = new HttpClient(); - - // example - // HttpClient.instance.request("http://localhost:8080/haohttp/test", ()=>{ - // console.log("http 请求 end============="); - // }, {"nickName":"jhao", "hh":1, "id":9527}); - - private methodType: string = 'GET' - - private responseType: XMLHttpRequestResponseType = 'json' - - private xhr: XMLHttpRequest - - // --GET or POST - public setMethod(method: string = 'GET') { - this.methodType = method - } - - public setParams(paramsObj: object): string { - let resParams = '' - let nowIndex = 1 - for (const key in paramsObj) { - if (Object.prototype.hasOwnProperty.call(paramsObj, key)) { - if (nowIndex === 1) resParams += `${key}=${paramsObj[key]}` - else resParams += `&${key}=${paramsObj[key]}` - - nowIndex += 1 - } - } - Logger.log(this, 'resParam===============', resParams) - return resParams - } - - public setResponseType(responseType: XMLHttpRequestResponseType) { - this.responseType = responseType - } - - public setContentType() {} - - public request(url: string, callback: Function, params: any = null, timeOut: number = 5 * 1000) { - if (params && this.methodType === 'GET') { - let getParams: string = this.setParams(params) - // getParams = StringUtil:encodeURI(params) - getParams = encodeURI(getParams) - url += `?${getParams}` - } - this.xhr = new XMLHttpRequest() // http请求 fget - // this.xhr = cc.loader.getXMLHttpRequest(); - const xhr: XMLHttpRequest = this.xhr - xhr.responseType = this.responseType - xhr.timeout = timeOut - // xhr.setRequestHeader("Content-Type", "text/plain"); - xhr.onreadystatechange = () => { - Logger.log(this, 'status======', xhr.status, xhr.readyState, xhr.statusText) - // if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) { - if (xhr.readyState === 4 && xhr.status === 200) { - const response = xhr.response - Logger.log(this, 'http response1============', xhr) - try { - const testJson = JSON.stringify(response) - Logger.log(this, 'http response json============', testJson) - if (callback) { - callback(true, response) - callback = null - } - } catch (error) { - Logger.error(this, 'http response json=====error=======', error) - if (callback) { - callback(false) - callback = null - } - } - } else if (xhr.readyState === 4 && xhr.status === 301) { - // 域名转移 - Logger.log(this, 'http response222============', xhr.getResponseHeader('Location')) - // console.log("http response333============", xhr.getAllResponseHeaders()); - if (HttpClient.instance == null) HttpClient.instance = new HttpClient() - HttpClient.instance.request(xhr.getResponseHeader('Location'), callback) - } else if (xhr.readyState === 4 && xhr.status === 404) { - Logger.log(this, 'http onError============') - if (callback) { - callback(false) - callback = null - } - } else { - Logger.log(this, 'onreadystatechange else====', xhr.status, xhr.readyState, xhr.response) - if (xhr.readyState === 4) { - Logger.log(this, 'http onError else============') - if (callback) { - callback(false) - callback = null - } - } - } - } - xhr.onprogress = () => { - Logger.log(this, 'http onprogress===', xhr.status, xhr.readyState, xhr.response) - } - xhr.onerror = () => { - Logger.log(this, 'http onError============') - if (callback) { - callback(false) - callback = null - } - } - xhr.ontimeout = () => { - Logger.log(this, 'http ontimeout============') - if (callback) { - callback(false) - callback = null - } - } - Logger.log(this, 'http request==============', url) - Logger.log(this, 'http request======method========', this.methodType) - Logger.log(this, 'http request======params========', params) - xhr.open(this.methodType, url, true) - xhr.setRequestHeader('content-type', 'text/plain;charset=UTF-8') - xhr.send(params) - } - - public getInfo(callback: Function = null) {} -} +import { _decorator } from 'cc' + +import { Logger } from './Logger' + +const { ccclass } = _decorator + +@ccclass('HttpClient') +export default class HttpClient { + public static instance: HttpClient // = new HttpClient(); + + // example + // HttpClient.instance.request("http://localhost:8080/haohttp/test", ()=>{ + // console.log("http 请求 end============="); + // }, {"nickName":"jhao", "hh":1, "id":9527}); + + private methodType: string = 'GET' + + private responseType: XMLHttpRequestResponseType = 'json' + + private xhr: XMLHttpRequest + + // --GET or POST + public setMethod(method: string = 'GET') { + this.methodType = method + } + + public setParams(paramsObj: object): string { + let resParams = '' + let nowIndex = 1 + for (const key in paramsObj) { + if (Object.prototype.hasOwnProperty.call(paramsObj, key)) { + if (nowIndex === 1) resParams += `${key}=${paramsObj[key]}` + else resParams += `&${key}=${paramsObj[key]}` + + nowIndex += 1 + } + } + Logger.log(this, 'resParam===============', resParams) + return resParams + } + + public setResponseType(responseType: XMLHttpRequestResponseType) { + this.responseType = responseType + } + + public setContentType() {} + + public request(url: string, callback: Function, params: any = null, timeOut: number = 5 * 1000) { + if (params && this.methodType === 'GET') { + let getParams: string = this.setParams(params) + // getParams = StringUtil:encodeURI(params) + getParams = encodeURI(getParams) + url += `?${getParams}` + } + this.xhr = new XMLHttpRequest() // http请求 fget + // this.xhr = cc.loader.getXMLHttpRequest(); + const xhr: XMLHttpRequest = this.xhr + xhr.responseType = this.responseType + xhr.timeout = timeOut + // xhr.setRequestHeader("Content-Type", "text/plain"); + xhr.onreadystatechange = () => { + Logger.log(this, 'status======', xhr.status, xhr.readyState, xhr.statusText) + // if (xhr.readyState == 4 && (xhr.status >= 200 && xhr.status < 400)) { + if (xhr.readyState === 4 && xhr.status === 200) { + const response = xhr.response + Logger.log(this, 'http response1============', xhr) + try { + const testJson = JSON.stringify(response) + Logger.log(this, 'http response json============', testJson) + if (callback) { + callback(true, response) + callback = null + } + } catch (error) { + Logger.error(this, 'http response json=====error=======', error) + if (callback) { + callback(false) + callback = null + } + } + } else if (xhr.readyState === 4 && xhr.status === 301) { + // 域名转移 + Logger.log(this, 'http response222============', xhr.getResponseHeader('Location')) + // console.log("http response333============", xhr.getAllResponseHeaders()); + if (HttpClient.instance == null) HttpClient.instance = new HttpClient() + HttpClient.instance.request(xhr.getResponseHeader('Location'), callback) + } else if (xhr.readyState === 4 && xhr.status === 404) { + Logger.log(this, 'http onError============') + if (callback) { + callback(false) + callback = null + } + } else { + Logger.log(this, 'onreadystatechange else====', xhr.status, xhr.readyState, xhr.response) + if (xhr.readyState === 4) { + Logger.log(this, 'http onError else============') + if (callback) { + callback(false) + callback = null + } + } + } + } + xhr.onprogress = () => { + Logger.log(this, 'http onprogress===', xhr.status, xhr.readyState, xhr.response) + } + xhr.onerror = () => { + Logger.log(this, 'http onError============') + if (callback) { + callback(false) + callback = null + } + } + xhr.ontimeout = () => { + Logger.log(this, 'http ontimeout============') + if (callback) { + callback(false) + callback = null + } + } + Logger.log(this, 'http request==============', url) + Logger.log(this, 'http request======method========', this.methodType) + Logger.log(this, 'http request======params========', params) + xhr.open(this.methodType, url, true) + xhr.setRequestHeader('content-type', 'text/plain;charset=UTF-8') + xhr.send(params) + } + + public getInfo(callback: Function = null) {} +} diff --git a/assets/FishSingle/script/engine/utils/HttpClient.ts.meta b/assets/FishSingle/script/engine/utils/HttpClient.ts.meta index fad74b9..7e8b557 100644 --- a/assets/FishSingle/script/engine/utils/HttpClient.ts.meta +++ b/assets/FishSingle/script/engine/utils/HttpClient.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "97dba6a3-a0b7-42ef-9abc-de779e8bd220", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "97dba6a3-a0b7-42ef-9abc-de779e8bd220", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/LocalStorage.ts b/assets/FishSingle/script/engine/utils/LocalStorage.ts index 6fba224..34c50e1 100644 --- a/assets/FishSingle/script/engine/utils/LocalStorage.ts +++ b/assets/FishSingle/script/engine/utils/LocalStorage.ts @@ -1,55 +1,55 @@ -import { sys } from 'cc' - -export default class LocalStorage { - public static GamePreFlag: string = 'fengshen-game-HaoLocalStorage' - - public static setItem(key: string, value: string): void { - sys.localStorage.setItem(LocalStorage.GamePreFlag + key, value) - } - - public static getItem(key: string): string { - return sys.localStorage.getItem(LocalStorage.GamePreFlag + key) - } - - public static removeItem(key: string): void { - sys.localStorage.removeItem(LocalStorage.GamePreFlag + key) - } - - public static getInt(key: string): number { - const tempValue: string = LocalStorage.getItem(key) - let result: number = 0 - if (tempValue) result = Number.parseInt(tempValue) - - return result - } - - public static setInt(key: string, value: number): void { - LocalStorage.setItem(key, value.toString()) - } - - public static getFloat(key: string): number { - const tempValue: string = LocalStorage.getItem(key) - let result: number = 0 - if (tempValue) result = Number.parseFloat(tempValue) - - return result - } - - public static setFloat(key: string, value: number): void { - LocalStorage.setItem(key, value.toString()) - } - - public static getBoolean(key: string): boolean { - const temp: number = LocalStorage.getInt(key) - return temp === 1 - } - - public static setBoolean(key: string, value: boolean) { - if (value) LocalStorage.setInt(key, 1) - else LocalStorage.setInt(key, 0) - } - - public static clear() { - sys.localStorage.clear() - } -} +import { sys } from 'cc' + +export default class LocalStorage { + public static GamePreFlag: string = 'fengshen-game-HaoLocalStorage' + + public static setItem(key: string, value: string): void { + sys.localStorage.setItem(LocalStorage.GamePreFlag + key, value) + } + + public static getItem(key: string): string { + return sys.localStorage.getItem(LocalStorage.GamePreFlag + key) + } + + public static removeItem(key: string): void { + sys.localStorage.removeItem(LocalStorage.GamePreFlag + key) + } + + public static getInt(key: string): number { + const tempValue: string = LocalStorage.getItem(key) + let result: number = 0 + if (tempValue) result = Number.parseInt(tempValue) + + return result + } + + public static setInt(key: string, value: number): void { + LocalStorage.setItem(key, value.toString()) + } + + public static getFloat(key: string): number { + const tempValue: string = LocalStorage.getItem(key) + let result: number = 0 + if (tempValue) result = Number.parseFloat(tempValue) + + return result + } + + public static setFloat(key: string, value: number): void { + LocalStorage.setItem(key, value.toString()) + } + + public static getBoolean(key: string): boolean { + const temp: number = LocalStorage.getInt(key) + return temp === 1 + } + + public static setBoolean(key: string, value: boolean) { + if (value) LocalStorage.setInt(key, 1) + else LocalStorage.setInt(key, 0) + } + + public static clear() { + sys.localStorage.clear() + } +} diff --git a/assets/FishSingle/script/engine/utils/LocalStorage.ts.meta b/assets/FishSingle/script/engine/utils/LocalStorage.ts.meta index 90e78f2..5bf4337 100644 --- a/assets/FishSingle/script/engine/utils/LocalStorage.ts.meta +++ b/assets/FishSingle/script/engine/utils/LocalStorage.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "6ac377cd-dfa3-4928-ae69-ae600d9aabb1", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "6ac377cd-dfa3-4928-ae69-ae600d9aabb1", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/Logger.ts b/assets/FishSingle/script/engine/utils/Logger.ts index 6976eb0..b1466c0 100644 --- a/assets/FishSingle/script/engine/utils/Logger.ts +++ b/assets/FishSingle/script/engine/utils/Logger.ts @@ -1,86 +1,86 @@ -class LOG_LEVEL_TYPES { - public static DEBUG = 0 - public static LOG = 1 - public static INFO = 2 - public static WARN = 3 - public static ERROR = 4 -} - -const Log_Level_Names: Array = ['debug', 'log', 'info', 'warn', 'error'] - -export class Logger { - public static tag: string = '[HaoJslog]' // 可以设置当前游戏的前缀 - public static LEVEL: number = LOG_LEVEL_TYPES.WARN // 当前Logger等级 - public static Log_Color_Config: Array = [ - 'color:#890;font-size:10px;', - 'color:#000;font-size:11px;', - 'color:#09f;font-size:12px;', - 'color:#f90;font-size:13px;', - 'color:#f00;font-size:15px;', - ] - - private static Terminal_Log: boolean = false - - public static formatNow() { - const date: Date = new Date() // 后端返回的时间戳是秒 - return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}` - } - - private static getLogPreKey(nowLevel: number): string { - return `[${Logger.formatNow()}] ${Logger.tag} [${Log_Level_Names[nowLevel]}] ` - } - - public static debug(...params: any) { - if (Logger.LEVEL > LOG_LEVEL_TYPES.DEBUG) - return - - const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.DEBUG) - const fileStr: string = str + params.join(' ') - // LogErrorFileUtil.debug(fileStr); - if (this.Terminal_Log) - console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) - else console.info(fileStr) - } - - public static log(...params: any) { - if (Logger.LEVEL > LOG_LEVEL_TYPES.LOG) - return - - const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.LOG) - const fileStr: string = str + params.join(' ') - // LogErrorFileUtil.log(fileStr); - if (this.Terminal_Log) - console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) - else console.info(fileStr) // console.log(str, ...params) - } - - public static info(...params: any) { - if (Logger.LEVEL > LOG_LEVEL_TYPES.INFO) return - const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.INFO) - const fileStr: string = str + params.join(' ') - if (this.Terminal_Log) - console.info(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) - else console.info(fileStr) - } - - public static warn(...params: any) { - if (Logger.LEVEL > LOG_LEVEL_TYPES.WARN) - return - - const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.WARN) - const fileStr: string = str + params.join(' ') - if (this.Terminal_Log) - console.warn(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) - else console.warn(fileStr) - } - - public static error(...params: any) { - if (Logger.LEVEL > LOG_LEVEL_TYPES.ERROR) return - - const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.ERROR) - const fileStr: string = str + params.join(' ') - if (this.Terminal_Log) - console.error(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) - else console.error(fileStr) - } -} +class LOG_LEVEL_TYPES { + public static DEBUG = 0 + public static LOG = 1 + public static INFO = 2 + public static WARN = 3 + public static ERROR = 4 +} + +const Log_Level_Names: Array = ['debug', 'log', 'info', 'warn', 'error'] + +export class Logger { + public static tag: string = '[HaoJslog]' // 可以设置当前游戏的前缀 + public static LEVEL: number = LOG_LEVEL_TYPES.WARN // 当前Logger等级 + public static Log_Color_Config: Array = [ + 'color:#890;font-size:10px;', + 'color:#000;font-size:11px;', + 'color:#09f;font-size:12px;', + 'color:#f90;font-size:13px;', + 'color:#f00;font-size:15px;', + ] + + private static Terminal_Log: boolean = false + + public static formatNow() { + const date: Date = new Date() // 后端返回的时间戳是秒 + return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()} ${date.getHours()}:${date.getMinutes()}:${date.getSeconds()}:${date.getMilliseconds()}` + } + + private static getLogPreKey(nowLevel: number): string { + return `[${Logger.formatNow()}] ${Logger.tag} [${Log_Level_Names[nowLevel]}] ` + } + + public static debug(...params: any) { + if (Logger.LEVEL > LOG_LEVEL_TYPES.DEBUG) + return + + const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.DEBUG) + const fileStr: string = str + params.join(' ') + // LogErrorFileUtil.debug(fileStr); + if (this.Terminal_Log) + console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) + else console.info(fileStr) + } + + public static log(...params: any) { + if (Logger.LEVEL > LOG_LEVEL_TYPES.LOG) + return + + const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.LOG) + const fileStr: string = str + params.join(' ') + // LogErrorFileUtil.log(fileStr); + if (this.Terminal_Log) + console.log(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) + else console.info(fileStr) // console.log(str, ...params) + } + + public static info(...params: any) { + if (Logger.LEVEL > LOG_LEVEL_TYPES.INFO) return + const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.INFO) + const fileStr: string = str + params.join(' ') + if (this.Terminal_Log) + console.info(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) + else console.info(fileStr) + } + + public static warn(...params: any) { + if (Logger.LEVEL > LOG_LEVEL_TYPES.WARN) + return + + const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.WARN) + const fileStr: string = str + params.join(' ') + if (this.Terminal_Log) + console.warn(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) + else console.warn(fileStr) + } + + public static error(...params: any) { + if (Logger.LEVEL > LOG_LEVEL_TYPES.ERROR) return + + const str: string = this.getLogPreKey(LOG_LEVEL_TYPES.ERROR) + const fileStr: string = str + params.join(' ') + if (this.Terminal_Log) + console.error(`%c${str}`, this.Log_Color_Config[LOG_LEVEL_TYPES.DEBUG], ...params) + else console.error(fileStr) + } +} diff --git a/assets/FishSingle/script/engine/utils/Logger.ts.meta b/assets/FishSingle/script/engine/utils/Logger.ts.meta index 73a4f26..662c73b 100644 --- a/assets/FishSingle/script/engine/utils/Logger.ts.meta +++ b/assets/FishSingle/script/engine/utils/Logger.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "64f5d910-1b40-421a-a57e-315335fd7b33", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "64f5d910-1b40-421a-a57e-315335fd7b33", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/MathUtils.ts b/assets/FishSingle/script/engine/utils/MathUtils.ts index d2e5f68..665d6e5 100644 --- a/assets/FishSingle/script/engine/utils/MathUtils.ts +++ b/assets/FishSingle/script/engine/utils/MathUtils.ts @@ -1,61 +1,61 @@ -import { Vec2 } from 'cc' - -export default class MathUtils { - /** - * 2个点之前的直线距离 - * @param x1 - * @param y1 - * @param x2 - * @param y2 - */ - public static distance(x1: number, y1: number, x2: number, y2: number) { - // 设两点A(X1,Y1),B(X2,Y2) - // 距离D=(X2-X1)的平方+(Y2-Y1)平方的和开平方 - return Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) - } - - /** - * 2点间的向量 - * @param p1 - * @param p2 - */ - public static sub(p1: Vec2, p2: Vec2) { - return new Vec2(p1.x - p2.x, p1.y - p2.y) - } - - /** - * 弧度转角度 - * @param radians - */ - public static radiansToDegrees(radians: number) { - return (180 / Math.PI) * radians - } - - /** - * 角度转弧度 - * @param degrees - */ - public static degreesToRadians(degrees: number) { - return (Math.PI * degrees) / 180 - } - - /** - * 返回2点间的弧度 - * @param startP - * @param endP - */ - public static p2pRad(startP: Vec2, endP: Vec2) { - const rad: number = Math.atan2(endP.y - startP.y, endP.x - startP.x) - return rad - } - - /** - * 针对捕鱼鱼的方向特定实现的鱼方向转换 - * @param rot - */ - public static rotation2Fish(rot: number) { - if (rot >= 0 && rot <= 180) rot = 180 - rot - else rot = -180 - rot - return rot - } -} +import { Vec2 } from 'cc' + +export default class MathUtils { + /** + * 2个点之前的直线距离 + * @param x1 + * @param y1 + * @param x2 + * @param y2 + */ + public static distance(x1: number, y1: number, x2: number, y2: number) { + // 设两点A(X1,Y1),B(X2,Y2) + // 距离D=(X2-X1)的平方+(Y2-Y1)平方的和开平方 + return Math.sqrt((x1 - x2) ** 2 + (y1 - y2) ** 2) + } + + /** + * 2点间的向量 + * @param p1 + * @param p2 + */ + public static sub(p1: Vec2, p2: Vec2) { + return new Vec2(p1.x - p2.x, p1.y - p2.y) + } + + /** + * 弧度转角度 + * @param radians + */ + public static radiansToDegrees(radians: number) { + return (180 / Math.PI) * radians + } + + /** + * 角度转弧度 + * @param degrees + */ + public static degreesToRadians(degrees: number) { + return (Math.PI * degrees) / 180 + } + + /** + * 返回2点间的弧度 + * @param startP + * @param endP + */ + public static p2pRad(startP: Vec2, endP: Vec2) { + const rad: number = Math.atan2(endP.y - startP.y, endP.x - startP.x) + return rad + } + + /** + * 针对捕鱼鱼的方向特定实现的鱼方向转换 + * @param rot + */ + public static rotation2Fish(rot: number) { + if (rot >= 0 && rot <= 180) rot = 180 - rot + else rot = -180 - rot + return rot + } +} diff --git a/assets/FishSingle/script/engine/utils/MathUtils.ts.meta b/assets/FishSingle/script/engine/utils/MathUtils.ts.meta index a885946..1dc8cad 100644 --- a/assets/FishSingle/script/engine/utils/MathUtils.ts.meta +++ b/assets/FishSingle/script/engine/utils/MathUtils.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "93c7eb99-4e1c-4343-9017-b8511388166a", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "93c7eb99-4e1c-4343-9017-b8511388166a", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/MoveHelper.ts b/assets/FishSingle/script/engine/utils/MoveHelper.ts index 96b76c6..8571617 100644 --- a/assets/FishSingle/script/engine/utils/MoveHelper.ts +++ b/assets/FishSingle/script/engine/utils/MoveHelper.ts @@ -1,63 +1,63 @@ -import { Node, Vec2, Vec3 } from 'cc' - -import MathUtils from './MathUtils' - -export class MoveHelper { - public static _vec3: Vec3 = new Vec3() - public static _vec2_0: Vec2 = new Vec2() - public static _vec2_1: Vec2 = new Vec2() - - public static moveNode( - moveNode: Node, - speed: number, - tx: number, - ty: number, - minSpeed: number = 0.01, - ) { - let isMoving: boolean = false - let times: number = 0 - moveNode.getPosition(MoveHelper._vec3) - MoveHelper._vec2_0.x = MoveHelper._vec3.x - MoveHelper._vec2_0.y = MoveHelper._vec3.y - MoveHelper._vec2_1.x = tx - MoveHelper._vec2_1.y = ty - const rad: number = MathUtils.p2pRad(MoveHelper._vec2_0, MoveHelper._vec2_1) - const speedX: number = speed * Math.cos(rad) - const speedY: number = speed * Math.sin(rad) - if (Math.abs(MoveHelper._vec3.x - tx) > minSpeed) { - times = Math.floor(Math.abs(speedX / minSpeed)) - for (let i = 0; i < times; i++) { - if (MoveHelper._vec3.x > tx) { - MoveHelper._vec3.x -= minSpeed - moveNode.setPosition(MoveHelper._vec3) - } else { - MoveHelper._vec3.x += minSpeed - moveNode.setPosition(MoveHelper._vec3) - } - if (Math.abs(MoveHelper._vec3.x - tx) <= minSpeed * 2) { - MoveHelper._vec3.x = tx - moveNode.setPosition(MoveHelper._vec3) - } - } - isMoving = true - } - if (Math.abs(MoveHelper._vec3.y - ty) > minSpeed) { - times = Math.floor(Math.abs(speedY / minSpeed)) - for (let j = 0; j < times; j++) { - if (MoveHelper._vec3.y > ty) { - MoveHelper._vec3.y -= minSpeed - moveNode.setPosition(MoveHelper._vec3) - } else { - MoveHelper._vec3.y += minSpeed - moveNode.setPosition(MoveHelper._vec3) - } - if (Math.abs(MoveHelper._vec3.x - ty) <= minSpeed * 2) { - MoveHelper._vec3.y = ty - moveNode.setPosition(MoveHelper._vec3) - } - } - isMoving = true - } - return isMoving - } -} +import { Node, Vec2, Vec3 } from 'cc' + +import MathUtils from './MathUtils' + +export class MoveHelper { + public static _vec3: Vec3 = new Vec3() + public static _vec2_0: Vec2 = new Vec2() + public static _vec2_1: Vec2 = new Vec2() + + public static moveNode( + moveNode: Node, + speed: number, + tx: number, + ty: number, + minSpeed: number = 0.01, + ) { + let isMoving: boolean = false + let times: number = 0 + moveNode.getPosition(MoveHelper._vec3) + MoveHelper._vec2_0.x = MoveHelper._vec3.x + MoveHelper._vec2_0.y = MoveHelper._vec3.y + MoveHelper._vec2_1.x = tx + MoveHelper._vec2_1.y = ty + const rad: number = MathUtils.p2pRad(MoveHelper._vec2_0, MoveHelper._vec2_1) + const speedX: number = speed * Math.cos(rad) + const speedY: number = speed * Math.sin(rad) + if (Math.abs(MoveHelper._vec3.x - tx) > minSpeed) { + times = Math.floor(Math.abs(speedX / minSpeed)) + for (let i = 0; i < times; i++) { + if (MoveHelper._vec3.x > tx) { + MoveHelper._vec3.x -= minSpeed + moveNode.setPosition(MoveHelper._vec3) + } else { + MoveHelper._vec3.x += minSpeed + moveNode.setPosition(MoveHelper._vec3) + } + if (Math.abs(MoveHelper._vec3.x - tx) <= minSpeed * 2) { + MoveHelper._vec3.x = tx + moveNode.setPosition(MoveHelper._vec3) + } + } + isMoving = true + } + if (Math.abs(MoveHelper._vec3.y - ty) > minSpeed) { + times = Math.floor(Math.abs(speedY / minSpeed)) + for (let j = 0; j < times; j++) { + if (MoveHelper._vec3.y > ty) { + MoveHelper._vec3.y -= minSpeed + moveNode.setPosition(MoveHelper._vec3) + } else { + MoveHelper._vec3.y += minSpeed + moveNode.setPosition(MoveHelper._vec3) + } + if (Math.abs(MoveHelper._vec3.x - ty) <= minSpeed * 2) { + MoveHelper._vec3.y = ty + moveNode.setPosition(MoveHelper._vec3) + } + } + isMoving = true + } + return isMoving + } +} diff --git a/assets/FishSingle/script/engine/utils/MoveHelper.ts.meta b/assets/FishSingle/script/engine/utils/MoveHelper.ts.meta index 82d2b31..5701035 100644 --- a/assets/FishSingle/script/engine/utils/MoveHelper.ts.meta +++ b/assets/FishSingle/script/engine/utils/MoveHelper.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "4304fd05-cb03-46da-a6a6-f742febe535e", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "4304fd05-cb03-46da-a6a6-f742febe535e", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/PrefabLoader.ts b/assets/FishSingle/script/engine/utils/PrefabLoader.ts index 5645e87..881919a 100644 --- a/assets/FishSingle/script/engine/utils/PrefabLoader.ts +++ b/assets/FishSingle/script/engine/utils/PrefabLoader.ts @@ -1,27 +1,27 @@ -import { AssetManager, Prefab, _decorator } from 'cc' - -import { Logger } from './Logger' - -const { ccclass, property } = _decorator - -@ccclass('PrefabLoader') -export default class PrefabLoader { - private static isLoading: boolean = false - - public static loadPrefab(url: string, callback: Function) { - if (this.isLoading) return - this.isLoading = true - AssetManager.instance.resources.load(url, Prefab, (error: Error, loadedResource) => { - if (error) { - Logger.warn(this, '载入Prefab失败, 原因:', url, error.message) - return - } - if (!(loadedResource instanceof Prefab)) { - Logger.warn(this, '你载入的不是Prefab, 你做了什么事?') - return - } - callback(loadedResource) - this.isLoading = false - }) - } -} +import { AssetManager, Prefab, _decorator } from 'cc' + +import { Logger } from './Logger' + +const { ccclass, property } = _decorator + +@ccclass('PrefabLoader') +export default class PrefabLoader { + private static isLoading: boolean = false + + public static loadPrefab(url: string, callback: Function) { + if (this.isLoading) return + this.isLoading = true + AssetManager.instance.resources.load(url, Prefab, (error: Error, loadedResource) => { + if (error) { + Logger.warn(this, '载入Prefab失败, 原因:', url, error.message) + return + } + if (!(loadedResource instanceof Prefab)) { + Logger.warn(this, '你载入的不是Prefab, 你做了什么事?') + return + } + callback(loadedResource) + this.isLoading = false + }) + } +} diff --git a/assets/FishSingle/script/engine/utils/PrefabLoader.ts.meta b/assets/FishSingle/script/engine/utils/PrefabLoader.ts.meta index 867b72e..d87c562 100644 --- a/assets/FishSingle/script/engine/utils/PrefabLoader.ts.meta +++ b/assets/FishSingle/script/engine/utils/PrefabLoader.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "10db6736-1255-4a28-91a1-fe4c41312d29", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "10db6736-1255-4a28-91a1-fe4c41312d29", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/RandomUtil.ts b/assets/FishSingle/script/engine/utils/RandomUtil.ts index 8e47835..ca3748e 100644 --- a/assets/FishSingle/script/engine/utils/RandomUtil.ts +++ b/assets/FishSingle/script/engine/utils/RandomUtil.ts @@ -1,46 +1,46 @@ -import { Vec2 } from 'cc' - -export default class RandomUtil { - // 随机minNum到maxNum的数字 (包含maxNum) - public static nextInt(minNum: number, maxNum: number) { - return Math.floor(Math.random() * (maxNum - minNum + 1) + minNum) - } - - public static nextNumber(minNum: number, maxNum: number) { - return Math.random() * (maxNum - minNum) + minNum - } - - public static nextSign() { - const temp = Math.random() - if (temp < 0.5) return 1 - - return -1 - } - - public static nextBoolean() { - const temp = Math.random() - return temp < 0.5 - } - - public static randomArr(nowArr: Array, needNum: number) { - const tempArr: Array = nowArr.concat() - const resultArr: Array = [] - for (let index = 0; index < needNum; index++) { - if (tempArr.length <= 0) break - - const randomIndex: number = RandomUtil.nextInt(0, tempArr.length - 1) - resultArr.push(tempArr.splice(randomIndex, 1)[0]) - } - return resultArr - } - - public static randomItem(nowArr: Array) { - return this.randomArr(nowArr, 1)[0] - } - - public static randomP(left: number, right: number, up: number, down: number) { - const randomX: number = RandomUtil.nextNumber(left, right) - const randomY: number = RandomUtil.nextNumber(up, down) - return new Vec2(randomX, randomY) - } -} +import { Vec2 } from 'cc' + +export default class RandomUtil { + // 随机minNum到maxNum的数字 (包含maxNum) + public static nextInt(minNum: number, maxNum: number) { + return Math.floor(Math.random() * (maxNum - minNum + 1) + minNum) + } + + public static nextNumber(minNum: number, maxNum: number) { + return Math.random() * (maxNum - minNum) + minNum + } + + public static nextSign() { + const temp = Math.random() + if (temp < 0.5) return 1 + + return -1 + } + + public static nextBoolean() { + const temp = Math.random() + return temp < 0.5 + } + + public static randomArr(nowArr: Array, needNum: number) { + const tempArr: Array = nowArr.concat() + const resultArr: Array = [] + for (let index = 0; index < needNum; index++) { + if (tempArr.length <= 0) break + + const randomIndex: number = RandomUtil.nextInt(0, tempArr.length - 1) + resultArr.push(tempArr.splice(randomIndex, 1)[0]) + } + return resultArr + } + + public static randomItem(nowArr: Array) { + return this.randomArr(nowArr, 1)[0] + } + + public static randomP(left: number, right: number, up: number, down: number) { + const randomX: number = RandomUtil.nextNumber(left, right) + const randomY: number = RandomUtil.nextNumber(up, down) + return new Vec2(randomX, randomY) + } +} diff --git a/assets/FishSingle/script/engine/utils/RandomUtil.ts.meta b/assets/FishSingle/script/engine/utils/RandomUtil.ts.meta index d600e6a..474c430 100644 --- a/assets/FishSingle/script/engine/utils/RandomUtil.ts.meta +++ b/assets/FishSingle/script/engine/utils/RandomUtil.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "09813185-c544-4799-88cd-3134aa4da011", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "09813185-c544-4799-88cd-3134aa4da011", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/ShaderHelper.ts b/assets/FishSingle/script/engine/utils/ShaderHelper.ts index a758d1e..cf0dc40 100644 --- a/assets/FishSingle/script/engine/utils/ShaderHelper.ts +++ b/assets/FishSingle/script/engine/utils/ShaderHelper.ts @@ -1,383 +1,383 @@ -import { Color, Material, Node, UIRenderer, UITransform, Vec2 } from 'cc' - -import ShaderMaterialPrefab from '../../game/prefab/ShaderMaterialPrefab' - -export default class ShaderHelper { - /** - * 清除所有shader - * @param showNode - * @param material - */ - public static clearAllEffect( - showNode: Node, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).default, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 设置图片灰白程度 - * @param showNode - * @param grayLevel - * @param material - */ - public static setGrayEffect( - showNode: Node, - grayLevel: number = 1, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) - .grayMaterial, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('grayLevel', grayLevel) - renderComponent.setMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('grayLevel', grayLevel) - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 播放变灰过程动画 - */ - public static showGrayMv(showNode: Node) { - let grayValue: number = 0.5 - const intervalId = setInterval(() => { - grayValue += 0.01 - if (grayValue >= 1) { - grayValue = 1 - clearInterval(intervalId) - } - if (showNode) ShaderHelper.setGrayEffect(showNode, grayValue) - }, 1) - } - - /** - * 设置图片老化 - * @param showNode - * @param grayLevel - * @param material - */ - public static setOldPhotoEffect( - showNode: Node, - grayLevel: number = 1, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).oldPhoto, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('oldLevel', grayLevel) - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('oldLevel', grayLevel) - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 播放变灰过程动画 - */ - public static showOldPhotoMv(showNode: Node) { - let grayValue: number = 0 - const intervalId = setInterval(() => { - grayValue += 0.01 - if (grayValue >= 1) { - grayValue = 1 - clearInterval(intervalId) - } - if (showNode) ShaderHelper.setOldPhotoEffect(showNode, grayValue) - }, 1) - } - - /** - * 增加内发光特效 - * showNode:要增加特效的节点或者他的子节点 - * material:发光特效材质 - * materialParam: {} - * materialParam.glowColor:cc.v4(r,g,b,a) 颜色rbga值的结构体 - * materialParam.glowColorSize:这里为约束一下值发光宽度值在 [0.0, 0.1] 因为 0.1+ 之后的效果可能不明显,也可以自己尝试修改,个人测试感觉0.01效果最佳 - * materialParam.glowThreshold:这里为约束一下值发光阈值值在 [0.0, 0.5] 因为 0.5+ 之后的效果可能就是其他效果,个人感觉0.1效果最佳 - */ - public static setGlowInner( - showNode: Node, - materialParam: any, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).glowInner, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('glowColor', materialParam.glowColor) - material.setProperty('glowColorSize', materialParam.glowColorSize) - material.setProperty('glowThreshold', materialParam.glowThreshold) - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('glowColor', materialParam.glowColor) - material.setProperty('glowColorSize', materialParam.glowColorSize) - material.setProperty('glowThreshold', materialParam.glowThreshold) - renderComponent.setMaterial(material, 0) - }) - }) - } - - /** - * 设置不同颜色的发光 - * @param showNode - * @param color - */ - public static setCommonGlowInner(showNode: Node, color: Color = Color.WHITE) { - this.setGlowInner(showNode, { - glowColor: color, - glowColorSize: 0.015, - glowThreshold: 0.1, - }) - } - - /** - * 播放被攻击闪烁过程动画 - */ - public static showFlash(showNode: Node, totalFlashTimes: number = 1) { - let timeCount: number = 0 - const color: Color = Color.WHITE - let flashTimes: number = 0 - const intervalId = setInterval(() => { - timeCount += 1 - if (timeCount % 50 === 0) { - const tempCount: number = timeCount / 50 - if (tempCount % 2 === 0) { - color.a = 100 - this.setGlowInner(showNode, { - glowColor: color, - glowColorSize: 0.1, - glowThreshold: 0, - }) - } else { - flashTimes++ - this.setGlowInner(showNode, { - glowColor: color, - glowColorSize: 0, - glowThreshold: 0, - }) - if (flashTimes > totalFlashTimes) clearInterval(intervalId) - } - } - }, 1) - } - - /** - * 马赛克 - * @param showNode - * @param materialParam - * @param material - */ - public static setMosaic( - showNode: Node, - materialParam: any, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).mosaic, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('xBlockCount', materialParam.xBlockCount) - material.setProperty('yBlockCount', materialParam.yBlockCount) - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - material.setProperty('xBlockCount', materialParam.xBlockCount) - material.setProperty('yBlockCount', materialParam.yBlockCount) - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 播放被攻击闪烁过程动画 - */ - public static showMosaicMv(showNode: Node, callback: Function = null) { - let masaicTimes: number = 500 - const intervalId = setInterval(() => { - masaicTimes -= 2 - this.setMosaic(showNode, { - xBlockCount: masaicTimes, - yBlockCount: masaicTimes, - }) - if (masaicTimes <= 30) { - clearInterval(intervalId) - if (callback) callback() - } - }, 1) - } - - /** - * 设置圆角剪切 - * @param showNode - * @param roundCornerRadius - * @param material - */ - public static setRoundCornerCrop( - showNode: Node, - roundCornerRadius: number = 0.1, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) - .roundCornerCrop, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - // material.setProperty("roundCornerRadius", roundCornerRadius); - material.setProperty('xRadius', roundCornerRadius) - material.setProperty('yRadius', roundCornerRadius) - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - // material.setProperty("roundCornerRadius", roundCornerRadius); - material.setProperty('xRadius', roundCornerRadius) - material.setProperty('yRadius', roundCornerRadius) - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 设置闪光 - * @param showNode - * @param lightColor 光颜色 - * @param lightWidth 光的宽度 - * @param lightAngle 光的角度 - * @param enableGradient - * @param cropAlpha - * @param enableFog - * @param material - */ - public static setFlashLight( - showNode: Node, - lightColor: Color, - lightWidth: number, - lightAngle: number = 0, - enableGradient: boolean = true, - cropAlpha: boolean = true, - enableFog: boolean = false, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) - .flashLight, - ) { - // showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - // material.setProperty('lightColor', lightColor) - // material.setProperty('lightWidth', lightWidth) - // material.setProperty('lightAngle', lightAngle) - // material.setProperty('enableGradient', enableGradient ? 1 : 0) - // material.setProperty('cropAlpha', cropAlpha ? 1 : 0) - // material.setProperty('enableFog', enableFog ? 1 : 0) - // renderComponent.setSharedMaterial(material, 0) - // }) - // showNode.children.forEach((childNode) => { - // childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - // material.setProperty('lightColor', lightColor) - // material.setProperty('lightWidth', lightWidth) - // material.setProperty('lightAngle', lightAngle) - // material.setProperty('enableGradient', enableGradient ? 1 : 0) - // material.setProperty('cropAlpha', cropAlpha ? 1 : 0) - // material.setProperty('enableFog', enableFog ? 1 : 0) - // renderComponent.setSharedMaterial(material, 0) - // }) - // }) - const setMaterialProperties = (renderer: UIRenderer) => { - try { - material.setProperty('lightColor', lightColor) - material.setProperty('lightWidth', lightWidth) - material.setProperty('lightAngle', lightAngle) - material.setProperty('enableGradient', enableGradient ? 1 : 0) - material.setProperty('cropAlpha', cropAlpha ? 1 : 0) - material.setProperty('enableFog', enableFog ? 1 : 0) - renderer.setSharedMaterial(material, 0) - } catch (error) { - console.error('Error setting material properties:', error) - } - } - const renderComponents = [ - ...showNode.getComponents(UIRenderer), - ...showNode.children.flatMap(childNode => childNode.getComponents(UIRenderer)), - ] - - renderComponents.forEach((renderComponent: UIRenderer) => { - setMaterialProperties(renderComponent) - }) - } - - /** - * 玩家升级shader动画 - * @param showNode - * @param callback - */ - public static showFlashLightMv(showNode: Node, callback: Function = null) { - const nowClor: Color = new Color(0, 0, 0, 255) - let colorIndex: number = 0 - let lightAngle: number = 0 - const intervalId = setInterval(() => { - if (colorIndex === 0) { - nowClor.r = nowClor.r + 2 - if (nowClor.r >= 255) colorIndex += 1 - } else if (colorIndex === 1) { - nowClor.g = nowClor.g + 2 - if (nowClor.g >= 255) colorIndex += 1 - } else { - nowClor.b = nowClor.b + 2 - if (nowClor.b >= 255) { - clearInterval(intervalId) - ShaderHelper.clearAllEffect(showNode) - if (callback) callback() - - return - } - } - lightAngle += 1 - this.setFlashLight(showNode, nowClor, 1, lightAngle) - }, 1) - } - - public static setFlag( - showNode: Node, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).flag, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - renderComponent.setSharedMaterial(material, 0) - }) - }) - } - - /** - * 设置高斯模糊 - * @param showNode - * @param material - */ - public static setGaussian( - showNode: Node, - material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).gaussian, - ) { - showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - const tran = renderComponent.node.getComponent(UITransform) - material.setProperty('textureSize', new Vec2(tran.contentSize.width, tran.contentSize.height)) - renderComponent.setSharedMaterial(material, 0) - }) - showNode.children.forEach((childNode) => { - childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { - const tran = renderComponent.node.getComponent(UITransform) - material.setProperty( - 'textureSize', - new Vec2(tran.contentSize.width, tran.contentSize.height), - ) - // material.setProperty("textureSize", cc.v2(showNode.width, showNode.height)); - renderComponent.setSharedMaterial(material, 0) - }) - }) - } -} +import { Color, Material, Node, UIRenderer, UITransform, Vec2 } from 'cc' + +import ShaderMaterialPrefab from '../../game/prefab/ShaderMaterialPrefab' + +export default class ShaderHelper { + /** + * 清除所有shader + * @param showNode + * @param material + */ + public static clearAllEffect( + showNode: Node, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).default, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 设置图片灰白程度 + * @param showNode + * @param grayLevel + * @param material + */ + public static setGrayEffect( + showNode: Node, + grayLevel: number = 1, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) + .grayMaterial, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('grayLevel', grayLevel) + renderComponent.setMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('grayLevel', grayLevel) + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 播放变灰过程动画 + */ + public static showGrayMv(showNode: Node) { + let grayValue: number = 0.5 + const intervalId = setInterval(() => { + grayValue += 0.01 + if (grayValue >= 1) { + grayValue = 1 + clearInterval(intervalId) + } + if (showNode) ShaderHelper.setGrayEffect(showNode, grayValue) + }, 1) + } + + /** + * 设置图片老化 + * @param showNode + * @param grayLevel + * @param material + */ + public static setOldPhotoEffect( + showNode: Node, + grayLevel: number = 1, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).oldPhoto, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('oldLevel', grayLevel) + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('oldLevel', grayLevel) + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 播放变灰过程动画 + */ + public static showOldPhotoMv(showNode: Node) { + let grayValue: number = 0 + const intervalId = setInterval(() => { + grayValue += 0.01 + if (grayValue >= 1) { + grayValue = 1 + clearInterval(intervalId) + } + if (showNode) ShaderHelper.setOldPhotoEffect(showNode, grayValue) + }, 1) + } + + /** + * 增加内发光特效 + * showNode:要增加特效的节点或者他的子节点 + * material:发光特效材质 + * materialParam: {} + * materialParam.glowColor:cc.v4(r,g,b,a) 颜色rbga值的结构体 + * materialParam.glowColorSize:这里为约束一下值发光宽度值在 [0.0, 0.1] 因为 0.1+ 之后的效果可能不明显,也可以自己尝试修改,个人测试感觉0.01效果最佳 + * materialParam.glowThreshold:这里为约束一下值发光阈值值在 [0.0, 0.5] 因为 0.5+ 之后的效果可能就是其他效果,个人感觉0.1效果最佳 + */ + public static setGlowInner( + showNode: Node, + materialParam: any, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).glowInner, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('glowColor', materialParam.glowColor) + material.setProperty('glowColorSize', materialParam.glowColorSize) + material.setProperty('glowThreshold', materialParam.glowThreshold) + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('glowColor', materialParam.glowColor) + material.setProperty('glowColorSize', materialParam.glowColorSize) + material.setProperty('glowThreshold', materialParam.glowThreshold) + renderComponent.setMaterial(material, 0) + }) + }) + } + + /** + * 设置不同颜色的发光 + * @param showNode + * @param color + */ + public static setCommonGlowInner(showNode: Node, color: Color = Color.WHITE) { + this.setGlowInner(showNode, { + glowColor: color, + glowColorSize: 0.015, + glowThreshold: 0.1, + }) + } + + /** + * 播放被攻击闪烁过程动画 + */ + public static showFlash(showNode: Node, totalFlashTimes: number = 1) { + let timeCount: number = 0 + const color: Color = Color.WHITE + let flashTimes: number = 0 + const intervalId = setInterval(() => { + timeCount += 1 + if (timeCount % 50 === 0) { + const tempCount: number = timeCount / 50 + if (tempCount % 2 === 0) { + color.a = 100 + this.setGlowInner(showNode, { + glowColor: color, + glowColorSize: 0.1, + glowThreshold: 0, + }) + } else { + flashTimes++ + this.setGlowInner(showNode, { + glowColor: color, + glowColorSize: 0, + glowThreshold: 0, + }) + if (flashTimes > totalFlashTimes) clearInterval(intervalId) + } + } + }, 1) + } + + /** + * 马赛克 + * @param showNode + * @param materialParam + * @param material + */ + public static setMosaic( + showNode: Node, + materialParam: any, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).mosaic, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('xBlockCount', materialParam.xBlockCount) + material.setProperty('yBlockCount', materialParam.yBlockCount) + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + material.setProperty('xBlockCount', materialParam.xBlockCount) + material.setProperty('yBlockCount', materialParam.yBlockCount) + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 播放被攻击闪烁过程动画 + */ + public static showMosaicMv(showNode: Node, callback: Function = null) { + let masaicTimes: number = 500 + const intervalId = setInterval(() => { + masaicTimes -= 2 + this.setMosaic(showNode, { + xBlockCount: masaicTimes, + yBlockCount: masaicTimes, + }) + if (masaicTimes <= 30) { + clearInterval(intervalId) + if (callback) callback() + } + }, 1) + } + + /** + * 设置圆角剪切 + * @param showNode + * @param roundCornerRadius + * @param material + */ + public static setRoundCornerCrop( + showNode: Node, + roundCornerRadius: number = 0.1, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) + .roundCornerCrop, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + // material.setProperty("roundCornerRadius", roundCornerRadius); + material.setProperty('xRadius', roundCornerRadius) + material.setProperty('yRadius', roundCornerRadius) + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + // material.setProperty("roundCornerRadius", roundCornerRadius); + material.setProperty('xRadius', roundCornerRadius) + material.setProperty('yRadius', roundCornerRadius) + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 设置闪光 + * @param showNode + * @param lightColor 光颜色 + * @param lightWidth 光的宽度 + * @param lightAngle 光的角度 + * @param enableGradient + * @param cropAlpha + * @param enableFog + * @param material + */ + public static setFlashLight( + showNode: Node, + lightColor: Color, + lightWidth: number, + lightAngle: number = 0, + enableGradient: boolean = true, + cropAlpha: boolean = true, + enableFog: boolean = false, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab) + .flashLight, + ) { + // showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + // material.setProperty('lightColor', lightColor) + // material.setProperty('lightWidth', lightWidth) + // material.setProperty('lightAngle', lightAngle) + // material.setProperty('enableGradient', enableGradient ? 1 : 0) + // material.setProperty('cropAlpha', cropAlpha ? 1 : 0) + // material.setProperty('enableFog', enableFog ? 1 : 0) + // renderComponent.setSharedMaterial(material, 0) + // }) + // showNode.children.forEach((childNode) => { + // childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + // material.setProperty('lightColor', lightColor) + // material.setProperty('lightWidth', lightWidth) + // material.setProperty('lightAngle', lightAngle) + // material.setProperty('enableGradient', enableGradient ? 1 : 0) + // material.setProperty('cropAlpha', cropAlpha ? 1 : 0) + // material.setProperty('enableFog', enableFog ? 1 : 0) + // renderComponent.setSharedMaterial(material, 0) + // }) + // }) + const setMaterialProperties = (renderer: UIRenderer) => { + try { + material.setProperty('lightColor', lightColor) + material.setProperty('lightWidth', lightWidth) + material.setProperty('lightAngle', lightAngle) + material.setProperty('enableGradient', enableGradient ? 1 : 0) + material.setProperty('cropAlpha', cropAlpha ? 1 : 0) + material.setProperty('enableFog', enableFog ? 1 : 0) + renderer.setSharedMaterial(material, 0) + } catch (error) { + console.error('Error setting material properties:', error) + } + } + const renderComponents = [ + ...showNode.getComponents(UIRenderer), + ...showNode.children.flatMap(childNode => childNode.getComponents(UIRenderer)), + ] + + renderComponents.forEach((renderComponent: UIRenderer) => { + setMaterialProperties(renderComponent) + }) + } + + /** + * 玩家升级shader动画 + * @param showNode + * @param callback + */ + public static showFlashLightMv(showNode: Node, callback: Function = null) { + const nowClor: Color = new Color(0, 0, 0, 255) + let colorIndex: number = 0 + let lightAngle: number = 0 + const intervalId = setInterval(() => { + if (colorIndex === 0) { + nowClor.r = nowClor.r + 2 + if (nowClor.r >= 255) colorIndex += 1 + } else if (colorIndex === 1) { + nowClor.g = nowClor.g + 2 + if (nowClor.g >= 255) colorIndex += 1 + } else { + nowClor.b = nowClor.b + 2 + if (nowClor.b >= 255) { + clearInterval(intervalId) + ShaderHelper.clearAllEffect(showNode) + if (callback) callback() + + return + } + } + lightAngle += 1 + this.setFlashLight(showNode, nowClor, 1, lightAngle) + }, 1) + } + + public static setFlag( + showNode: Node, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).flag, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + renderComponent.setSharedMaterial(material, 0) + }) + }) + } + + /** + * 设置高斯模糊 + * @param showNode + * @param material + */ + public static setGaussian( + showNode: Node, + material: Material = ShaderMaterialPrefab.instance.getComponent(ShaderMaterialPrefab).gaussian, + ) { + showNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + const tran = renderComponent.node.getComponent(UITransform) + material.setProperty('textureSize', new Vec2(tran.contentSize.width, tran.contentSize.height)) + renderComponent.setSharedMaterial(material, 0) + }) + showNode.children.forEach((childNode) => { + childNode.getComponents(UIRenderer).forEach((renderComponent: UIRenderer) => { + const tran = renderComponent.node.getComponent(UITransform) + material.setProperty( + 'textureSize', + new Vec2(tran.contentSize.width, tran.contentSize.height), + ) + // material.setProperty("textureSize", cc.v2(showNode.width, showNode.height)); + renderComponent.setSharedMaterial(material, 0) + }) + }) + } +} diff --git a/assets/FishSingle/script/engine/utils/ShaderHelper.ts.meta b/assets/FishSingle/script/engine/utils/ShaderHelper.ts.meta index d64bfa9..c1e4582 100644 --- a/assets/FishSingle/script/engine/utils/ShaderHelper.ts.meta +++ b/assets/FishSingle/script/engine/utils/ShaderHelper.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "347c6bb0-da88-4e18-b261-9298e6dcaa7a", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "347c6bb0-da88-4e18-b261-9298e6dcaa7a", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/engine/utils/VersionManager.ts b/assets/FishSingle/script/engine/utils/VersionManager.ts index adad662..3905635 100644 --- a/assets/FishSingle/script/engine/utils/VersionManager.ts +++ b/assets/FishSingle/script/engine/utils/VersionManager.ts @@ -1,133 +1,133 @@ -import { sys } from 'cc' - -import ManifestConfig from '../config/ManifestConfig' - -import EventManager from './EventManager' -import HotUpdate from './HotUpdate' - -export default class VersionManager { - public static instance: VersionManager = new VersionManager() - - public static Config_Game_Name: Array = ['游戏大厅'] - - // 热更文件下载来后存放文件夹 - public static Config_Key: Array = ['main-remote-asset'] - - private static Config_ManifestName: string = 'project.manifest' - - public static Config_Url_Key: Array = ['main'] - - public iosStoreUrl: string = '' - public apkStoreUrl: string = '' - - public nowVersion: string = ManifestConfig.version // 网页显示版本号,如果是热更会替换改值 - public targetVersion: string = '1.0.0' - - public isOpenHotUpdate: boolean = true // 是否打开热更 - - private hotUpdateList: Array = [] - - private noUpdateIndex: number = -1 // - - public init() { - this.reInitAll() - } - - public reInitAll() { - this.releaseAll() - for (let i = 0; i < VersionManager.Config_Key.length; i++) this.reInit(i) - } - - public releaseAll() { - for (let i = 0; i < VersionManager.Config_Key.length; i++) - if (this.hotUpdateList[i]) this.hotUpdateList[i].disposeUpdate() - } - - public reInit(index: number) { - if (!this.hotUpdateList[index]) this.hotUpdateList[index] = new HotUpdate() - - this.hotUpdateList[index].init( - index, - VersionManager.Config_Key[index], - VersionManager.Config_ManifestName, - ) - if (!this.isOpenHotUpdate) { - this.hotUpdateList[index].isCheck = true - this.hotUpdateList[index].isFinishUpdate = true - } - } - - public checkUpdate(keyIndex: number) { - if (keyIndex < this.hotUpdateList.length) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - if (sys.isNative) { - if (keyIndex === this.noUpdateIndex) { - // 在大厅热更,不用子游戏热更了 - hotUpdate.isCheck = true - hotUpdate.isFinishUpdate = true - EventManager.instance.dispatchEvent( - HotUpdate.Event_On_ALREADY_UP_TO_DATE, - VersionManager.Config_Key[keyIndex], - ) - } else { - hotUpdate.checkUpdate() - } - } else { - hotUpdate.isCheck = true - hotUpdate.isFinishUpdate = true - EventManager.instance.dispatchEvent( - HotUpdate.Event_On_ALREADY_UP_TO_DATE, - VersionManager.Config_Key[keyIndex], - ) - } - } else { - EventManager.instance.dispatchEvent( - HotUpdate.Event_On_ALREADY_UP_TO_DATE, - VersionManager.Config_Key[keyIndex], - ) - } - } - - public startUpdate(keyIndex: number) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - hotUpdate.startUpdate() - } - - public isCheck(keyIndex: number) { - if (keyIndex < this.hotUpdateList.length) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - if (keyIndex === this.noUpdateIndex) return true - - return hotUpdate.isCheck - } - return true - } - - public needUpdate(keyIndex: number) { - if (keyIndex < this.hotUpdateList.length) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - if (keyIndex === this.noUpdateIndex) return false - - return hotUpdate.needUpdate - } - return false - } - - public isUpdating(keyIndex: number) { - if (keyIndex < this.hotUpdateList.length) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - return hotUpdate.isUpdating - } - return false - } - - public isFinishUpdate(keyIndex: number) { - if (keyIndex < this.hotUpdateList.length) { - const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] - if (keyIndex === this.noUpdateIndex) return true - - return hotUpdate.isFinishUpdate - } - return true - } -} +import { sys } from 'cc' + +import ManifestConfig from '../config/ManifestConfig' + +import EventManager from './EventManager' +import HotUpdate from './HotUpdate' + +export default class VersionManager { + public static instance: VersionManager = new VersionManager() + + public static Config_Game_Name: Array = ['游戏大厅'] + + // 热更文件下载来后存放文件夹 + public static Config_Key: Array = ['main-remote-asset'] + + private static Config_ManifestName: string = 'project.manifest' + + public static Config_Url_Key: Array = ['main'] + + public iosStoreUrl: string = '' + public apkStoreUrl: string = '' + + public nowVersion: string = ManifestConfig.version // 网页显示版本号,如果是热更会替换改值 + public targetVersion: string = '1.0.0' + + public isOpenHotUpdate: boolean = true // 是否打开热更 + + private hotUpdateList: Array = [] + + private noUpdateIndex: number = -1 // + + public init() { + this.reInitAll() + } + + public reInitAll() { + this.releaseAll() + for (let i = 0; i < VersionManager.Config_Key.length; i++) this.reInit(i) + } + + public releaseAll() { + for (let i = 0; i < VersionManager.Config_Key.length; i++) + if (this.hotUpdateList[i]) this.hotUpdateList[i].disposeUpdate() + } + + public reInit(index: number) { + if (!this.hotUpdateList[index]) this.hotUpdateList[index] = new HotUpdate() + + this.hotUpdateList[index].init( + index, + VersionManager.Config_Key[index], + VersionManager.Config_ManifestName, + ) + if (!this.isOpenHotUpdate) { + this.hotUpdateList[index].isCheck = true + this.hotUpdateList[index].isFinishUpdate = true + } + } + + public checkUpdate(keyIndex: number) { + if (keyIndex < this.hotUpdateList.length) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + if (sys.isNative) { + if (keyIndex === this.noUpdateIndex) { + // 在大厅热更,不用子游戏热更了 + hotUpdate.isCheck = true + hotUpdate.isFinishUpdate = true + EventManager.instance.dispatchEvent( + HotUpdate.Event_On_ALREADY_UP_TO_DATE, + VersionManager.Config_Key[keyIndex], + ) + } else { + hotUpdate.checkUpdate() + } + } else { + hotUpdate.isCheck = true + hotUpdate.isFinishUpdate = true + EventManager.instance.dispatchEvent( + HotUpdate.Event_On_ALREADY_UP_TO_DATE, + VersionManager.Config_Key[keyIndex], + ) + } + } else { + EventManager.instance.dispatchEvent( + HotUpdate.Event_On_ALREADY_UP_TO_DATE, + VersionManager.Config_Key[keyIndex], + ) + } + } + + public startUpdate(keyIndex: number) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + hotUpdate.startUpdate() + } + + public isCheck(keyIndex: number) { + if (keyIndex < this.hotUpdateList.length) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + if (keyIndex === this.noUpdateIndex) return true + + return hotUpdate.isCheck + } + return true + } + + public needUpdate(keyIndex: number) { + if (keyIndex < this.hotUpdateList.length) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + if (keyIndex === this.noUpdateIndex) return false + + return hotUpdate.needUpdate + } + return false + } + + public isUpdating(keyIndex: number) { + if (keyIndex < this.hotUpdateList.length) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + return hotUpdate.isUpdating + } + return false + } + + public isFinishUpdate(keyIndex: number) { + if (keyIndex < this.hotUpdateList.length) { + const hotUpdate: HotUpdate = this.hotUpdateList[keyIndex] + if (keyIndex === this.noUpdateIndex) return true + + return hotUpdate.isFinishUpdate + } + return true + } +} diff --git a/assets/FishSingle/script/engine/utils/VersionManager.ts.meta b/assets/FishSingle/script/engine/utils/VersionManager.ts.meta index d19f523..9b20ff8 100644 --- a/assets/FishSingle/script/engine/utils/VersionManager.ts.meta +++ b/assets/FishSingle/script/engine/utils/VersionManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "c79a6571-dc2f-4715-a5d6-151542eef238", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "c79a6571-dc2f-4715-a5d6-151542eef238", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game.meta b/assets/FishSingle/script/game.meta index 5eccc9e..ed8cda6 100644 --- a/assets/FishSingle/script/game.meta +++ b/assets/FishSingle/script/game.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "2ac3d2c9-b418-4202-b672-736c533b89ea", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "2ac3d2c9-b418-4202-b672-736c533b89ea", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/config.meta b/assets/FishSingle/script/game/config.meta index 8474e6e..f021e2d 100644 --- a/assets/FishSingle/script/game/config.meta +++ b/assets/FishSingle/script/game/config.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "37ac4184-546f-4fa8-9030-da49dbe4219c", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "37ac4184-546f-4fa8-9030-da49dbe4219c", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/config/Config.ts b/assets/FishSingle/script/game/config/Config.ts index 3f65915..82bb1cf 100644 --- a/assets/FishSingle/script/game/config/Config.ts +++ b/assets/FishSingle/script/game/config/Config.ts @@ -1,6 +1,6 @@ -import { DEV } from 'cc/env' - -export default { - url: () => (DEV ? 'https://fish.wanzhuanyongcheng.cn' : 'https://fish.jdt168.com'), - wsUrl: () => (DEV ? 'fish.wanzhuanyongcheng.cn' : 'fish.jdt168.com'), -} +import { DEV } from 'cc/env' + +export default { + url: () => (DEV ? 'https://fish.wanzhuanyongcheng.cn' : 'https://fish.jdt168.com'), + wsUrl: () => (DEV ? 'fish.wanzhuanyongcheng.cn' : 'fish.jdt168.com'), +} diff --git a/assets/FishSingle/script/game/config/Config.ts.meta b/assets/FishSingle/script/game/config/Config.ts.meta index 70d81b7..e2e515e 100644 --- a/assets/FishSingle/script/game/config/Config.ts.meta +++ b/assets/FishSingle/script/game/config/Config.ts.meta @@ -1,9 +1,9 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "f01978bd-5d14-49a6-bea7-4b7ad0c82b7b", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "f01978bd-5d14-49a6-bea7-4b7ad0c82b7b", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/script/game/config/FishConfig.ts b/assets/FishSingle/script/game/config/FishConfig.ts index 396a1c7..d562e11 100644 --- a/assets/FishSingle/script/game/config/FishConfig.ts +++ b/assets/FishSingle/script/game/config/FishConfig.ts @@ -1,86 +1,86 @@ -import { FishInfo } from './FishInfo' -import config from './Config' -export class FishConfig { - public static config: Array = [ - // new FishInfo(1, '蝴蝶鱼', 2, 2), - // new FishInfo(2, '鲶鱼', 2, 1), - // new FishInfo(3, '狮子鱼', 2, 2), - // new FishInfo(4, '条纹鱼', 2, 2), - // new FishInfo(5, '沙丁鱼', 2, 2), - // new FishInfo(6, '石斑鱼', 2, 2), - // new FishInfo(7, '河豚', 3, 1.2), - // new FishInfo(8, '海螺', 3, 2), - // new FishInfo(9, '接吻鱼', 3, 1.2), - // new FishInfo(10, '海姆', 4, 1), - // new FishInfo(11, '绿鳍鱼', 4, 1.2), - // new FishInfo(12, '鲎', 4, 1.2), - // new FishInfo(13, '魔鬼鱼', 5, 0.6), - // new FishInfo(14, '小海龟', 5, 2), - // new FishInfo(15, '锤头鲨', 6, 0.5), - // new FishInfo(16, '金枪鱼', 6, 0.5), - // new FishInfo(17, '大三元', 6, 0.5), - // new FishInfo(18, '黄金鲎', 6, 1.2), - // new FishInfo(19, '大四喜', 7, 0.5), - // new FishInfo(20, '黄金锤头鲨', 7, 0.5), - // new FishInfo(21, '金海姆', 7, 0.6), - // new FishInfo(22, '五福临门', 8, 0.4), - // new FishInfo(23, '金海龟', 8, 0.7), - // new FishInfo(24, '金鲨', 8, 0.5), - // new FishInfo(25, '蓝鲨', 8, 0.5), - // new FishInfo(26, '美人鱼', 14, 0.4), - // new FishInfo(27, '金龙', 14, 0.3), - // new FishInfo(28, '章鱼', 10, 0.5), - // new FishInfo(29, '电鳗鱼', 3, 0.8), - // new FishInfo(1, '蝴蝶鱼'), - // new FishInfo(2, '鲶鱼'), - // new FishInfo(3, '狮子鱼'), - // new FishInfo(4, '条纹鱼'), - // new FishInfo(5, '沙丁鱼'), - // new FishInfo(6, '石斑鱼'), - // new FishInfo(7, '河豚'), - // new FishInfo(8, '海螺'), - // new FishInfo(9, '接吻鱼'), - // new FishInfo(10, '海姆'), - // new FishInfo(11, '绿鳍鱼'), - // new FishInfo(12, '鲎'), - // new FishInfo(13, '魔鬼鱼'), - // new FishInfo(14, '小海龟'), - // new FishInfo(15, '锤头鲨'), - // new FishInfo(16, '金枪鱼'), - // new FishInfo(17, '大三元'), - // new FishInfo(18, '黄金鲎'), - // new FishInfo(19, '大四喜'), - // new FishInfo(20, '黄金锤头鲨'), - // new FishInfo(21, '金海姆'), - // new FishInfo(22, '五福临门'), - // new FishInfo(23, '金海龟'), - // new FishInfo(24, '金鲨'), - // new FishInfo(25, '蓝鲨'), - // new FishInfo(26, '美人鱼'), - // new FishInfo(27, '金龙'), - // new FishInfo(28, '章鱼'), - // new FishInfo(29, '电鳗鱼'), - ] - - public static async init() { - this.config = [] - return new Promise((resolve) => { - fetch(`${config.url()}/fish/list`) - .then((response) => response.text()) - .then((response) => { - const { data: res } = JSON.parse(response) - res.data.forEach((item) => { - this.config.push(new FishInfo(item.ID, item.name, item.health)) - }) - resolve(true) - }) - }) - } - - public static getFishInfoByType(fishType: number) { - for (let i = 0; i < this.config.length; i++) { - const fishInfo: FishInfo = this.config[i] - if (fishInfo.fishType === fishType) return fishInfo - } - } -} +import { FishInfo } from './FishInfo' +import config from './Config' +export class FishConfig { + public static config: Array = [ + // new FishInfo(1, '蝴蝶鱼', 2, 2), + // new FishInfo(2, '鲶鱼', 2, 1), + // new FishInfo(3, '狮子鱼', 2, 2), + // new FishInfo(4, '条纹鱼', 2, 2), + // new FishInfo(5, '沙丁鱼', 2, 2), + // new FishInfo(6, '石斑鱼', 2, 2), + // new FishInfo(7, '河豚', 3, 1.2), + // new FishInfo(8, '海螺', 3, 2), + // new FishInfo(9, '接吻鱼', 3, 1.2), + // new FishInfo(10, '海姆', 4, 1), + // new FishInfo(11, '绿鳍鱼', 4, 1.2), + // new FishInfo(12, '鲎', 4, 1.2), + // new FishInfo(13, '魔鬼鱼', 5, 0.6), + // new FishInfo(14, '小海龟', 5, 2), + // new FishInfo(15, '锤头鲨', 6, 0.5), + // new FishInfo(16, '金枪鱼', 6, 0.5), + // new FishInfo(17, '大三元', 6, 0.5), + // new FishInfo(18, '黄金鲎', 6, 1.2), + // new FishInfo(19, '大四喜', 7, 0.5), + // new FishInfo(20, '黄金锤头鲨', 7, 0.5), + // new FishInfo(21, '金海姆', 7, 0.6), + // new FishInfo(22, '五福临门', 8, 0.4), + // new FishInfo(23, '金海龟', 8, 0.7), + // new FishInfo(24, '金鲨', 8, 0.5), + // new FishInfo(25, '蓝鲨', 8, 0.5), + // new FishInfo(26, '美人鱼', 14, 0.4), + // new FishInfo(27, '金龙', 14, 0.3), + // new FishInfo(28, '章鱼', 10, 0.5), + // new FishInfo(29, '电鳗鱼', 3, 0.8), + // new FishInfo(1, '蝴蝶鱼'), + // new FishInfo(2, '鲶鱼'), + // new FishInfo(3, '狮子鱼'), + // new FishInfo(4, '条纹鱼'), + // new FishInfo(5, '沙丁鱼'), + // new FishInfo(6, '石斑鱼'), + // new FishInfo(7, '河豚'), + // new FishInfo(8, '海螺'), + // new FishInfo(9, '接吻鱼'), + // new FishInfo(10, '海姆'), + // new FishInfo(11, '绿鳍鱼'), + // new FishInfo(12, '鲎'), + // new FishInfo(13, '魔鬼鱼'), + // new FishInfo(14, '小海龟'), + // new FishInfo(15, '锤头鲨'), + // new FishInfo(16, '金枪鱼'), + // new FishInfo(17, '大三元'), + // new FishInfo(18, '黄金鲎'), + // new FishInfo(19, '大四喜'), + // new FishInfo(20, '黄金锤头鲨'), + // new FishInfo(21, '金海姆'), + // new FishInfo(22, '五福临门'), + // new FishInfo(23, '金海龟'), + // new FishInfo(24, '金鲨'), + // new FishInfo(25, '蓝鲨'), + // new FishInfo(26, '美人鱼'), + // new FishInfo(27, '金龙'), + // new FishInfo(28, '章鱼'), + // new FishInfo(29, '电鳗鱼'), + ] + + public static async init() { + this.config = [] + return new Promise((resolve) => { + fetch(`${config.url()}/fish/list`) + .then((response) => response.text()) + .then((response) => { + const { data: res } = JSON.parse(response) + res.data.forEach((item) => { + this.config.push(new FishInfo(item.ID, item.name, item.health)) + }) + resolve(true) + }) + }) + } + + public static getFishInfoByType(fishType: number) { + for (let i = 0; i < this.config.length; i++) { + const fishInfo: FishInfo = this.config[i] + if (fishInfo.fishType === fishType) return fishInfo + } + } +} diff --git a/assets/FishSingle/script/game/config/FishConfig.ts.meta b/assets/FishSingle/script/game/config/FishConfig.ts.meta index acb50f7..b29b2a9 100644 --- a/assets/FishSingle/script/game/config/FishConfig.ts.meta +++ b/assets/FishSingle/script/game/config/FishConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "c7516237-7eb2-4767-8cc7-7ce0b2d5484e", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "c7516237-7eb2-4767-8cc7-7ce0b2d5484e", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/FishInfo.ts b/assets/FishSingle/script/game/config/FishInfo.ts index 19c9ac5..16ab312 100644 --- a/assets/FishSingle/script/game/config/FishInfo.ts +++ b/assets/FishSingle/script/game/config/FishInfo.ts @@ -1,18 +1,18 @@ -export class FishInfo { - public fishType: number - public name: string - public blood: number - // public wikiScale: number - - constructor( - fishType: number, - name: string, - blood: number, - // wikiScale: number, - ) { - this.fishType = fishType - this.name = name - this.blood = blood - // this.wikiScale = wikiScale - } -} +export class FishInfo { + public fishType: number + public name: string + public blood: number + // public wikiScale: number + + constructor( + fishType: number, + name: string, + blood: number, + // wikiScale: number, + ) { + this.fishType = fishType + this.name = name + this.blood = blood + // this.wikiScale = wikiScale + } +} diff --git a/assets/FishSingle/script/game/config/FishInfo.ts.meta b/assets/FishSingle/script/game/config/FishInfo.ts.meta index 14972fc..481fb68 100644 --- a/assets/FishSingle/script/game/config/FishInfo.ts.meta +++ b/assets/FishSingle/script/game/config/FishInfo.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "03f14923-6d67-4d91-97ad-a81bf4f1551f", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "03f14923-6d67-4d91-97ad-a81bf4f1551f", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/FishMap.ts b/assets/FishSingle/script/game/config/FishMap.ts index a1faafd..29b9fb8 100644 --- a/assets/FishSingle/script/game/config/FishMap.ts +++ b/assets/FishSingle/script/game/config/FishMap.ts @@ -1,11 +1,11 @@ -import { FishMapInfo } from './FishMapInfo' - -export class FishMap { - public mapId: number - public fishMapInfoList: Array - - constructor(mapId: number, list: Array) { - this.mapId = mapId - this.fishMapInfoList = list - } -} +import { FishMapInfo } from './FishMapInfo' + +export class FishMap { + public mapId: number + public fishMapInfoList: Array + + constructor(mapId: number, list: Array) { + this.mapId = mapId + this.fishMapInfoList = list + } +} diff --git a/assets/FishSingle/script/game/config/FishMap.ts.meta b/assets/FishSingle/script/game/config/FishMap.ts.meta index 668379d..d838d53 100644 --- a/assets/FishSingle/script/game/config/FishMap.ts.meta +++ b/assets/FishSingle/script/game/config/FishMap.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "f84ce3e3-8c47-43ff-a6f4-7cda4c320fcf", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "f84ce3e3-8c47-43ff-a6f4-7cda4c320fcf", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/FishMapInfo.ts b/assets/FishSingle/script/game/config/FishMapInfo.ts index 1ba5e37..22aa1d4 100644 --- a/assets/FishSingle/script/game/config/FishMapInfo.ts +++ b/assets/FishSingle/script/game/config/FishMapInfo.ts @@ -1,15 +1,15 @@ -export class FishMapInfo { - public fishType: number - public scale: number - public side: number // 1: -1: - public x: number - public y: number - - constructor(fishType: number, scale: number, side: number, x: number, y: number) { - this.fishType = fishType - this.scale = scale - this.side = side - this.x = x - this.y = y - } -} +export class FishMapInfo { + public fishType: number + public scale: number + public side: number // 1: -1: + public x: number + public y: number + + constructor(fishType: number, scale: number, side: number, x: number, y: number) { + this.fishType = fishType + this.scale = scale + this.side = side + this.x = x + this.y = y + } +} diff --git a/assets/FishSingle/script/game/config/FishMapInfo.ts.meta b/assets/FishSingle/script/game/config/FishMapInfo.ts.meta index 0b5b860..7270644 100644 --- a/assets/FishSingle/script/game/config/FishMapInfo.ts.meta +++ b/assets/FishSingle/script/game/config/FishMapInfo.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "5f3df30a-4677-4f9c-97a9-e80fcb5b8295", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "5f3df30a-4677-4f9c-97a9-e80fcb5b8295", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/FishPathConfig.ts b/assets/FishSingle/script/game/config/FishPathConfig.ts index d8a32f0..ecad554 100644 --- a/assets/FishSingle/script/game/config/FishPathConfig.ts +++ b/assets/FishSingle/script/game/config/FishPathConfig.ts @@ -1,991 +1,991 @@ -import { Vec2 } from 'cc' - -import RandomUtil from '../../engine/utils/RandomUtil' - -import { FishMap } from './FishMap' -import { FishMapInfo } from './FishMapInfo' -import { FishPathInfo } from './FishPathInfo' - -export class FishPathConfig { - private static mapConfig: Array>> = [ - [ - [1, 1, 1, -425, 387], - [1, 1, 1, -487, 352], - [1, 1, 1, -541, 307], - [1, 1, 1, -589, 263], - [1, 1, 1, -623, 232], - [1, 1, 1, -654, 172], - [1, 1, 1, -671, 134], - [1, 1, 1, -693, 92], - [1, 1, 1, -697, 35], - [1, 1, 1, -706, -19], - [1, 1, 1, -707, -92], - [1, 1, 1, -701, -136], - [1, 1, 1, -702, -177], - [1, 1, 1, -686, -230], - [1, 1, 1, -637, -257], - [1, 1, 1, -559, -272], - [1, 1, 1, -471, -278], - [1, 1, 1, -408, -259], - [1, 1, 1, -337, -226], - [1, 1, 1, -325, -170], - [1, 1, 1, -322, -99], - [1, 1, 1, -336, -39], - [1, 1, 1, -370, 7], - [1, 1, 1, -412, 59], - [1, 1, 1, -532, 69], - [1, 1, 1, -613, 82], - [1, 1, 1, -470, 63], - [1, 1, 1, 241, 402], - [1, 1, 1, 184, 357], - [1, 1, 1, 143, 335], - [1, 1, 1, 81, 285], - [1, 1, 1, 27, 229], - [1, 1, 1, -9, 167], - [1, 1, 1, -39, 126], - [1, 1, 1, -47, 57], - [1, 1, 1, -74, -10], - [1, 1, 1, -62, -66], - [1, 1, 1, -74, -118], - [1, 1, 1, -85, -201], - [1, 1, 1, -30, -240], - [1, 1, 1, 10, -271], - [1, 1, 1, 135, -273], - [1, 1, 1, 79, -280], - [1, 1, 1, 202, -280], - [1, 1, 1, 266, -276], - [1, 1, 1, 276, -274], - [1, 1, 1, 307, -259], - [1, 1, 1, 316, -244], - [1, 1, 1, 327, -226], - [1, 1, 1, 335, -195], - [1, 1, 1, 337, -142], - [1, 1, 1, 321, -53], - [1, 1, 1, 271, -13], - [1, 1, 1, 188, 27], - [1, 1, 1, 123, 46], - [1, 1, 1, 59, 57], - [1, 1, 1, 17, 60], - [1, 1, 1, 323, -101], - [1, 1, 1, 732, 329], - [1, 1, 1, 669, 283], - [1, 1, 1, 613, 218], - [1, 1, 1, 567, 185], - [1, 1, 1, 558, 163], - [1, 1, 1, 507, 95], - [1, 1, 1, 468, 35], - [1, 1, 1, 456, -18], - [1, 1, 1, 451, -80], - [1, 1, 1, 447, -164], - [1, 1, 1, 458, -234], - [1, 1, 1, 505, -267], - [1, 1, 1, 578, -281], - [1, 1, 1, 657, -291], - [1, 1, 1, 708, -291], - [1, 1, 1, 769, -291], - [1, 1, 1, 812, -290], - [1, 1, 1, 847, -275], - [1, 1, 1, 860, -236], - [1, 1, 1, 853, -160], - [1, 1, 1, 826, -95], - [1, 1, 1, 794, -46], - [1, 1, 1, 754, -7], - [1, 1, 1, 671, 26], - [1, 1, 1, 630, 59], - [1, 1, 1, 584, 80], - ], - [ - [2, 1, 1, -784, 353], - [2, 1, 1, -693, 356], - [2, 1, 1, -614, 354], - [2, 1, 1, -510, 354], - [2, 1, 1, -422, 354], - [2, 1, 1, -456, 287], - [2, 1, 1, -510, 199], - [2, 1, 1, -562, 139], - [2, 1, 1, -600, 82], - [2, 1, 1, -636, 38], - [2, 1, 1, -688, -17], - [2, 1, 1, -745, -92], - [2, 1, 1, -764, -152], - [2, 1, 1, -815, -216], - [2, 1, 1, -166, 341], - [2, 1, 1, -17, 343], - [2, 1, 1, 89, 343], - [2, 1, 1, 246, 331], - [2, 1, 1, 326, 348], - [2, 1, 1, -180, 310], - [2, 1, 1, -144, 209], - [2, 1, 1, -112, 151], - [2, 1, 1, -74, 55], - [2, 1, 1, -48, 0], - [2, 1, 1, 4, -91], - [2, 1, 1, 40, -153], - [2, 1, 1, 85, -201], - [2, 1, 1, 102, -247], - [3, 1, 1, 595, 319], - [3, 1, 1, 664, 322], - [3, 1, 1, 799, 318], - [3, 1, 1, 968, 319], - [3, 1, 1, 963, 107], - [3, 1, 1, 955, -21], - [3, 1, 1, 948, -157], - [3, 1, 1, 940, -231], - [3, 1, 1, 795, -245], - [3, 1, 1, 685, -248], - [3, 1, 1, 610, -252], - [3, 1, 1, 523, -253], - [3, 1, 1, 172, 128], - [3, 1, 1, -357, 30], - [3, 1, 1, 582, 23], - ], - [ - [5, 1, 1, -888, 405], - [5, 1, 1, -806, 410], - [5, 1, 1, -718, 404], - [5, 1, 1, -658, 406], - [5, 1, 1, -661, 286], - [5, 1, 1, -661, 224], - [5, 1, 1, -664, 142], - [5, 1, 1, -688, -2], - [5, 1, 1, -687, -69], - [5, 1, 1, -697, -120], - [5, 1, 1, -981, 410], - [5, 1, 1, -503, 150], - [5, 1, 1, -432, 146], - [5, 1, 1, -362, 149], - [5, 1, 1, -259, 148], - [5, 1, 1, -192, 149], - [5, 1, 1, -341, 359], - [5, 1, 1, -353, 256], - [5, 1, 1, -354, 203], - [5, 1, 1, -361, 72], - [5, 1, 1, -371, -23], - [5, 1, 1, -387, -79], - [5, 1, 1, 18, 277], - [5, 1, 1, 7, 159], - [5, 1, 1, -7, 94], - [5, 1, 1, -19, -3], - [5, 1, 1, -27, -80], - [5, 1, 1, 177, 164], - [5, 1, 1, 248, 172], - [5, 1, 1, 355, 170], - [5, 1, 1, 153, 29], - [5, 1, 1, 230, 30], - [5, 1, 1, 327, 32], - [6, 1, 1, 548, 371], - [6, 1, 1, 682, 374], - [6, 1, 1, 833, 373], - [6, 1, 1, 942, 374], - [6, 1, 1, 935, 289], - [6, 1, 1, 924, 143], - [6, 1, 1, 903, 65], - [6, 1, 1, 887, -44], - [6, 1, 1, 857, -157], - [6, 1, 1, 526, 109], - [6, 1, 1, 612, 108], - [6, 1, 1, 761, 94], - [6, 1, 1, 710, 260], - [6, 1, 1, 673, 177], - [6, 1, 1, 661, 10], - [6, 1, 1, 634, -61], - [6, 1, 1, 617, -138], - [7, 1, 1, 340, -259], - [7, 1, 1, 485, -254], - [7, 1, 1, 622, -254], - [7, 1, 1, 816, -251], - ], - [ - [9, 1, 1, -513, 150], - [9, 1, 1, -636, 237], - [9, 1, 1, -811, 250], - [9, 1, 1, -860, 145], - [9, 1, 1, -850, -54], - [9, 1, 1, -801, -154], - [9, 1, 1, -673, -268], - [9, 1, 1, -498, -294], - [9, 1, 1, -358, -223], - [9, 1, 1, -207, -127], - [9, 1, 1, -72, 15], - [9, 1, 1, -88, 196], - [9, 1, 1, -240, 285], - [9, 1, 1, -334, 185], - [9, 1, 1, 466, 151], - [9, 1, 1, 310, 202], - [9, 1, 1, 213, 246], - [9, 1, 1, 106, 83], - [9, 1, 1, 141, -54], - [9, 1, 1, 241, -252], - [9, 1, 1, 388, -285], - [9, 1, 1, 605, -295], - [9, 1, 1, 771, -226], - [9, 1, 1, 846, -125], - [9, 1, 1, 893, 51], - [9, 1, 1, 865, 195], - [9, 1, 1, 665, 207], - [17, 1, 1, -461, 2], - [17, 1, 1, 515, -49], - ], - [ - [19, 1, 1, -785, 31], - [19, 1, 1, 905, 16], - [20, 1, 1, -242, 34], - [20, 1, 1, 228, 12], - [20, 1, 1, -30, 303], - [20, 1, 1, -109, -292], - [20, 1, 1, 425, -301], - [20, 1, 1, 537, 265], - [20, 1, 1, -604, 317], - [20, 1, 1, -634, -285], - ], - [ - [21, 1, 1, -757, 94], - [21, 1, 1, 646, 55], - [21, 1, 1, -41, 376], - [21, 1, 1, -102, -315], - [21, 1, 1, -76, 83], - [21, 1, 1, -437, 300], - [21, 1, 1, -434, -155], - [21, 1, 1, 314, -154], - [21, 1, 1, 435, 249], - ], - [ - [22, 1, 1, -548, 65], - [22, 1, 1, 747, 61], - [22, 1, 1, 95, 63], - ], - [ - [23, 1, 1, -431, 384], - [23, 1, 1, -766, 89], - [23, 1, 1, -415, -232], - [23, 1, 1, -72, 135], - [23, 1, 1, 721, 414], - [23, 1, 1, 328, 77], - [23, 1, 1, 1025, 60], - [23, 1, 1, 677, -247], - [23, 1, 1, 104, 390], - [23, 1, 1, 84, -265], - ], - [ - [24, 1, 1, -429, 353], - [24, 1, 1, 241, 323], - [24, 1, 1, -472, 46], - [24, 1, 1, -27, 35], - [24, 1, 1, 563, 39], - [24, 1, 1, -268, -245], - [24, 1, 1, 172, -260], - ], - [ - [25, 1, 1, -595, 276], - [25, 1, 1, 115, 291], - [25, 1, 1, -192, -64], - [25, 1, 1, 464, -46], - [25, 1, 1, 191, -280], - [25, 1, 1, 884, -319], - ], - [ - [26, 1, 1, -681, 441], - [26, 1, 1, 685, 426], - [26, 1, 1, -46, 140], - [26, 1, 1, -494, -207], - [26, 1, 1, 497, -238], - ], - [ - [27, 1, 1, -431, 345], - [27, 1, 1, 569, 311], - [27, 1, 1, 112, -12], - [27, 1, 1, -298, -271], - [27, 1, 1, 678, -244], - ], - [ - [28, 1, 1, -454, 8], - [28, 1, 1, 597, 1], - [28, 1, 1, 46, 431], - [28, 1, 1, 44, -227], - ], - [ - [2, 1, 1, -557, 409], - [2, 1, 1, -648, 382], - [2, 1, 1, -732, 338], - [2, 1, 1, -809, 236], - [2, 1, 1, -861, 157], - [2, 1, 1, -865, 18], - [2, 1, 1, -835, -37], - [2, 1, 1, -787, -86], - [2, 1, 1, -746, -115], - [2, 1, 1, -683, -181], - [2, 1, 1, -575, -206], - [2, 1, 1, -494, -204], - [2, 1, 1, -442, -157], - [2, 1, 1, -403, -111], - [2, 1, 1, -387, 11], - [2, 1, 1, -356, 94], - [2, 1, 1, -472, 330], - [2, 1, 1, -407, 260], - [2, 1, 1, -395, 195], - [2, 1, 1, -214, 51], - [2, 1, 1, -139, 52], - [2, 1, 1, -77, 51], - [2, 1, 1, -21, 51], - [2, 1, 1, 67, 50], - [2, 1, 1, 107, 50], - [2, 1, 1, -40, 332], - [2, 1, 1, -43, 207], - [2, 1, 1, -60, 154], - [2, 1, 1, -60, 5], - [2, 1, 1, -82, -71], - [2, 1, 1, -77, -195], - [5, 1, 1, 427, 311], - [5, 1, 1, 578, 314], - [5, 1, 1, 779, 315], - [5, 1, 1, 862, 315], - [5, 1, 1, 884, 123], - [5, 1, 1, 879, -108], - [5, 1, 1, 778, -183], - [5, 1, 1, 672, -181], - [5, 1, 1, 564, -179], - [5, 1, 1, 407, -178], - [5, 1, 1, 297, 8], - [5, 1, 1, 625, 48], - [5, 1, 1, 379, 92], - ], - ] - - private static formatMapConfig: Array = [] - private static config: Array>> = [ - // 左边开始 - [ - [-1309, 528], - [-1144, 438], - [-1081, 411], - [-947, 327], - [-801, 241], - [-683, 154], - [-539, 69], - [-394, -23], - [-230, -115], - [-115, -207], - [45, -280], - [247, -364], - [497, -457], - [627, -511], - [762, -578], - [885, -667], - [1068, -773], - ], - [ - [-1295, 534], - [-1144, 438], - [-1081, 411], - [-906, 326], - [-696, 274], - [-462, 223], - [-213, 198], - [-1, 172], - [156, 178], - [396, 194], - [576, 216], - [753, 233], - [936, 279], - [1182, 350], - [1314, 418], - ], - [ - [-1295, 534], - [-1144, 438], - [-1081, 411], - [-906, 326], - [-696, 274], - [-462, 223], - [-213, 198], - [-1, 172], - [199, 150], - [417, 111], - [635, 10], - [827, -42], - [1020, -131], - [1189, -170], - [1309, -198], - ], - [ - [-1295, 534], - [-1111, 514], - [-1015, 454], - [-864, 403], - [-671, 387], - [-450, 354], - [-219, 311], - [11, 274], - [213, 270], - [471, 212], - [642, 172], - [835, 88], - [1013, -2], - [1212, -99], - [1309, -198], - ], - [ - [-1275, -118], - [-1129, -19], - [-1024, 42], - [-858, 129], - [-677, 225], - [-448, 277], - [-219, 311], - [11, 274], - [213, 270], - [510, 320], - [596, 350], - [772, 391], - [887, 426], - [1066, 513], - [1164, 710], - ], - [ - [-1299, -618], - [-1143, -521], - [-1033, -496], - [-726, -425], - [-489, -360], - [-245, -293], - [-8, -210], - [212, -134], - [385, -65], - [552, 7], - [705, 96], - [904, 176], - [1090, 273], - [1208, 355], - [1308, 435], - ], - [ - [-1275, -118], - [-1060, -69], - [-938, -85], - [-729, -59], - [-551, -48], - [-397, -2], - [-203, -1], - [46, 61], - [228, 105], - [506, 159], - [630, 208], - [784, 266], - [935, 228], - [1157, 174], - [1329, 163], - ], - [ - [-1288, -220], - [-1113, -194], - [-945, -195], - [-709, -162], - [-502, -200], - [-313, -211], - [-144, -186], - [128, -135], - [314, 14], - [571, 56], - [727, 132], - [851, 203], - [1050, 141], - [1255, 58], - [1326, 20], - ], - [ - [-1288, -220], - [-1113, -194], - [-945, -195], - [-709, -162], - [-502, -200], - [-313, -211], - [-144, -186], - [132, -144], - [406, -196], - [644, -272], - [884, -272], - [993, -283], - [1090, -319], - [1242, -341], - [1329, -396], - ], - [ - [-1288, -220], - [-1113, -194], - [-916, -213], - [-710, -238], - [-501, -273], - [-297, -289], - [-101, -312], - [173, -324], - [419, -339], - [653, -362], - [889, -390], - [1011, -407], - [1095, -418], - [1238, -539], - [1317, -663], - ], - [ - [-1314, -508], - [-1123, -480], - [-917, -443], - [-708, -379], - [-514, -361], - [-300, -319], - [-101, -307], - [155, -256], - [398, -248], - [645, -219], - [787, -178], - [980, -165], - [1086, -103], - [1093, 280], - [1026, 371], - [868, 631], - [648, 787], - ], - [ - [-1314, -508], - [-1130, -281], - [-898, -160], - [-693, -141], - [-561, -91], - [-384, -43], - [-187, 48], - [119, 32], - [298, -95], - [519, -135], - [744, -156], - [868, -97], - [1033, 55], - [1093, 280], - [1026, 371], - [868, 631], - [648, 787], - ], - [ - [-1314, -508], - [-1130, -281], - [-898, -160], - [-693, -141], - [-561, -91], - [-384, -43], - [-187, 48], - [119, 32], - [298, -95], - [519, -135], - [744, -156], - [872, -200], - [1060, -391], - [1150, -492], - [1301, -461], - ], - // 右边开始 - [ - [1286, -293], - [1149, -184], - [952, -147], - [795, -130], - [536, -45], - [476, 57], - [467, 300], - [408, 500], - [405, 701], - ], - [ - [1345, 34], - [1189, -69], - [978, -94], - [820, -115], - [443, -66], - [267, -29], - [66, -79], - [-219, -287], - [-271, -693], - ], - [ - [1345, 34], - [1189, -69], - [978, -94], - [820, -115], - [443, -66], - [267, -29], - [66, -79], - [-215, -156], - [-444, -100], - [-725, -92], - [-963, -68], - [-1169, -46], - [-1325, -40], - ], - [ - [1345, 34], - [1189, -69], - [978, -94], - [820, -115], - [443, -66], - [267, -29], - [66, -79], - [-215, -156], - [-454, -156], - [-719, -199], - [-981, -264], - [-1180, -291], - [-1320, -367], - ], - [ - [1345, 34], - [1189, -69], - [978, -94], - [820, -115], - [413, -128], - [258, -147], - [60, -161], - [-254, -250], - [-493, -278], - [-707, -320], - [-961, -408], - [-1160, -449], - [-1309, -524], - ], - [ - [1345, 34], - [1189, -69], - [978, -94], - [820, -115], - [439, -173], - [267, -185], - [109, -251], - [-211, -307], - [-428, -408], - [-596, -448], - [-847, -604], - [-1019, -589], - [-1241, -695], - ], - [ - [1345, 34], - [1189, -69], - [951, -68], - [512, -86], - [159, -142], - [-56, -144], - [-362, -160], - [-569, -143], - [-772, -35], - [-898, 66], - [-1070, 219], - [-1181, 292], - [-1289, 558], - ], - [ - [1345, 34], - [1189, -69], - [951, -68], - [512, -86], - [159, -142], - [-56, -144], - [-310, -118], - [-530, -84], - [-654, -2], - [-806, 84], - [-905, 246], - [-1008, 375], - [-1021, 750], - ], - [ - [1297, 542], - [1181, 330], - [1041, 250], - [676, 110], - [429, -12], - [5, -105], - [-310, -118], - [-530, -84], - [-654, -2], - [-806, 84], - [-905, 246], - [-1008, 375], - [-1021, 750], - ], - [ - [1297, 542], - [1181, 330], - [1041, 250], - [676, 110], - [429, -12], - [7, -105], - [-310, -118], - [-530, -84], - [-655, -18], - [-806, 84], - [-927, 189], - [-1073, 291], - [-1318, 474], - ], - [ - [1297, 542], - [1181, 330], - [1041, 250], - [676, 110], - [429, -12], - [7, -105], - [-310, -118], - [-530, -84], - [-631, -85], - [-775, -77], - [-923, -28], - [-1133, -46], - [-1294, -10], - ], - [ - [1297, 542], - [1181, 330], - [1041, 250], - [676, 110], - [429, -12], - [243, -126], - [-141, -203], - [-340, -201], - [-500, -218], - [-616, -254], - [-854, -240], - [-1115, -272], - [-1312, -336], - ], - [ - [1297, 542], - [1181, 330], - [1041, 250], - [676, 110], - [429, -12], - [243, -126], - [-141, -203], - [-307, -229], - [-398, -281], - [-562, -321], - [-647, -446], - [-930, -540], - [-1073, -726], - ], - [ - [1293, -558], - [1192, -467], - [1069, -395], - [948, -305], - [733, -245], - [243, -126], - [-141, -203], - [-307, -229], - [-398, -281], - [-562, -321], - [-647, -446], - [-930, -540], - [-1073, -726], - ], - [ - [1293, -558], - [1192, -467], - [1069, -395], - [948, -305], - [733, -245], - [243, -126], - [-141, -203], - [-307, -229], - [-398, -281], - [-568, -262], - [-857, -301], - [-1055, -406], - [-1353, -380], - ], - [ - [1293, -558], - [1192, -467], - [1069, -395], - [948, -305], - [733, -245], - [243, -126], - [-141, -203], - [-307, -229], - [-426, -197], - [-590, -195], - [-905, -120], - [-1100, -72], - [-1300, 225], - ], - [ - [1293, -558], - [1192, -467], - [1069, -395], - [948, -305], - [733, -245], - [243, -126], - [-141, -203], - [-307, -229], - [-497, -179], - [-633, -130], - [-917, 33], - [-1079, 184], - [-1220, 412], - ], - [ - [1293, -558], - [1192, -467], - [1069, -395], - [948, -305], - [733, -245], - [243, -126], - [-141, -203], - [-307, -229], - [-461, -55], - [-602, -25], - [-857, 181], - [-921, 416], - [-909, 805], - ], - // 下往上 - [ - [-279, -786], - [-92, -667], - [45, -582], - [618, -388], - [436, -239], - [176, -173], - [-141, -203], - [-307, -229], - [-461, -55], - [-602, -25], - [-857, 181], - [-921, 416], - [-909, 805], - ], - [ - [-279, -786], - [-92, -667], - [45, -582], - [618, -388], - [436, -239], - [176, -173], - [126, -95], - [-26, -92], - [-157, 40], - [-362, 152], - [-543, 358], - [-721, 502], - [-401, 770], - ], - [ - [-279, -786], - [-78, -718], - [133, -652], - [618, -388], - [436, -239], - [392, -130], - [254, -77], - [194, -49], - [79, 44], - [60, 214], - [-85, 418], - [-140, 630], - [-401, 770], - ], - [ - [-279, -786], - [-78, -718], - [133, -652], - [618, -388], - [459, -232], - [392, -130], - [304, -80], - [267, -2], - [222, 130], - [253, 319], - [330, 465], - [544, 684], - [858, 803], - ], - [ - [841, -837], - [683, -745], - [672, -600], - [618, -388], - [459, -232], - [392, -130], - [304, -80], - [267, -2], - [222, 130], - [253, 319], - [330, 465], - [544, 684], - [858, 803], - ], - ] - - private static formatConfig: Array = [] - - public static init() { - this.initNormalConfig() - this.initMapConfig() - } - - private static initMapConfig() { - this.formatMapConfig = [] - for (let i = 0; i < this.mapConfig.length; i++) { - const arr: Array> = this.mapConfig[i] - const fishMapInfoList: Array = [] - for (let j = 0; j < arr.length; j++) { - const temp: Array = arr[j] - const fishMapInfo: FishMapInfo = new FishMapInfo( - temp[0], - temp[1], - temp[2], - temp[3], - temp[4], - ) - fishMapInfoList.push(fishMapInfo) - } - const fishMap: FishMap = new FishMap(i, fishMapInfoList) - this.formatMapConfig.push(fishMap) - // console.log('this.formatMapConfig ', this.formatMapConfig) - } - } - - public static randomFishMap() { - const randomIndex: number = RandomUtil.nextInt(0, this.formatMapConfig.length - 1) - return this.formatMapConfig[randomIndex] - } - - private static initNormalConfig() { - this.formatConfig = [] - let pathId: number = 1 - for (let i = 0; i < this.config.length; i++) { - const path: Array = [] - const flipXPath: Array = [] - const flipYPath: Array = [] - for (let j = 0; j < this.config[i].length; j++) { - const p: Vec2 = new Vec2(this.config[i][j][0], this.config[i][j][1]) - path.push(p) - const flipXP: Vec2 = new Vec2(-p.x, p.y) - const flipYP: Vec2 = new Vec2(p.x, -p.y) - flipXPath.push(flipXP) - flipYPath.push(flipYP) - } - this.formatConfig.push(new FishPathInfo(pathId, path)) - this.formatConfig.push(new FishPathInfo(pathId, flipXPath)) - this.formatConfig.push(new FishPathInfo(pathId, flipYPath)) - } - } - - public static getPathInfo(pathId: number) { - for (let i = 0; i < this.formatConfig.length; i++) { - const pathInfo: FishPathInfo = this.formatConfig[i] - if (pathInfo.pathId === pathId) return pathInfo - } - } - - public static randomPathInfo() { - const randomIndex: number = RandomUtil.nextInt(0, this.formatConfig.length - 1) - return this.formatConfig[randomIndex] - } -} +import { Vec2 } from 'cc' + +import RandomUtil from '../../engine/utils/RandomUtil' + +import { FishMap } from './FishMap' +import { FishMapInfo } from './FishMapInfo' +import { FishPathInfo } from './FishPathInfo' + +export class FishPathConfig { + private static mapConfig: Array>> = [ + [ + [1, 1, 1, -425, 387], + [1, 1, 1, -487, 352], + [1, 1, 1, -541, 307], + [1, 1, 1, -589, 263], + [1, 1, 1, -623, 232], + [1, 1, 1, -654, 172], + [1, 1, 1, -671, 134], + [1, 1, 1, -693, 92], + [1, 1, 1, -697, 35], + [1, 1, 1, -706, -19], + [1, 1, 1, -707, -92], + [1, 1, 1, -701, -136], + [1, 1, 1, -702, -177], + [1, 1, 1, -686, -230], + [1, 1, 1, -637, -257], + [1, 1, 1, -559, -272], + [1, 1, 1, -471, -278], + [1, 1, 1, -408, -259], + [1, 1, 1, -337, -226], + [1, 1, 1, -325, -170], + [1, 1, 1, -322, -99], + [1, 1, 1, -336, -39], + [1, 1, 1, -370, 7], + [1, 1, 1, -412, 59], + [1, 1, 1, -532, 69], + [1, 1, 1, -613, 82], + [1, 1, 1, -470, 63], + [1, 1, 1, 241, 402], + [1, 1, 1, 184, 357], + [1, 1, 1, 143, 335], + [1, 1, 1, 81, 285], + [1, 1, 1, 27, 229], + [1, 1, 1, -9, 167], + [1, 1, 1, -39, 126], + [1, 1, 1, -47, 57], + [1, 1, 1, -74, -10], + [1, 1, 1, -62, -66], + [1, 1, 1, -74, -118], + [1, 1, 1, -85, -201], + [1, 1, 1, -30, -240], + [1, 1, 1, 10, -271], + [1, 1, 1, 135, -273], + [1, 1, 1, 79, -280], + [1, 1, 1, 202, -280], + [1, 1, 1, 266, -276], + [1, 1, 1, 276, -274], + [1, 1, 1, 307, -259], + [1, 1, 1, 316, -244], + [1, 1, 1, 327, -226], + [1, 1, 1, 335, -195], + [1, 1, 1, 337, -142], + [1, 1, 1, 321, -53], + [1, 1, 1, 271, -13], + [1, 1, 1, 188, 27], + [1, 1, 1, 123, 46], + [1, 1, 1, 59, 57], + [1, 1, 1, 17, 60], + [1, 1, 1, 323, -101], + [1, 1, 1, 732, 329], + [1, 1, 1, 669, 283], + [1, 1, 1, 613, 218], + [1, 1, 1, 567, 185], + [1, 1, 1, 558, 163], + [1, 1, 1, 507, 95], + [1, 1, 1, 468, 35], + [1, 1, 1, 456, -18], + [1, 1, 1, 451, -80], + [1, 1, 1, 447, -164], + [1, 1, 1, 458, -234], + [1, 1, 1, 505, -267], + [1, 1, 1, 578, -281], + [1, 1, 1, 657, -291], + [1, 1, 1, 708, -291], + [1, 1, 1, 769, -291], + [1, 1, 1, 812, -290], + [1, 1, 1, 847, -275], + [1, 1, 1, 860, -236], + [1, 1, 1, 853, -160], + [1, 1, 1, 826, -95], + [1, 1, 1, 794, -46], + [1, 1, 1, 754, -7], + [1, 1, 1, 671, 26], + [1, 1, 1, 630, 59], + [1, 1, 1, 584, 80], + ], + [ + [2, 1, 1, -784, 353], + [2, 1, 1, -693, 356], + [2, 1, 1, -614, 354], + [2, 1, 1, -510, 354], + [2, 1, 1, -422, 354], + [2, 1, 1, -456, 287], + [2, 1, 1, -510, 199], + [2, 1, 1, -562, 139], + [2, 1, 1, -600, 82], + [2, 1, 1, -636, 38], + [2, 1, 1, -688, -17], + [2, 1, 1, -745, -92], + [2, 1, 1, -764, -152], + [2, 1, 1, -815, -216], + [2, 1, 1, -166, 341], + [2, 1, 1, -17, 343], + [2, 1, 1, 89, 343], + [2, 1, 1, 246, 331], + [2, 1, 1, 326, 348], + [2, 1, 1, -180, 310], + [2, 1, 1, -144, 209], + [2, 1, 1, -112, 151], + [2, 1, 1, -74, 55], + [2, 1, 1, -48, 0], + [2, 1, 1, 4, -91], + [2, 1, 1, 40, -153], + [2, 1, 1, 85, -201], + [2, 1, 1, 102, -247], + [3, 1, 1, 595, 319], + [3, 1, 1, 664, 322], + [3, 1, 1, 799, 318], + [3, 1, 1, 968, 319], + [3, 1, 1, 963, 107], + [3, 1, 1, 955, -21], + [3, 1, 1, 948, -157], + [3, 1, 1, 940, -231], + [3, 1, 1, 795, -245], + [3, 1, 1, 685, -248], + [3, 1, 1, 610, -252], + [3, 1, 1, 523, -253], + [3, 1, 1, 172, 128], + [3, 1, 1, -357, 30], + [3, 1, 1, 582, 23], + ], + [ + [5, 1, 1, -888, 405], + [5, 1, 1, -806, 410], + [5, 1, 1, -718, 404], + [5, 1, 1, -658, 406], + [5, 1, 1, -661, 286], + [5, 1, 1, -661, 224], + [5, 1, 1, -664, 142], + [5, 1, 1, -688, -2], + [5, 1, 1, -687, -69], + [5, 1, 1, -697, -120], + [5, 1, 1, -981, 410], + [5, 1, 1, -503, 150], + [5, 1, 1, -432, 146], + [5, 1, 1, -362, 149], + [5, 1, 1, -259, 148], + [5, 1, 1, -192, 149], + [5, 1, 1, -341, 359], + [5, 1, 1, -353, 256], + [5, 1, 1, -354, 203], + [5, 1, 1, -361, 72], + [5, 1, 1, -371, -23], + [5, 1, 1, -387, -79], + [5, 1, 1, 18, 277], + [5, 1, 1, 7, 159], + [5, 1, 1, -7, 94], + [5, 1, 1, -19, -3], + [5, 1, 1, -27, -80], + [5, 1, 1, 177, 164], + [5, 1, 1, 248, 172], + [5, 1, 1, 355, 170], + [5, 1, 1, 153, 29], + [5, 1, 1, 230, 30], + [5, 1, 1, 327, 32], + [6, 1, 1, 548, 371], + [6, 1, 1, 682, 374], + [6, 1, 1, 833, 373], + [6, 1, 1, 942, 374], + [6, 1, 1, 935, 289], + [6, 1, 1, 924, 143], + [6, 1, 1, 903, 65], + [6, 1, 1, 887, -44], + [6, 1, 1, 857, -157], + [6, 1, 1, 526, 109], + [6, 1, 1, 612, 108], + [6, 1, 1, 761, 94], + [6, 1, 1, 710, 260], + [6, 1, 1, 673, 177], + [6, 1, 1, 661, 10], + [6, 1, 1, 634, -61], + [6, 1, 1, 617, -138], + [7, 1, 1, 340, -259], + [7, 1, 1, 485, -254], + [7, 1, 1, 622, -254], + [7, 1, 1, 816, -251], + ], + [ + [9, 1, 1, -513, 150], + [9, 1, 1, -636, 237], + [9, 1, 1, -811, 250], + [9, 1, 1, -860, 145], + [9, 1, 1, -850, -54], + [9, 1, 1, -801, -154], + [9, 1, 1, -673, -268], + [9, 1, 1, -498, -294], + [9, 1, 1, -358, -223], + [9, 1, 1, -207, -127], + [9, 1, 1, -72, 15], + [9, 1, 1, -88, 196], + [9, 1, 1, -240, 285], + [9, 1, 1, -334, 185], + [9, 1, 1, 466, 151], + [9, 1, 1, 310, 202], + [9, 1, 1, 213, 246], + [9, 1, 1, 106, 83], + [9, 1, 1, 141, -54], + [9, 1, 1, 241, -252], + [9, 1, 1, 388, -285], + [9, 1, 1, 605, -295], + [9, 1, 1, 771, -226], + [9, 1, 1, 846, -125], + [9, 1, 1, 893, 51], + [9, 1, 1, 865, 195], + [9, 1, 1, 665, 207], + [17, 1, 1, -461, 2], + [17, 1, 1, 515, -49], + ], + [ + [19, 1, 1, -785, 31], + [19, 1, 1, 905, 16], + [20, 1, 1, -242, 34], + [20, 1, 1, 228, 12], + [20, 1, 1, -30, 303], + [20, 1, 1, -109, -292], + [20, 1, 1, 425, -301], + [20, 1, 1, 537, 265], + [20, 1, 1, -604, 317], + [20, 1, 1, -634, -285], + ], + [ + [21, 1, 1, -757, 94], + [21, 1, 1, 646, 55], + [21, 1, 1, -41, 376], + [21, 1, 1, -102, -315], + [21, 1, 1, -76, 83], + [21, 1, 1, -437, 300], + [21, 1, 1, -434, -155], + [21, 1, 1, 314, -154], + [21, 1, 1, 435, 249], + ], + [ + [22, 1, 1, -548, 65], + [22, 1, 1, 747, 61], + [22, 1, 1, 95, 63], + ], + [ + [23, 1, 1, -431, 384], + [23, 1, 1, -766, 89], + [23, 1, 1, -415, -232], + [23, 1, 1, -72, 135], + [23, 1, 1, 721, 414], + [23, 1, 1, 328, 77], + [23, 1, 1, 1025, 60], + [23, 1, 1, 677, -247], + [23, 1, 1, 104, 390], + [23, 1, 1, 84, -265], + ], + [ + [24, 1, 1, -429, 353], + [24, 1, 1, 241, 323], + [24, 1, 1, -472, 46], + [24, 1, 1, -27, 35], + [24, 1, 1, 563, 39], + [24, 1, 1, -268, -245], + [24, 1, 1, 172, -260], + ], + [ + [25, 1, 1, -595, 276], + [25, 1, 1, 115, 291], + [25, 1, 1, -192, -64], + [25, 1, 1, 464, -46], + [25, 1, 1, 191, -280], + [25, 1, 1, 884, -319], + ], + [ + [26, 1, 1, -681, 441], + [26, 1, 1, 685, 426], + [26, 1, 1, -46, 140], + [26, 1, 1, -494, -207], + [26, 1, 1, 497, -238], + ], + [ + [27, 1, 1, -431, 345], + [27, 1, 1, 569, 311], + [27, 1, 1, 112, -12], + [27, 1, 1, -298, -271], + [27, 1, 1, 678, -244], + ], + [ + [28, 1, 1, -454, 8], + [28, 1, 1, 597, 1], + [28, 1, 1, 46, 431], + [28, 1, 1, 44, -227], + ], + [ + [2, 1, 1, -557, 409], + [2, 1, 1, -648, 382], + [2, 1, 1, -732, 338], + [2, 1, 1, -809, 236], + [2, 1, 1, -861, 157], + [2, 1, 1, -865, 18], + [2, 1, 1, -835, -37], + [2, 1, 1, -787, -86], + [2, 1, 1, -746, -115], + [2, 1, 1, -683, -181], + [2, 1, 1, -575, -206], + [2, 1, 1, -494, -204], + [2, 1, 1, -442, -157], + [2, 1, 1, -403, -111], + [2, 1, 1, -387, 11], + [2, 1, 1, -356, 94], + [2, 1, 1, -472, 330], + [2, 1, 1, -407, 260], + [2, 1, 1, -395, 195], + [2, 1, 1, -214, 51], + [2, 1, 1, -139, 52], + [2, 1, 1, -77, 51], + [2, 1, 1, -21, 51], + [2, 1, 1, 67, 50], + [2, 1, 1, 107, 50], + [2, 1, 1, -40, 332], + [2, 1, 1, -43, 207], + [2, 1, 1, -60, 154], + [2, 1, 1, -60, 5], + [2, 1, 1, -82, -71], + [2, 1, 1, -77, -195], + [5, 1, 1, 427, 311], + [5, 1, 1, 578, 314], + [5, 1, 1, 779, 315], + [5, 1, 1, 862, 315], + [5, 1, 1, 884, 123], + [5, 1, 1, 879, -108], + [5, 1, 1, 778, -183], + [5, 1, 1, 672, -181], + [5, 1, 1, 564, -179], + [5, 1, 1, 407, -178], + [5, 1, 1, 297, 8], + [5, 1, 1, 625, 48], + [5, 1, 1, 379, 92], + ], + ] + + private static formatMapConfig: Array = [] + private static config: Array>> = [ + // 左边开始 + [ + [-1309, 528], + [-1144, 438], + [-1081, 411], + [-947, 327], + [-801, 241], + [-683, 154], + [-539, 69], + [-394, -23], + [-230, -115], + [-115, -207], + [45, -280], + [247, -364], + [497, -457], + [627, -511], + [762, -578], + [885, -667], + [1068, -773], + ], + [ + [-1295, 534], + [-1144, 438], + [-1081, 411], + [-906, 326], + [-696, 274], + [-462, 223], + [-213, 198], + [-1, 172], + [156, 178], + [396, 194], + [576, 216], + [753, 233], + [936, 279], + [1182, 350], + [1314, 418], + ], + [ + [-1295, 534], + [-1144, 438], + [-1081, 411], + [-906, 326], + [-696, 274], + [-462, 223], + [-213, 198], + [-1, 172], + [199, 150], + [417, 111], + [635, 10], + [827, -42], + [1020, -131], + [1189, -170], + [1309, -198], + ], + [ + [-1295, 534], + [-1111, 514], + [-1015, 454], + [-864, 403], + [-671, 387], + [-450, 354], + [-219, 311], + [11, 274], + [213, 270], + [471, 212], + [642, 172], + [835, 88], + [1013, -2], + [1212, -99], + [1309, -198], + ], + [ + [-1275, -118], + [-1129, -19], + [-1024, 42], + [-858, 129], + [-677, 225], + [-448, 277], + [-219, 311], + [11, 274], + [213, 270], + [510, 320], + [596, 350], + [772, 391], + [887, 426], + [1066, 513], + [1164, 710], + ], + [ + [-1299, -618], + [-1143, -521], + [-1033, -496], + [-726, -425], + [-489, -360], + [-245, -293], + [-8, -210], + [212, -134], + [385, -65], + [552, 7], + [705, 96], + [904, 176], + [1090, 273], + [1208, 355], + [1308, 435], + ], + [ + [-1275, -118], + [-1060, -69], + [-938, -85], + [-729, -59], + [-551, -48], + [-397, -2], + [-203, -1], + [46, 61], + [228, 105], + [506, 159], + [630, 208], + [784, 266], + [935, 228], + [1157, 174], + [1329, 163], + ], + [ + [-1288, -220], + [-1113, -194], + [-945, -195], + [-709, -162], + [-502, -200], + [-313, -211], + [-144, -186], + [128, -135], + [314, 14], + [571, 56], + [727, 132], + [851, 203], + [1050, 141], + [1255, 58], + [1326, 20], + ], + [ + [-1288, -220], + [-1113, -194], + [-945, -195], + [-709, -162], + [-502, -200], + [-313, -211], + [-144, -186], + [132, -144], + [406, -196], + [644, -272], + [884, -272], + [993, -283], + [1090, -319], + [1242, -341], + [1329, -396], + ], + [ + [-1288, -220], + [-1113, -194], + [-916, -213], + [-710, -238], + [-501, -273], + [-297, -289], + [-101, -312], + [173, -324], + [419, -339], + [653, -362], + [889, -390], + [1011, -407], + [1095, -418], + [1238, -539], + [1317, -663], + ], + [ + [-1314, -508], + [-1123, -480], + [-917, -443], + [-708, -379], + [-514, -361], + [-300, -319], + [-101, -307], + [155, -256], + [398, -248], + [645, -219], + [787, -178], + [980, -165], + [1086, -103], + [1093, 280], + [1026, 371], + [868, 631], + [648, 787], + ], + [ + [-1314, -508], + [-1130, -281], + [-898, -160], + [-693, -141], + [-561, -91], + [-384, -43], + [-187, 48], + [119, 32], + [298, -95], + [519, -135], + [744, -156], + [868, -97], + [1033, 55], + [1093, 280], + [1026, 371], + [868, 631], + [648, 787], + ], + [ + [-1314, -508], + [-1130, -281], + [-898, -160], + [-693, -141], + [-561, -91], + [-384, -43], + [-187, 48], + [119, 32], + [298, -95], + [519, -135], + [744, -156], + [872, -200], + [1060, -391], + [1150, -492], + [1301, -461], + ], + // 右边开始 + [ + [1286, -293], + [1149, -184], + [952, -147], + [795, -130], + [536, -45], + [476, 57], + [467, 300], + [408, 500], + [405, 701], + ], + [ + [1345, 34], + [1189, -69], + [978, -94], + [820, -115], + [443, -66], + [267, -29], + [66, -79], + [-219, -287], + [-271, -693], + ], + [ + [1345, 34], + [1189, -69], + [978, -94], + [820, -115], + [443, -66], + [267, -29], + [66, -79], + [-215, -156], + [-444, -100], + [-725, -92], + [-963, -68], + [-1169, -46], + [-1325, -40], + ], + [ + [1345, 34], + [1189, -69], + [978, -94], + [820, -115], + [443, -66], + [267, -29], + [66, -79], + [-215, -156], + [-454, -156], + [-719, -199], + [-981, -264], + [-1180, -291], + [-1320, -367], + ], + [ + [1345, 34], + [1189, -69], + [978, -94], + [820, -115], + [413, -128], + [258, -147], + [60, -161], + [-254, -250], + [-493, -278], + [-707, -320], + [-961, -408], + [-1160, -449], + [-1309, -524], + ], + [ + [1345, 34], + [1189, -69], + [978, -94], + [820, -115], + [439, -173], + [267, -185], + [109, -251], + [-211, -307], + [-428, -408], + [-596, -448], + [-847, -604], + [-1019, -589], + [-1241, -695], + ], + [ + [1345, 34], + [1189, -69], + [951, -68], + [512, -86], + [159, -142], + [-56, -144], + [-362, -160], + [-569, -143], + [-772, -35], + [-898, 66], + [-1070, 219], + [-1181, 292], + [-1289, 558], + ], + [ + [1345, 34], + [1189, -69], + [951, -68], + [512, -86], + [159, -142], + [-56, -144], + [-310, -118], + [-530, -84], + [-654, -2], + [-806, 84], + [-905, 246], + [-1008, 375], + [-1021, 750], + ], + [ + [1297, 542], + [1181, 330], + [1041, 250], + [676, 110], + [429, -12], + [5, -105], + [-310, -118], + [-530, -84], + [-654, -2], + [-806, 84], + [-905, 246], + [-1008, 375], + [-1021, 750], + ], + [ + [1297, 542], + [1181, 330], + [1041, 250], + [676, 110], + [429, -12], + [7, -105], + [-310, -118], + [-530, -84], + [-655, -18], + [-806, 84], + [-927, 189], + [-1073, 291], + [-1318, 474], + ], + [ + [1297, 542], + [1181, 330], + [1041, 250], + [676, 110], + [429, -12], + [7, -105], + [-310, -118], + [-530, -84], + [-631, -85], + [-775, -77], + [-923, -28], + [-1133, -46], + [-1294, -10], + ], + [ + [1297, 542], + [1181, 330], + [1041, 250], + [676, 110], + [429, -12], + [243, -126], + [-141, -203], + [-340, -201], + [-500, -218], + [-616, -254], + [-854, -240], + [-1115, -272], + [-1312, -336], + ], + [ + [1297, 542], + [1181, 330], + [1041, 250], + [676, 110], + [429, -12], + [243, -126], + [-141, -203], + [-307, -229], + [-398, -281], + [-562, -321], + [-647, -446], + [-930, -540], + [-1073, -726], + ], + [ + [1293, -558], + [1192, -467], + [1069, -395], + [948, -305], + [733, -245], + [243, -126], + [-141, -203], + [-307, -229], + [-398, -281], + [-562, -321], + [-647, -446], + [-930, -540], + [-1073, -726], + ], + [ + [1293, -558], + [1192, -467], + [1069, -395], + [948, -305], + [733, -245], + [243, -126], + [-141, -203], + [-307, -229], + [-398, -281], + [-568, -262], + [-857, -301], + [-1055, -406], + [-1353, -380], + ], + [ + [1293, -558], + [1192, -467], + [1069, -395], + [948, -305], + [733, -245], + [243, -126], + [-141, -203], + [-307, -229], + [-426, -197], + [-590, -195], + [-905, -120], + [-1100, -72], + [-1300, 225], + ], + [ + [1293, -558], + [1192, -467], + [1069, -395], + [948, -305], + [733, -245], + [243, -126], + [-141, -203], + [-307, -229], + [-497, -179], + [-633, -130], + [-917, 33], + [-1079, 184], + [-1220, 412], + ], + [ + [1293, -558], + [1192, -467], + [1069, -395], + [948, -305], + [733, -245], + [243, -126], + [-141, -203], + [-307, -229], + [-461, -55], + [-602, -25], + [-857, 181], + [-921, 416], + [-909, 805], + ], + // 下往上 + [ + [-279, -786], + [-92, -667], + [45, -582], + [618, -388], + [436, -239], + [176, -173], + [-141, -203], + [-307, -229], + [-461, -55], + [-602, -25], + [-857, 181], + [-921, 416], + [-909, 805], + ], + [ + [-279, -786], + [-92, -667], + [45, -582], + [618, -388], + [436, -239], + [176, -173], + [126, -95], + [-26, -92], + [-157, 40], + [-362, 152], + [-543, 358], + [-721, 502], + [-401, 770], + ], + [ + [-279, -786], + [-78, -718], + [133, -652], + [618, -388], + [436, -239], + [392, -130], + [254, -77], + [194, -49], + [79, 44], + [60, 214], + [-85, 418], + [-140, 630], + [-401, 770], + ], + [ + [-279, -786], + [-78, -718], + [133, -652], + [618, -388], + [459, -232], + [392, -130], + [304, -80], + [267, -2], + [222, 130], + [253, 319], + [330, 465], + [544, 684], + [858, 803], + ], + [ + [841, -837], + [683, -745], + [672, -600], + [618, -388], + [459, -232], + [392, -130], + [304, -80], + [267, -2], + [222, 130], + [253, 319], + [330, 465], + [544, 684], + [858, 803], + ], + ] + + private static formatConfig: Array = [] + + public static init() { + this.initNormalConfig() + this.initMapConfig() + } + + private static initMapConfig() { + this.formatMapConfig = [] + for (let i = 0; i < this.mapConfig.length; i++) { + const arr: Array> = this.mapConfig[i] + const fishMapInfoList: Array = [] + for (let j = 0; j < arr.length; j++) { + const temp: Array = arr[j] + const fishMapInfo: FishMapInfo = new FishMapInfo( + temp[0], + temp[1], + temp[2], + temp[3], + temp[4], + ) + fishMapInfoList.push(fishMapInfo) + } + const fishMap: FishMap = new FishMap(i, fishMapInfoList) + this.formatMapConfig.push(fishMap) + // console.log('this.formatMapConfig ', this.formatMapConfig) + } + } + + public static randomFishMap() { + const randomIndex: number = RandomUtil.nextInt(0, this.formatMapConfig.length - 1) + return this.formatMapConfig[randomIndex] + } + + private static initNormalConfig() { + this.formatConfig = [] + let pathId: number = 1 + for (let i = 0; i < this.config.length; i++) { + const path: Array = [] + const flipXPath: Array = [] + const flipYPath: Array = [] + for (let j = 0; j < this.config[i].length; j++) { + const p: Vec2 = new Vec2(this.config[i][j][0], this.config[i][j][1]) + path.push(p) + const flipXP: Vec2 = new Vec2(-p.x, p.y) + const flipYP: Vec2 = new Vec2(p.x, -p.y) + flipXPath.push(flipXP) + flipYPath.push(flipYP) + } + this.formatConfig.push(new FishPathInfo(pathId, path)) + this.formatConfig.push(new FishPathInfo(pathId, flipXPath)) + this.formatConfig.push(new FishPathInfo(pathId, flipYPath)) + } + } + + public static getPathInfo(pathId: number) { + for (let i = 0; i < this.formatConfig.length; i++) { + const pathInfo: FishPathInfo = this.formatConfig[i] + if (pathInfo.pathId === pathId) return pathInfo + } + } + + public static randomPathInfo() { + const randomIndex: number = RandomUtil.nextInt(0, this.formatConfig.length - 1) + return this.formatConfig[randomIndex] + } +} diff --git a/assets/FishSingle/script/game/config/FishPathConfig.ts.meta b/assets/FishSingle/script/game/config/FishPathConfig.ts.meta index 0032203..0ee58ae 100644 --- a/assets/FishSingle/script/game/config/FishPathConfig.ts.meta +++ b/assets/FishSingle/script/game/config/FishPathConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "704e17b3-0f7b-478a-8ad1-1cb2f5d89a8f", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "704e17b3-0f7b-478a-8ad1-1cb2f5d89a8f", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/FishPathInfo.ts b/assets/FishSingle/script/game/config/FishPathInfo.ts index 9595992..34bc34a 100644 --- a/assets/FishSingle/script/game/config/FishPathInfo.ts +++ b/assets/FishSingle/script/game/config/FishPathInfo.ts @@ -1,11 +1,11 @@ -import { Vec2 } from 'cc' - -export class FishPathInfo { - public pathId: string - public path: Array = [] - - constructor(pathId: string, path: Array) { - this.pathId = pathId - this.path = path - } -} +import { Vec2 } from 'cc' + +export class FishPathInfo { + public pathId: string + public path: Array = [] + + constructor(pathId: string, path: Array) { + this.pathId = pathId + this.path = path + } +} diff --git a/assets/FishSingle/script/game/config/FishPathInfo.ts.meta b/assets/FishSingle/script/game/config/FishPathInfo.ts.meta index 597ec38..f4daddd 100644 --- a/assets/FishSingle/script/game/config/FishPathInfo.ts.meta +++ b/assets/FishSingle/script/game/config/FishPathInfo.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "01cc78a7-9862-45b4-ad09-ebb92c01de58", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "01cc78a7-9862-45b4-ad09-ebb92c01de58", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/config/GameConfig.ts b/assets/FishSingle/script/game/config/GameConfig.ts index d82ea98..e2850b0 100644 --- a/assets/FishSingle/script/game/config/GameConfig.ts +++ b/assets/FishSingle/script/game/config/GameConfig.ts @@ -1,3 +1,3 @@ -export class GameConfig { - public static GameName: string = 'FishSingle' -} +export class GameConfig { + public static GameName: string = 'FishSingle' +} diff --git a/assets/FishSingle/script/game/config/GameConfig.ts.meta b/assets/FishSingle/script/game/config/GameConfig.ts.meta index 1fc56a0..db973d3 100644 --- a/assets/FishSingle/script/game/config/GameConfig.ts.meta +++ b/assets/FishSingle/script/game/config/GameConfig.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "8b274344-0b4c-4ac5-a289-2f8cd7a5596b", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "8b274344-0b4c-4ac5-a289-2f8cd7a5596b", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager.meta b/assets/FishSingle/script/game/manager.meta index e916b79..f183a29 100644 --- a/assets/FishSingle/script/game/manager.meta +++ b/assets/FishSingle/script/game/manager.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "1e8eeb35-adbc-485b-879b-bf95de554cfd", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "1e8eeb35-adbc-485b-879b-bf95de554cfd", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/manager/BulletManager.ts b/assets/FishSingle/script/game/manager/BulletManager.ts index 258e866..3fb72d2 100644 --- a/assets/FishSingle/script/game/manager/BulletManager.ts +++ b/assets/FishSingle/script/game/manager/BulletManager.ts @@ -1,156 +1,156 @@ -import { - Component, - EventTouch, - Node, - NodePool, - Prefab, - UITransform, - Vec2, - Vec3, - _decorator, - instantiate, - sys, -} from 'cc' - -import FishBulletBase from '../../../fish/script/FishBulletBase' -import FishUI from '../../../fish/script/FishUI' -import CommonTips from '../../engine/uicomponent/CommonTips' -import MathUtils from '../../engine/utils/MathUtils' - -import { MoveHelper } from '../../engine/utils/MoveHelper' - -import GameMusicHelper from '../utils/GameMusicHelper' - -import CannonManager from './CannonManager' -import FishNetManager from './FishNetManager' -import WsManager from './WsManager' - -const { ccclass, property } = _decorator - -// 子弹管理类 -@ccclass('BulletManager') -export default class BulletManager extends Component { - public static instance: BulletManager = null - @property({ type: [Prefab] }) - private bulletPrefabList: Prefab[] | [] = [] - - private bulletPool: Array = [] - private bulletList: Array = [] - private bulletMoveSpeed: number = 30 - private _vec3Cache: Vec3 - private _vec2Cache: Vec2 - private _fireTime: number = 0 - private _fireTimeNew: number - - onLoad() { - this._vec3Cache = new Vec3() - this._vec2Cache = new Vec2() - BulletManager.instance = this - this.node.on(Node.EventType.TOUCH_START, this.onShootBullet, this) - } - - start() {} - - update() { - this.checkMoveBullet() - } - - // 检测子弹是否移动完成 - private checkMoveBullet() { - for (let i = this.bulletList.length - 1; i >= 0; i--) { - const bullet: FishBulletBase = this.bulletList[i] - const isMoving: boolean = MoveHelper.moveNode( - bullet.node, - this.bulletMoveSpeed, - bullet.targetP.x, - bullet.targetP.y, - ) - if (!isMoving) { - bullet.node.getPosition(this._vec3Cache) - this._vec2Cache.x = this._vec3Cache.x - this._vec2Cache.y = this._vec3Cache.y - FishNetManager.instance.addFishNet(bullet.bulletType, this._vec2Cache) - this.bulletList.splice(i, 1) - this.destroyBullet(bullet) - } - } - } - - // 发射炮弹 - private onShootBullet(event: EventTouch) { - // TOUCH_START 在Editor上,连续触发2次,导致发2次炮弹bug - if (sys.platform === 'EDITOR_PAGE') { - this._fireTimeNew = new Date().getTime() - if (this._fireTimeNew - this._fireTime < 15000) return - this._fireTime = this._fireTimeNew - } - - const tran = this.node.getComponent(UITransform) - const location = event.getUILocation() - this._vec3Cache.x = location.x - this._vec3Cache.y = location.y - this._vec3Cache.z = 0 - tran.convertToNodeSpaceAR(this._vec3Cache, this._vec3Cache) - const localP: Vec2 = new Vec2(this._vec3Cache.x, this._vec3Cache.y) - FishUI.instance.playClickEffect(localP) - // 子弹发射 - if (FishUI.instance.dz_score >= CannonManager.instance.cannonType) { - FishUI.instance.dz_score -= CannonManager.instance.cannonType - // FishUI.instance.refreshScore() - this._vec3Cache = CannonManager.instance.getCannonPosition() - const rad: number = MathUtils.p2pRad(new Vec2(this._vec3Cache.x, this._vec3Cache.y), localP) - const rot: number = MathUtils.radiansToDegrees(rad) - const bullet: FishBulletBase = this.createBullet(CannonManager.instance.cannonType - 1) - bullet.targetP = localP - this.node.addChild(bullet.node) - bullet.node.setPosition(CannonManager.instance.getCannonPosition()) - this._vec3Cache.x = 1 - this._vec3Cache.y = 1 - this._vec3Cache.y = 1 - Vec3.multiplyScalar(this._vec3Cache, this._vec3Cache, 2) - bullet.node.setScale(this._vec3Cache) - bullet.node.angle = rot - this.bulletList.push(bullet) - GameMusicHelper.playFire() - // 旋转炮台 - CannonManager.instance.rotateCannon(location) - } else { - CommonTips.showMsg('豆子不足!') - } - } - - // 创建子弹 - private createBullet(bulletType: number) { - let bulletNode: Node - if (this.bulletPool[bulletType] && this.bulletPool[bulletType].size() > 0) { - bulletNode = this.bulletPool[bulletType].get() - } else { - bulletNode = instantiate(this.bulletPrefabList[bulletType]) - } - bulletNode.getComponent(FishBulletBase).bulletType = bulletType - return bulletNode.getComponent(FishBulletBase) - } - - public killBullet(bullet: FishBulletBase) { - const index: number = this.bulletList.indexOf(bullet) - if (index >= 0) { - this.bulletList.splice(index, 1) - this.destroyBullet(bullet) - } - } - - // 销毁子弹 - private destroyBullet(bullet: FishBulletBase) { - // 临时代码,因为回收在内存卡顿。后面在优化 2023-2-10 - if (sys.platform === 'EDITOR_PAGE') { - bullet.node.destroy() - return - } - if (!this.bulletPool[bullet.bulletType]) this.bulletPool[bullet.bulletType] = new NodePool() - this.bulletPool[bullet.bulletType].put(bullet.node) - } - - onDestroy() { - BulletManager.instance = null - } -} +import { + Component, + EventTouch, + Node, + NodePool, + Prefab, + UITransform, + Vec2, + Vec3, + _decorator, + instantiate, + sys, +} from 'cc' + +import FishBulletBase from '../../../fish/script/FishBulletBase' +import FishUI from '../../../fish/script/FishUI' +import CommonTips from '../../engine/uicomponent/CommonTips' +import MathUtils from '../../engine/utils/MathUtils' + +import { MoveHelper } from '../../engine/utils/MoveHelper' + +import GameMusicHelper from '../utils/GameMusicHelper' + +import CannonManager from './CannonManager' +import FishNetManager from './FishNetManager' +import WsManager from './WsManager' + +const { ccclass, property } = _decorator + +// 子弹管理类 +@ccclass('BulletManager') +export default class BulletManager extends Component { + public static instance: BulletManager = null + @property({ type: [Prefab] }) + private bulletPrefabList: Prefab[] | [] = [] + + private bulletPool: Array = [] + private bulletList: Array = [] + private bulletMoveSpeed: number = 30 + private _vec3Cache: Vec3 + private _vec2Cache: Vec2 + private _fireTime: number = 0 + private _fireTimeNew: number + + onLoad() { + this._vec3Cache = new Vec3() + this._vec2Cache = new Vec2() + BulletManager.instance = this + this.node.on(Node.EventType.TOUCH_START, this.onShootBullet, this) + } + + start() {} + + update() { + this.checkMoveBullet() + } + + // 检测子弹是否移动完成 + private checkMoveBullet() { + for (let i = this.bulletList.length - 1; i >= 0; i--) { + const bullet: FishBulletBase = this.bulletList[i] + const isMoving: boolean = MoveHelper.moveNode( + bullet.node, + this.bulletMoveSpeed, + bullet.targetP.x, + bullet.targetP.y, + ) + if (!isMoving) { + bullet.node.getPosition(this._vec3Cache) + this._vec2Cache.x = this._vec3Cache.x + this._vec2Cache.y = this._vec3Cache.y + FishNetManager.instance.addFishNet(bullet.bulletType, this._vec2Cache) + this.bulletList.splice(i, 1) + this.destroyBullet(bullet) + } + } + } + + // 发射炮弹 + private onShootBullet(event: EventTouch) { + // TOUCH_START 在Editor上,连续触发2次,导致发2次炮弹bug + if (sys.platform === 'EDITOR_PAGE') { + this._fireTimeNew = new Date().getTime() + if (this._fireTimeNew - this._fireTime < 15000) return + this._fireTime = this._fireTimeNew + } + + const tran = this.node.getComponent(UITransform) + const location = event.getUILocation() + this._vec3Cache.x = location.x + this._vec3Cache.y = location.y + this._vec3Cache.z = 0 + tran.convertToNodeSpaceAR(this._vec3Cache, this._vec3Cache) + const localP: Vec2 = new Vec2(this._vec3Cache.x, this._vec3Cache.y) + FishUI.instance.playClickEffect(localP) + // 子弹发射 + if (FishUI.instance.dz_score >= CannonManager.instance.cannonType) { + FishUI.instance.dz_score -= CannonManager.instance.cannonType + // FishUI.instance.refreshScore() + this._vec3Cache = CannonManager.instance.getCannonPosition() + const rad: number = MathUtils.p2pRad(new Vec2(this._vec3Cache.x, this._vec3Cache.y), localP) + const rot: number = MathUtils.radiansToDegrees(rad) + const bullet: FishBulletBase = this.createBullet(CannonManager.instance.cannonType - 1) + bullet.targetP = localP + this.node.addChild(bullet.node) + bullet.node.setPosition(CannonManager.instance.getCannonPosition()) + this._vec3Cache.x = 1 + this._vec3Cache.y = 1 + this._vec3Cache.y = 1 + Vec3.multiplyScalar(this._vec3Cache, this._vec3Cache, 2) + bullet.node.setScale(this._vec3Cache) + bullet.node.angle = rot + this.bulletList.push(bullet) + GameMusicHelper.playFire() + // 旋转炮台 + CannonManager.instance.rotateCannon(location) + } else { + CommonTips.showMsg('豆子不足!') + } + } + + // 创建子弹 + private createBullet(bulletType: number) { + let bulletNode: Node + if (this.bulletPool[bulletType] && this.bulletPool[bulletType].size() > 0) { + bulletNode = this.bulletPool[bulletType].get() + } else { + bulletNode = instantiate(this.bulletPrefabList[bulletType]) + } + bulletNode.getComponent(FishBulletBase).bulletType = bulletType + return bulletNode.getComponent(FishBulletBase) + } + + public killBullet(bullet: FishBulletBase) { + const index: number = this.bulletList.indexOf(bullet) + if (index >= 0) { + this.bulletList.splice(index, 1) + this.destroyBullet(bullet) + } + } + + // 销毁子弹 + private destroyBullet(bullet: FishBulletBase) { + // 临时代码,因为回收在内存卡顿。后面在优化 2023-2-10 + if (sys.platform === 'EDITOR_PAGE') { + bullet.node.destroy() + return + } + if (!this.bulletPool[bullet.bulletType]) this.bulletPool[bullet.bulletType] = new NodePool() + this.bulletPool[bullet.bulletType].put(bullet.node) + } + + onDestroy() { + BulletManager.instance = null + } +} diff --git a/assets/FishSingle/script/game/manager/BulletManager.ts.meta b/assets/FishSingle/script/game/manager/BulletManager.ts.meta index 9272fb1..40e1740 100644 --- a/assets/FishSingle/script/game/manager/BulletManager.ts.meta +++ b/assets/FishSingle/script/game/manager/BulletManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "bd065d0b-0b60-4981-aea0-75d2f209b7ea", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "bd065d0b-0b60-4981-aea0-75d2f209b7ea", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager/CannonManager.ts b/assets/FishSingle/script/game/manager/CannonManager.ts index 249024c..01c0351 100644 --- a/assets/FishSingle/script/game/manager/CannonManager.ts +++ b/assets/FishSingle/script/game/manager/CannonManager.ts @@ -1,72 +1,72 @@ -import { - Component, - EventMouse, - Node, - Sprite, - SpriteFrame, - UITransform, - Vec2, - Vec3, - _decorator, -} from 'cc' - -import MathUtils from '../../engine/utils/MathUtils' - -const { ccclass, property } = _decorator - -// 炮塔管理类 -@ccclass('CannonManager') -export default class CannonManager extends Component { - public static instance: CannonManager = null - @property({ type: Node }) - private view: Node | null = null - - @property({ type: [SpriteFrame] }) - private cannonSpriteFrame: Array | [] = [] - - // 炮塔倍数 - public cannonType: number = 1 - private _vec3Cache: Vec3 - - onLoad() { - this._vec3Cache = new Vec3() - CannonManager.instance = this - this.node.parent.on(Node.EventType.MOUSE_MOVE, this.onMeMove.bind(this)) - this.refreshCannon() - } - - // 炮塔移动 - private onMeMove(event: EventMouse) { - this.rotateCannon(event.getUILocation()) - } - - // 炮塔旋转 - public rotateCannon(uilocation: Vec2) { - const location = uilocation - this._vec3Cache.x = location.x - this._vec3Cache.y = location.y - this._vec3Cache.z = 0 - const tran = this.node.getComponent(UITransform) - tran.convertToNodeSpaceAR(this._vec3Cache, this._vec3Cache) - - const localTouch: Vec2 = new Vec2(this._vec3Cache.x, this._vec3Cache.y) - this.view.getPosition(this._vec3Cache) - const rad: number = MathUtils.p2pRad(new Vec2(this._vec3Cache.x, this._vec3Cache.y), localTouch) - const rot: number = MathUtils.radiansToDegrees(rad) - this.view.angle = rot - 90 - } - - // 刷新炮塔 - public refreshCannon() { - this.view.getComponent(Sprite).spriteFrame = this.cannonSpriteFrame[this.cannonType - 1] - } - - // 获取炮塔位置 - public getCannonPosition() { - return this.view.getPosition() - } - - onDestroy() { - CannonManager.instance = null - } -} +import { + Component, + EventMouse, + Node, + Sprite, + SpriteFrame, + UITransform, + Vec2, + Vec3, + _decorator, +} from 'cc' + +import MathUtils from '../../engine/utils/MathUtils' + +const { ccclass, property } = _decorator + +// 炮塔管理类 +@ccclass('CannonManager') +export default class CannonManager extends Component { + public static instance: CannonManager = null + @property({ type: Node }) + private view: Node | null = null + + @property({ type: [SpriteFrame] }) + private cannonSpriteFrame: Array | [] = [] + + // 炮塔倍数 + public cannonType: number = 1 + private _vec3Cache: Vec3 + + onLoad() { + this._vec3Cache = new Vec3() + CannonManager.instance = this + this.node.parent.on(Node.EventType.MOUSE_MOVE, this.onMeMove.bind(this)) + this.refreshCannon() + } + + // 炮塔移动 + private onMeMove(event: EventMouse) { + this.rotateCannon(event.getUILocation()) + } + + // 炮塔旋转 + public rotateCannon(uilocation: Vec2) { + const location = uilocation + this._vec3Cache.x = location.x + this._vec3Cache.y = location.y + this._vec3Cache.z = 0 + const tran = this.node.getComponent(UITransform) + tran.convertToNodeSpaceAR(this._vec3Cache, this._vec3Cache) + + const localTouch: Vec2 = new Vec2(this._vec3Cache.x, this._vec3Cache.y) + this.view.getPosition(this._vec3Cache) + const rad: number = MathUtils.p2pRad(new Vec2(this._vec3Cache.x, this._vec3Cache.y), localTouch) + const rot: number = MathUtils.radiansToDegrees(rad) + this.view.angle = rot - 90 + } + + // 刷新炮塔 + public refreshCannon() { + this.view.getComponent(Sprite).spriteFrame = this.cannonSpriteFrame[this.cannonType - 1] + } + + // 获取炮塔位置 + public getCannonPosition() { + return this.view.getPosition() + } + + onDestroy() { + CannonManager.instance = null + } +} diff --git a/assets/FishSingle/script/game/manager/CannonManager.ts.meta b/assets/FishSingle/script/game/manager/CannonManager.ts.meta index d9992c4..565a752 100644 --- a/assets/FishSingle/script/game/manager/CannonManager.ts.meta +++ b/assets/FishSingle/script/game/manager/CannonManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "d03d3fa0-9f23-4106-be05-9d106bd8f8c8", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "d03d3fa0-9f23-4106-be05-9d106bd8f8c8", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager/FishManager.ts b/assets/FishSingle/script/game/manager/FishManager.ts index 05b6f93..c5b5f71 100644 --- a/assets/FishSingle/script/game/manager/FishManager.ts +++ b/assets/FishSingle/script/game/manager/FishManager.ts @@ -1,272 +1,272 @@ -import { - Animation, - Component, - Node, - NodePool, - Prefab, - Tween, - Vec2, - Vec3, - _decorator, - game, - instantiate, - tween, -} from 'cc' - -import FishBase from '../../../fish/script/FishBase' -import FishMover from '../../../fish/script/FishMover' -import FishUI from '../../../fish/script/FishUI' -import { Logger } from '../../engine/utils/Logger' -import RandomUtil from '../../engine/utils/RandomUtil' -import { FishConfig } from '../config/FishConfig' -import { FishInfo } from '../config/FishInfo' -import { FishMap } from '../config/FishMap' -import { FishMapInfo } from '../config/FishMapInfo' -import { FishPathConfig } from '../config/FishPathConfig' -import GameMusicHelper from '../utils/GameMusicHelper' - -import TimeHelper from '../utils/TimeHelper' - -import ScoreManager from './ScoreManager' -import WsManager from './WsManager' -import { FishPathInfo } from '../config/FishPathInfo' - -const { ccclass, property } = _decorator - -interface dataType { - fisn: Array -} - -interface FishType { - fishId: string - fishInfo: FishInfo - fishType: string - isDead: number - fishPathInfo: Array -} - -interface fishPathInfoType { - pathId: string - path: Array -} - -interface PathPoint { - x: number - y: number -} - -// 鱼管理类 -@ccclass('FishManager') -export default class FishManager extends Component { - public static instance: FishManager = null - @property({ type: Node }) - private fishContainer: Node | null = null - - @property({ type: [Prefab] }) - public fishPrefabList: Array = [] - - private fishPool: Array = [] - private fishList: Map = new Map() - private nextRandomFishTime: number = 0 - private minRandomTime: number = 2 * (game.frameRate as number) - private maxRandomTime: number = 5 * (game.frameRate as number) - private isFishMap: boolean = false - private mapCount: number = 0 - - private _fishPosCache: Vec3 - - onLoad() { - WsManager.instance.on(100, this.randomFish, this) - FishManager.instance = this - this._fishPosCache = new Vec3() - Logger.log('maxRandomTime=', this.minRandomTime, this.maxRandomTime, game.frameRate) - } - - start() { - // this.randomFish() - } - - update() { - // this.checkRandomFish() - this.checkFishMoveEnd() - // this.checkFishMap() - } - - private checkFishMap() { - if (!this.isFishMap) { - if (this.mapCount > 0) { - this.mapCount-- - if (this.mapCount <= 0) FishUI.instance.playWaveEffect() - } - } - } - - // 检测是否随机鱼 - private checkRandomFish() { - if (!this.isFishMap) { - if (this.nextRandomFishTime > 0) { - this.nextRandomFishTime-- - // if (this.nextRandomFishTime === 0) this.randomFish() - } - } - } - - // 检测鱼是否移动结束 - private checkFishMoveEnd() { - this.fishList.forEach(async (item: FishBase, key: string) => { - if (this.isFishMap) { - // 鱼阵回收 - if (item.isDead === 2) { - item.node.getPosition(this._fishPosCache) - this._fishPosCache.x -= 2 - item.node.setPosition(this._fishPosCache) - if (this._fishPosCache.x <= -screen.width / 2) { - // winSize.width - await WsManager.instance.onSend({ - type: 102, - fish_id: item.fishId, - }) - // this.fishList.splice(index, 1) - this.destroyFish(item) - // this.fishList.delete(item.fishId) - this.checkEndFishMap() - } - } - } else if (!item.getComponent(FishMover).isMoving) { - // 普通鱼回收 - await WsManager.instance.onSend({ - type: 102, - fish_id: item.fishId, - }) - // this.fishList.splice(index, 1) - this.destroyFish(item) - // this.fishList.delete(item.fishId) - } - }) - } - - private checkEndFishMap() { - // Logger.log('checkEndFishMap==', this.isFishMap, this.fishList) - if (this.isFishMap && this.fishList.size <= 0) { - this.isFishMap = false - // this.randomFish() - } - } - - /** - * 原:本地随机生成鱼 - * 新:服务端生成鱼 - */ - private async randomFish(data: dataType) { - const arr = data.fisn - const paths: Array = [] - if (!Array.isArray(arr) || this.isFishMap) return - for (let i = 0; i < arr.length; i++) { - const fish: FishBase = this.createFishByType(arr[i]) - for (let k = 0; k < arr[i].fishPathInfo.length; k++) { - const path: Array = [] - - for (let j = 0; j < arr[i].fishPathInfo[k].path.length; j++) { - const p: Vec2 = new Vec2( - arr[i].fishPathInfo[k].path[j].x, - arr[i].fishPathInfo[k].path[j].y, - ) - path.push(p) - } - paths.push(new FishPathInfo(arr[i].fishPathInfo[k].pathId, path)) - } - fish.fishPathInfo = paths[0] - this._fishPosCache.z = 0 - this._fishPosCache.x = fish.fishPathInfo.path[0].x - this._fishPosCache.y = fish.fishPathInfo.path[0].y - fish.node.setPosition(this._fishPosCache) - fish.getComponent(FishMover).bezierPList = fish.fishPathInfo.path - fish.getComponent(FishMover).startMove() - // this.fishList.push(fish) - this.fishList.set(fish.fishId, fish) - // this.fishContainer.addChild(fish.node) - this.fishContainer.addChild(this.fishList.get(fish.fishId).node) - } - } - - // 创建鱼类 - public createFishByType(data: FishType | any): FishBase { - let fishNode: Node - const fishType: number = Number(data.fishType) - if (this.fishPool[fishType - 1] && this.fishPool[fishType - 1].size() > 0) { - fishNode = this.fishPool[fishType - 1].get() - } else { - fishNode = instantiate(this.fishPrefabList[fishType - 1]) - } - TimeHelper.exeNextFrame(fishNode, () => fishNode.getComponent(Animation).play()) - const fishInfo: FishInfo = FishConfig.getFishInfoByType(fishType) - fishNode.getComponent(FishBase).fishInfo = fishInfo - fishNode.getComponent(FishBase).fishType = fishType - fishNode.getComponent(FishBase).fishId = data.fishId - fishNode.getComponent(FishBase).isDead = 2 - return fishNode.getComponent(FishBase) - } - - // 销毁鱼类 - public killFish(res: any) { - const fishCheck = this.fishList.get(res.fish_id) - // console.log('正在执行销毁=', fishCheck.fishId, res.fish_id, res.fish_status, fishCheck.isDead) - if (fishCheck) { - fishCheck.isDead = 1 - setTimeout(() => { - GameMusicHelper.playFishDead(fishCheck.fishType) - fishCheck.node.getPosition(this._fishPosCache) - const vec2 = new Vec2(this._fishPosCache.x, this._fishPosCache.y) - ScoreManager.instance.addScore(Number(res.fish_number), vec2) - this.destroyFish(fishCheck) - // console.log('killFish=', fishCheck.fishId, fishCheck.fishInfo.name) - this.checkEndFishMap() - }, 500) - tween(fishCheck.node) - .repeatForever(tween().by(0.6, { angle: -360 })) - .start() - - // this.fishList.splice(index, 1) - } - } - - private destroyFish(fish: FishBase) { - const f = this.fishList.get(fish.fishId) - if (!f) return - if (!this.fishPool[f.fishType - 1]) { - this.fishPool[f.fishType - 1] = new NodePool() - } - this.fishPool[f.fishType - 1].put(f.node) - this.fishList.delete(f.fishId) - } - - public playFishMap() { - this.isFishMap = true - this.fishList.forEach((fish: FishBase, key: string) => { - this.destroyFish(fish) - }) - } - - public startFishMap() { - const map: FishMap = FishPathConfig.randomFishMap() - const fishMapInfoList: Array = map.fishMapInfoList - Logger.log('startFishMap==', this.isFishMap, this.fishList, map) - for (let i = 0; i < fishMapInfoList.length; i++) { - const fishMapInfo: FishMapInfo = fishMapInfoList[i] - // 暂时屏蔽 - // @ts-ignore - const fish: FishBase = this.createFishByType(fishMapInfo.fishType) - fish.node.angle = 0 - this.fishContainer.addChild(fish.node) - fish.node.setPosition(fishMapInfo.x + screen.width, fishMapInfo.y) - this.fishList.set(fish.fishId, fish) - } - } - - onDestroy() { - FishManager.instance = null - WsManager.instance.off(100) - } - - protected onDisable(): void {} -} +import { + Animation, + Component, + Node, + NodePool, + Prefab, + Tween, + Vec2, + Vec3, + _decorator, + game, + instantiate, + tween, +} from 'cc' + +import FishBase from '../../../fish/script/FishBase' +import FishMover from '../../../fish/script/FishMover' +import FishUI from '../../../fish/script/FishUI' +import { Logger } from '../../engine/utils/Logger' +import RandomUtil from '../../engine/utils/RandomUtil' +import { FishConfig } from '../config/FishConfig' +import { FishInfo } from '../config/FishInfo' +import { FishMap } from '../config/FishMap' +import { FishMapInfo } from '../config/FishMapInfo' +import { FishPathConfig } from '../config/FishPathConfig' +import GameMusicHelper from '../utils/GameMusicHelper' + +import TimeHelper from '../utils/TimeHelper' + +import ScoreManager from './ScoreManager' +import WsManager from './WsManager' +import { FishPathInfo } from '../config/FishPathInfo' + +const { ccclass, property } = _decorator + +interface dataType { + fisn: Array +} + +interface FishType { + fishId: string + fishInfo: FishInfo + fishType: string + isDead: number + fishPathInfo: Array +} + +interface fishPathInfoType { + pathId: string + path: Array +} + +interface PathPoint { + x: number + y: number +} + +// 鱼管理类 +@ccclass('FishManager') +export default class FishManager extends Component { + public static instance: FishManager = null + @property({ type: Node }) + private fishContainer: Node | null = null + + @property({ type: [Prefab] }) + public fishPrefabList: Array = [] + + private fishPool: Array = [] + private fishList: Map = new Map() + private nextRandomFishTime: number = 0 + private minRandomTime: number = 2 * (game.frameRate as number) + private maxRandomTime: number = 5 * (game.frameRate as number) + private isFishMap: boolean = false + private mapCount: number = 0 + + private _fishPosCache: Vec3 + + onLoad() { + WsManager.instance.on(100, this.randomFish, this) + FishManager.instance = this + this._fishPosCache = new Vec3() + Logger.log('maxRandomTime=', this.minRandomTime, this.maxRandomTime, game.frameRate) + } + + start() { + // this.randomFish() + } + + update() { + // this.checkRandomFish() + this.checkFishMoveEnd() + // this.checkFishMap() + } + + private checkFishMap() { + if (!this.isFishMap) { + if (this.mapCount > 0) { + this.mapCount-- + if (this.mapCount <= 0) FishUI.instance.playWaveEffect() + } + } + } + + // 检测是否随机鱼 + private checkRandomFish() { + if (!this.isFishMap) { + if (this.nextRandomFishTime > 0) { + this.nextRandomFishTime-- + // if (this.nextRandomFishTime === 0) this.randomFish() + } + } + } + + // 检测鱼是否移动结束 + private checkFishMoveEnd() { + this.fishList.forEach(async (item: FishBase, key: string) => { + if (this.isFishMap) { + // 鱼阵回收 + if (item.isDead === 2) { + item.node.getPosition(this._fishPosCache) + this._fishPosCache.x -= 2 + item.node.setPosition(this._fishPosCache) + if (this._fishPosCache.x <= -screen.width / 2) { + // winSize.width + await WsManager.instance.onSend({ + type: 102, + fish_id: item.fishId, + }) + // this.fishList.splice(index, 1) + this.destroyFish(item) + // this.fishList.delete(item.fishId) + this.checkEndFishMap() + } + } + } else if (!item.getComponent(FishMover).isMoving) { + // 普通鱼回收 + await WsManager.instance.onSend({ + type: 102, + fish_id: item.fishId, + }) + // this.fishList.splice(index, 1) + this.destroyFish(item) + // this.fishList.delete(item.fishId) + } + }) + } + + private checkEndFishMap() { + // Logger.log('checkEndFishMap==', this.isFishMap, this.fishList) + if (this.isFishMap && this.fishList.size <= 0) { + this.isFishMap = false + // this.randomFish() + } + } + + /** + * 原:本地随机生成鱼 + * 新:服务端生成鱼 + */ + private async randomFish(data: dataType) { + const arr = data.fisn + const paths: Array = [] + if (!Array.isArray(arr) || this.isFishMap) return + for (let i = 0; i < arr.length; i++) { + const fish: FishBase = this.createFishByType(arr[i]) + for (let k = 0; k < arr[i].fishPathInfo.length; k++) { + const path: Array = [] + + for (let j = 0; j < arr[i].fishPathInfo[k].path.length; j++) { + const p: Vec2 = new Vec2( + arr[i].fishPathInfo[k].path[j].x, + arr[i].fishPathInfo[k].path[j].y, + ) + path.push(p) + } + paths.push(new FishPathInfo(arr[i].fishPathInfo[k].pathId, path)) + } + fish.fishPathInfo = paths[0] + this._fishPosCache.z = 0 + this._fishPosCache.x = fish.fishPathInfo.path[0].x + this._fishPosCache.y = fish.fishPathInfo.path[0].y + fish.node.setPosition(this._fishPosCache) + fish.getComponent(FishMover).bezierPList = fish.fishPathInfo.path + fish.getComponent(FishMover).startMove() + // this.fishList.push(fish) + this.fishList.set(fish.fishId, fish) + // this.fishContainer.addChild(fish.node) + this.fishContainer.addChild(this.fishList.get(fish.fishId).node) + } + } + + // 创建鱼类 + public createFishByType(data: FishType | any): FishBase { + let fishNode: Node + const fishType: number = Number(data.fishType) + if (this.fishPool[fishType - 1] && this.fishPool[fishType - 1].size() > 0) { + fishNode = this.fishPool[fishType - 1].get() + } else { + fishNode = instantiate(this.fishPrefabList[fishType - 1]) + } + TimeHelper.exeNextFrame(fishNode, () => fishNode.getComponent(Animation).play()) + const fishInfo: FishInfo = FishConfig.getFishInfoByType(fishType) + fishNode.getComponent(FishBase).fishInfo = fishInfo + fishNode.getComponent(FishBase).fishType = fishType + fishNode.getComponent(FishBase).fishId = data.fishId + fishNode.getComponent(FishBase).isDead = 2 + return fishNode.getComponent(FishBase) + } + + // 销毁鱼类 + public killFish(res: any) { + const fishCheck = this.fishList.get(res.fish_id) + // console.log('正在执行销毁=', fishCheck.fishId, res.fish_id, res.fish_status, fishCheck.isDead) + if (fishCheck) { + fishCheck.isDead = 1 + setTimeout(() => { + GameMusicHelper.playFishDead(fishCheck.fishType) + fishCheck.node.getPosition(this._fishPosCache) + const vec2 = new Vec2(this._fishPosCache.x, this._fishPosCache.y) + ScoreManager.instance.addScore(Number(res.fish_number), vec2) + this.destroyFish(fishCheck) + // console.log('killFish=', fishCheck.fishId, fishCheck.fishInfo.name) + this.checkEndFishMap() + }, 500) + tween(fishCheck.node) + .repeatForever(tween().by(0.6, { angle: -360 })) + .start() + + // this.fishList.splice(index, 1) + } + } + + private destroyFish(fish: FishBase) { + const f = this.fishList.get(fish.fishId) + if (!f) return + if (!this.fishPool[f.fishType - 1]) { + this.fishPool[f.fishType - 1] = new NodePool() + } + this.fishPool[f.fishType - 1].put(f.node) + this.fishList.delete(f.fishId) + } + + public playFishMap() { + this.isFishMap = true + this.fishList.forEach((fish: FishBase, key: string) => { + this.destroyFish(fish) + }) + } + + public startFishMap() { + const map: FishMap = FishPathConfig.randomFishMap() + const fishMapInfoList: Array = map.fishMapInfoList + Logger.log('startFishMap==', this.isFishMap, this.fishList, map) + for (let i = 0; i < fishMapInfoList.length; i++) { + const fishMapInfo: FishMapInfo = fishMapInfoList[i] + // 暂时屏蔽 + // @ts-ignore + const fish: FishBase = this.createFishByType(fishMapInfo.fishType) + fish.node.angle = 0 + this.fishContainer.addChild(fish.node) + fish.node.setPosition(fishMapInfo.x + screen.width, fishMapInfo.y) + this.fishList.set(fish.fishId, fish) + } + } + + onDestroy() { + FishManager.instance = null + WsManager.instance.off(100) + } + + protected onDisable(): void {} +} diff --git a/assets/FishSingle/script/game/manager/FishManager.ts.meta b/assets/FishSingle/script/game/manager/FishManager.ts.meta index f5f2c6c..08d800f 100644 --- a/assets/FishSingle/script/game/manager/FishManager.ts.meta +++ b/assets/FishSingle/script/game/manager/FishManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "b20609a9-5a1b-4119-9fb1-399b45155aab", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "b20609a9-5a1b-4119-9fb1-399b45155aab", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager/FishNetManager.ts b/assets/FishSingle/script/game/manager/FishNetManager.ts index 5d81356..a4f4a20 100644 --- a/assets/FishSingle/script/game/manager/FishNetManager.ts +++ b/assets/FishSingle/script/game/manager/FishNetManager.ts @@ -1,53 +1,53 @@ -import { Component, Node, NodePool, Prefab, Vec2, Vec3, _decorator, instantiate } from 'cc' - -import FishNetBase from '../../../fish/script/FishNetBase' - -const { ccclass, property } = _decorator - -// 鱼网管理类 -@ccclass('FishNetManager') -export default class FishNetManager extends Component { - public static instance: FishNetManager = null - @property({ type: [Prefab] }) - private netPrefabList: Prefab[] | [] = [] - - private fishNetPool: Array = [] - - onLoad() { - FishNetManager.instance = this - } - - // 添加鱼网 - public addFishNet(netType: number, p: Vec2) { - const fishNet: FishNetBase = this.createFishNet(netType) - this.node.addChild(fishNet.node) - fishNet.node.setPosition(new Vec3(p.x, p.y, 0)) - fishNet.playMv() - } - - // 创建鱼网 - private createFishNet(netType: number) { - let fishNetNode: Node - if (this.fishNetPool[netType] && this.fishNetPool[netType].size() > 0) { - fishNetNode = this.fishNetPool[netType].get() - } else { - fishNetNode = instantiate(this.netPrefabList[netType]) - } - - fishNetNode.getComponent(FishNetBase).netType = netType - return fishNetNode.getComponent(FishNetBase) - } - - // 销毁鱼网 - public destroyFishNet(fishNet: FishNetBase) { - if (!this.fishNetPool[fishNet.netType]) { - this.fishNetPool[fishNet.netType] = new NodePool() - } - - this.fishNetPool[fishNet.netType].put(fishNet.node) - } - - onDestroy() { - FishNetManager.instance = null - } -} +import { Component, Node, NodePool, Prefab, Vec2, Vec3, _decorator, instantiate } from 'cc' + +import FishNetBase from '../../../fish/script/FishNetBase' + +const { ccclass, property } = _decorator + +// 鱼网管理类 +@ccclass('FishNetManager') +export default class FishNetManager extends Component { + public static instance: FishNetManager = null + @property({ type: [Prefab] }) + private netPrefabList: Prefab[] | [] = [] + + private fishNetPool: Array = [] + + onLoad() { + FishNetManager.instance = this + } + + // 添加鱼网 + public addFishNet(netType: number, p: Vec2) { + const fishNet: FishNetBase = this.createFishNet(netType) + this.node.addChild(fishNet.node) + fishNet.node.setPosition(new Vec3(p.x, p.y, 0)) + fishNet.playMv() + } + + // 创建鱼网 + private createFishNet(netType: number) { + let fishNetNode: Node + if (this.fishNetPool[netType] && this.fishNetPool[netType].size() > 0) { + fishNetNode = this.fishNetPool[netType].get() + } else { + fishNetNode = instantiate(this.netPrefabList[netType]) + } + + fishNetNode.getComponent(FishNetBase).netType = netType + return fishNetNode.getComponent(FishNetBase) + } + + // 销毁鱼网 + public destroyFishNet(fishNet: FishNetBase) { + if (!this.fishNetPool[fishNet.netType]) { + this.fishNetPool[fishNet.netType] = new NodePool() + } + + this.fishNetPool[fishNet.netType].put(fishNet.node) + } + + onDestroy() { + FishNetManager.instance = null + } +} diff --git a/assets/FishSingle/script/game/manager/FishNetManager.ts.meta b/assets/FishSingle/script/game/manager/FishNetManager.ts.meta index 605d749..176026c 100644 --- a/assets/FishSingle/script/game/manager/FishNetManager.ts.meta +++ b/assets/FishSingle/script/game/manager/FishNetManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "fec491b0-4f6f-4a17-928d-a4ee3c2bb567", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "fec491b0-4f6f-4a17-928d-a4ee3c2bb567", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager/ScoreManager.ts b/assets/FishSingle/script/game/manager/ScoreManager.ts index 9dc65e4..735e842 100644 --- a/assets/FishSingle/script/game/manager/ScoreManager.ts +++ b/assets/FishSingle/script/game/manager/ScoreManager.ts @@ -1,54 +1,54 @@ -import { Component, Node, NodePool, Prefab, Vec2, Vec3, _decorator, instantiate } from 'cc' - -import FishUI from '../../../fish/script/FishUI' -import ScorePrefab from '../prefab/ScorePrefab' - -const { ccclass, property } = _decorator - -@ccclass('ScoreManager') -export default class ScoreManager extends Component { - public static instance: ScoreManager = null - @property({ type: Prefab }) - private scrorePrefab: Prefab | null = null - - private scorePool: NodePool - - onLoad() { - ScoreManager.instance = this - this.scorePool = new NodePool() - } - - // 添加积分 - public addScore(score: number, p: Vec2) { - const scorePrefab: ScorePrefab = this.createScore(score) - this.node.addChild(scorePrefab.node) - scorePrefab.node.setPosition(new Vec3(p.x, p.y, 0)) - scorePrefab.init(score) - scorePrefab.playMoveEffect(new Vec2(-472.398, -547.481), () => { - this.destroyScore(scorePrefab) - // 本地不在添加积分 - // FishUI.instance.jf_score += score - // FishUI.instance.refreshScore() - }) - } - - // 创建积分 - private createScore(score: number): ScorePrefab { - let scoreNode: Node - if (this.scorePool && this.scorePool.size() > 0) scoreNode = this.scorePool.get() - else scoreNode = instantiate(this.scrorePrefab) - - return scoreNode.getComponent(ScorePrefab) - } - - // 销毁积分 - private destroyScore(scorePrefab: ScorePrefab) { - this.scorePool.put(scorePrefab.node) - } - - onDisable() {} - - onDestroy() { - ScoreManager.instance = null - } -} +import { Component, Node, NodePool, Prefab, Vec2, Vec3, _decorator, instantiate } from 'cc' + +import FishUI from '../../../fish/script/FishUI' +import ScorePrefab from '../prefab/ScorePrefab' + +const { ccclass, property } = _decorator + +@ccclass('ScoreManager') +export default class ScoreManager extends Component { + public static instance: ScoreManager = null + @property({ type: Prefab }) + private scrorePrefab: Prefab | null = null + + private scorePool: NodePool + + onLoad() { + ScoreManager.instance = this + this.scorePool = new NodePool() + } + + // 添加积分 + public addScore(score: number, p: Vec2) { + const scorePrefab: ScorePrefab = this.createScore(score) + this.node.addChild(scorePrefab.node) + scorePrefab.node.setPosition(new Vec3(p.x, p.y, 0)) + scorePrefab.init(score) + scorePrefab.playMoveEffect(new Vec2(-472.398, -547.481), () => { + this.destroyScore(scorePrefab) + // 本地不在添加积分 + // FishUI.instance.jf_score += score + // FishUI.instance.refreshScore() + }) + } + + // 创建积分 + private createScore(score: number): ScorePrefab { + let scoreNode: Node + if (this.scorePool && this.scorePool.size() > 0) scoreNode = this.scorePool.get() + else scoreNode = instantiate(this.scrorePrefab) + + return scoreNode.getComponent(ScorePrefab) + } + + // 销毁积分 + private destroyScore(scorePrefab: ScorePrefab) { + this.scorePool.put(scorePrefab.node) + } + + onDisable() {} + + onDestroy() { + ScoreManager.instance = null + } +} diff --git a/assets/FishSingle/script/game/manager/ScoreManager.ts.meta b/assets/FishSingle/script/game/manager/ScoreManager.ts.meta index 13aad3e..6a04c2a 100644 --- a/assets/FishSingle/script/game/manager/ScoreManager.ts.meta +++ b/assets/FishSingle/script/game/manager/ScoreManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "ff2defbe-9c85-4632-b16a-021567da1bdd", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "ff2defbe-9c85-4632-b16a-021567da1bdd", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/manager/WsManager.ts b/assets/FishSingle/script/game/manager/WsManager.ts index 0acc344..47b7d21 100644 --- a/assets/FishSingle/script/game/manager/WsManager.ts +++ b/assets/FishSingle/script/game/manager/WsManager.ts @@ -1,137 +1,137 @@ -import { _decorator } from 'cc' -import CommonTips from '../../engine/uicomponent/CommonTips' -import FishUI from '../../../fish/script/FishUI' -import config from '../config/Config' - -export default class WsManager { - private static _instance: WsManager = null - uid: string - - message: any - - t_id: any = null - - public static get instance() { - if (!this._instance) { - this._instance = new WsManager() - } - return this._instance - } - - private _socket: WebSocket | null = null - - protected m_mapCallbackFun: Map - - constructor() { - this.m_mapCallbackFun = new Map() - } - - public on(msgId: number, cb: Function, target: any) { - let callback = cb.bind(target) - let fnCallback: Function = this.m_mapCallbackFun.get(msgId) - if (fnCallback) { - console.error('重复注册消息处理函数! msgId:' + msgId) - } else { - this.m_mapCallbackFun.set(msgId, callback) - } - } - - public off(msgId: number) { - if (this.m_mapCallbackFun.has(msgId)) { - this.m_mapCallbackFun.delete(msgId) - } - } - - public get(msgId: number) { - return this.m_mapCallbackFun.get(msgId) - } - - public offAll() { - this.m_mapCallbackFun.clear() - } - - // 获取url参数 - public getQueryString(name: string) { - var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') - var r = window.location.search.substr(1).match(reg) - if (r != null) { - return unescape(r[2]) - } - return null - } - - public init(): void { - this.uid = this.getQueryString('uid') - this._socket = new WebSocket(`wss://${config.wsUrl()}/fish/home?uid=${this.uid}`) - - // 添加事件监听器 - this._socket.onopen = this.onOpen.bind(this) - this._socket.onmessage = this.onMessage.bind(this) - this._socket.onclose = this.onClose.bind(this) - this._socket.onerror = this.onError.bind(this) - } - - public onOpen(): void { - console.log('WebSocket connection opened.') - setInterval(() => { - this._socket.send(JSON.stringify('ping')) - }, 20000) - this.clear() - } - - public async onSend(data: any): Promise { - if (this._socket && this._socket.readyState === WebSocket.OPEN) { - this._socket.send(JSON.stringify(data)) - } else { - console.error('消息发送失败!!!') - } - } - - /** - * 处理接收到的消息 - * @param event WebSocket message event - */ - public onMessage(event: MessageEvent): void { - this.message = JSON.parse(event.data) - - if (this.message.code === 200 || this.message.code === 5) { - FishUI.instance.refreshScore(this.message) - } - - let fnCallback: Function = this.m_mapCallbackFun.get(this.message.code) - - if (fnCallback) { - fnCallback(this.message) - } - } - - /** - * 关闭WebSocket连接 - */ - public onClose(): void { - console.log('链接已关闭') - CommonTips.showMsg('游戏服务器中断关闭,正在重试') - // this.init() - if (this._socket) { - this._socket.close() - this._socket = null - } - this.t_id = setInterval(() => { - WsManager.instance.init() - }, 8000) - } - - public onError(event: Event): void { - CommonTips.showMsg('网络连接失败,正在重试链接游戏服务器') - this.t_id = setInterval(() => { - WsManager.instance.init() - }, 8000) - } - - public clear() { - if (this.t_id) { - clearInterval(this.t_id) - this.t_id = null - } - } -} +import { _decorator } from 'cc' +import CommonTips from '../../engine/uicomponent/CommonTips' +import FishUI from '../../../fish/script/FishUI' +import config from '../config/Config' + +export default class WsManager { + private static _instance: WsManager = null + uid: string + + message: any + + t_id: any = null + + public static get instance() { + if (!this._instance) { + this._instance = new WsManager() + } + return this._instance + } + + private _socket: WebSocket | null = null + + protected m_mapCallbackFun: Map + + constructor() { + this.m_mapCallbackFun = new Map() + } + + public on(msgId: number, cb: Function, target: any) { + let callback = cb.bind(target) + let fnCallback: Function = this.m_mapCallbackFun.get(msgId) + if (fnCallback) { + console.error('重复注册消息处理函数! msgId:' + msgId) + } else { + this.m_mapCallbackFun.set(msgId, callback) + } + } + + public off(msgId: number) { + if (this.m_mapCallbackFun.has(msgId)) { + this.m_mapCallbackFun.delete(msgId) + } + } + + public get(msgId: number) { + return this.m_mapCallbackFun.get(msgId) + } + + public offAll() { + this.m_mapCallbackFun.clear() + } + + // 获取url参数 + public getQueryString(name: string) { + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i') + var r = window.location.search.substr(1).match(reg) + if (r != null) { + return unescape(r[2]) + } + return null + } + + public init(): void { + this.uid = this.getQueryString('uid') + this._socket = new WebSocket(`wss://${config.wsUrl()}/fish/home?uid=${this.uid}`) + + // 添加事件监听器 + this._socket.onopen = this.onOpen.bind(this) + this._socket.onmessage = this.onMessage.bind(this) + this._socket.onclose = this.onClose.bind(this) + this._socket.onerror = this.onError.bind(this) + } + + public onOpen(): void { + console.log('WebSocket connection opened.') + setInterval(() => { + this._socket.send(JSON.stringify('ping')) + }, 20000) + this.clear() + } + + public async onSend(data: any): Promise { + if (this._socket && this._socket.readyState === WebSocket.OPEN) { + this._socket.send(JSON.stringify(data)) + } else { + console.error('消息发送失败!!!') + } + } + + /** + * 处理接收到的消息 + * @param event WebSocket message event + */ + public onMessage(event: MessageEvent): void { + this.message = JSON.parse(event.data) + + if (this.message.code === 200 || this.message.code === 5) { + FishUI.instance.refreshScore(this.message) + } + + let fnCallback: Function = this.m_mapCallbackFun.get(this.message.code) + + if (fnCallback) { + fnCallback(this.message) + } + } + + /** + * 关闭WebSocket连接 + */ + public onClose(): void { + console.log('链接已关闭') + CommonTips.showMsg('游戏服务器中断关闭,正在重试') + // this.init() + if (this._socket) { + this._socket.close() + this._socket = null + } + this.t_id = setInterval(() => { + WsManager.instance.init() + }, 8000) + } + + public onError(event: Event): void { + CommonTips.showMsg('网络连接失败,正在重试链接游戏服务器') + this.t_id = setInterval(() => { + WsManager.instance.init() + }, 8000) + } + + public clear() { + if (this.t_id) { + clearInterval(this.t_id) + this.t_id = null + } + } +} diff --git a/assets/FishSingle/script/game/manager/WsManager.ts.meta b/assets/FishSingle/script/game/manager/WsManager.ts.meta index d2729d5..51c70f9 100644 --- a/assets/FishSingle/script/game/manager/WsManager.ts.meta +++ b/assets/FishSingle/script/game/manager/WsManager.ts.meta @@ -1,9 +1,9 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "44f1bff8-2972-4ae5-8f53-e0daaa97b92e", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "44f1bff8-2972-4ae5-8f53-e0daaa97b92e", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/script/game/prefab.meta b/assets/FishSingle/script/game/prefab.meta index 1ae0732..0beb03f 100644 --- a/assets/FishSingle/script/game/prefab.meta +++ b/assets/FishSingle/script/game/prefab.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "a52a8a98-fc73-4bb3-9081-157a181af0a9", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "a52a8a98-fc73-4bb3-9081-157a181af0a9", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/prefab/ResourcePrefab.ts b/assets/FishSingle/script/game/prefab/ResourcePrefab.ts index 23abc1f..afc95be 100644 --- a/assets/FishSingle/script/game/prefab/ResourcePrefab.ts +++ b/assets/FishSingle/script/game/prefab/ResourcePrefab.ts @@ -1,36 +1,36 @@ -import { Component, Node, Prefab, _decorator, instantiate } from 'cc' - -import PrefabLoader from '../../engine/utils/PrefabLoader' -import { GameConfig } from '../config/GameConfig' - -const { ccclass, property } = _decorator - -@ccclass('ResourcePrefab') -export default class ResourcePrefab extends Component { - private static prefab: Prefab | null = null - public static instance: Node - @property({ type: Prefab }) - private scorePrefab: Prefab | null = null - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/game/prefab/ResourcePrefab`, - (loadedResource: Prefab) => { - ResourcePrefab.prefab = loadedResource - ResourcePrefab.instance = instantiate(loadedResource) - resolve() - }, - ) - }) - } - - public static clear() { - ResourcePrefab.instance = null - ResourcePrefab.prefab = null - } - - public static getScorePrefab() { - return ResourcePrefab.instance.getComponent(ResourcePrefab).scorePrefab - } -} +import { Component, Node, Prefab, _decorator, instantiate } from 'cc' + +import PrefabLoader from '../../engine/utils/PrefabLoader' +import { GameConfig } from '../config/GameConfig' + +const { ccclass, property } = _decorator + +@ccclass('ResourcePrefab') +export default class ResourcePrefab extends Component { + private static prefab: Prefab | null = null + public static instance: Node + @property({ type: Prefab }) + private scorePrefab: Prefab | null = null + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/game/prefab/ResourcePrefab`, + (loadedResource: Prefab) => { + ResourcePrefab.prefab = loadedResource + ResourcePrefab.instance = instantiate(loadedResource) + resolve() + }, + ) + }) + } + + public static clear() { + ResourcePrefab.instance = null + ResourcePrefab.prefab = null + } + + public static getScorePrefab() { + return ResourcePrefab.instance.getComponent(ResourcePrefab).scorePrefab + } +} diff --git a/assets/FishSingle/script/game/prefab/ResourcePrefab.ts.meta b/assets/FishSingle/script/game/prefab/ResourcePrefab.ts.meta index 4c6c1e6..3c4394e 100644 --- a/assets/FishSingle/script/game/prefab/ResourcePrefab.ts.meta +++ b/assets/FishSingle/script/game/prefab/ResourcePrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "e0c999fe-5635-4caa-8c3b-d16793848320", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "e0c999fe-5635-4caa-8c3b-d16793848320", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/prefab/ScorePrefab.ts b/assets/FishSingle/script/game/prefab/ScorePrefab.ts index 4334eb6..84794b8 100644 --- a/assets/FishSingle/script/game/prefab/ScorePrefab.ts +++ b/assets/FishSingle/script/game/prefab/ScorePrefab.ts @@ -1,27 +1,27 @@ -import { Component, Label, Tween, Vec2, Vec3, _decorator, tween } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('ScorePrefab') -export default class ScorePrefab extends Component { - @property({ type: Label }) - private txtScore: Label | null = null - - public init(score: number) { - if (score <= 0) this.txtScore.string = 'Miss' - else this.txtScore.string = `${score}` - } - - public playMoveEffect(p: Vec2, callback: Function = null) { - tween(this.node) - .to(0.5, { scale: new Vec3(3, 3, 3), position: new Vec3(p.x, p.y, 0) }) - .call(() => { - if (callback) callback() - }) - .start() - } - - onDisable() { - Tween.stopAllByTarget(this.node) - } -} +import { Component, Label, Tween, Vec2, Vec3, _decorator, tween } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('ScorePrefab') +export default class ScorePrefab extends Component { + @property({ type: Label }) + private txtScore: Label | null = null + + public init(score: number) { + if (score <= 0) this.txtScore.string = 'Miss' + else this.txtScore.string = `${score}` + } + + public playMoveEffect(p: Vec2, callback: Function = null) { + tween(this.node) + .to(0.5, { scale: new Vec3(3, 3, 3), position: new Vec3(p.x, p.y, 0) }) + .call(() => { + if (callback) callback() + }) + .start() + } + + onDisable() { + Tween.stopAllByTarget(this.node) + } +} diff --git a/assets/FishSingle/script/game/prefab/ScorePrefab.ts.meta b/assets/FishSingle/script/game/prefab/ScorePrefab.ts.meta index cc195a3..f0fcc0e 100644 --- a/assets/FishSingle/script/game/prefab/ScorePrefab.ts.meta +++ b/assets/FishSingle/script/game/prefab/ScorePrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "465f63cc-b6fe-4ea9-9a10-79254fbe67cc", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "465f63cc-b6fe-4ea9-9a10-79254fbe67cc", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts b/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts index 447e0fc..5badce4 100644 --- a/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts +++ b/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts @@ -1,50 +1,50 @@ -import { Component, Material, Node, Prefab, _decorator, instantiate } from 'cc' - -import PrefabLoader from '../../engine/utils/PrefabLoader' -import { GameConfig } from '../config/GameConfig' - -const { ccclass, property } = _decorator - -@ccclass('ShaderMaterialPrefab') -export default class ShaderMaterialPrefab extends Component { - public static instance: Node - - @property({ type: Material }) - public default: Material | null = null - - @property({ type: Material }) - public grayMaterial: Material | null = null - - @property({ type: Material }) - public oldPhoto: Material | null = null - - @property({ type: Material }) - public glowInner: Material | null = null - - @property({ type: Material }) - public mosaic: Material | null = null - - @property({ type: Material }) - public roundCornerCrop: Material | null = null - - @property({ type: Material }) - public flashLight: Material | null = null - - @property({ type: Material }) - public flag: Material | null = null - - @property({ type: Material }) - public gaussian: Material | null = null - - public static preLoad(): Promise { - return new Promise((resolve, reject) => { - PrefabLoader.loadPrefab( - `${GameConfig.GameName}/game/prefab/ShaderMaterialPrefab`, - (loadedResource: Prefab) => { - ShaderMaterialPrefab.instance = instantiate(loadedResource) - resolve() - }, - ) - }) - } -} +import { Component, Material, Node, Prefab, _decorator, instantiate } from 'cc' + +import PrefabLoader from '../../engine/utils/PrefabLoader' +import { GameConfig } from '../config/GameConfig' + +const { ccclass, property } = _decorator + +@ccclass('ShaderMaterialPrefab') +export default class ShaderMaterialPrefab extends Component { + public static instance: Node + + @property({ type: Material }) + public default: Material | null = null + + @property({ type: Material }) + public grayMaterial: Material | null = null + + @property({ type: Material }) + public oldPhoto: Material | null = null + + @property({ type: Material }) + public glowInner: Material | null = null + + @property({ type: Material }) + public mosaic: Material | null = null + + @property({ type: Material }) + public roundCornerCrop: Material | null = null + + @property({ type: Material }) + public flashLight: Material | null = null + + @property({ type: Material }) + public flag: Material | null = null + + @property({ type: Material }) + public gaussian: Material | null = null + + public static preLoad(): Promise { + return new Promise((resolve, reject) => { + PrefabLoader.loadPrefab( + `${GameConfig.GameName}/game/prefab/ShaderMaterialPrefab`, + (loadedResource: Prefab) => { + ShaderMaterialPrefab.instance = instantiate(loadedResource) + resolve() + }, + ) + }) + } +} diff --git a/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts.meta b/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts.meta index f43aa61..16831a2 100644 --- a/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts.meta +++ b/assets/FishSingle/script/game/prefab/ShaderMaterialPrefab.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "7c56c670-6b06-4cf1-a606-7af6226a3cb6", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "7c56c670-6b06-4cf1-a606-7af6226a3cb6", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/scene.meta b/assets/FishSingle/script/game/scene.meta index efe3940..ca8419c 100644 --- a/assets/FishSingle/script/game/scene.meta +++ b/assets/FishSingle/script/game/scene.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "8041396e-ebea-4101-a42b-e0eee5b71be2", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "8041396e-ebea-4101-a42b-e0eee5b71be2", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/scene/FishGameScene.ts b/assets/FishSingle/script/game/scene/FishGameScene.ts index abd4d93..293f03e 100644 --- a/assets/FishSingle/script/game/scene/FishGameScene.ts +++ b/assets/FishSingle/script/game/scene/FishGameScene.ts @@ -1,111 +1,111 @@ -import { - Component, - Game, - Node, - Prefab, - Sprite, - Tween, - Vec3, - _decorator, - director, - game, - instantiate, -} from 'cc' - -import FishMover from '../../../fish/script/FishMover' -import FishWiki from '../../../fish/script/FishWiki' -import TextureMgr from '../../engine/uicomponent/TextureMgr' -import { Logger } from '../../engine/utils/Logger' -import RandomUtil from '../../engine/utils/RandomUtil' -import { FishPathConfig } from '../config/FishPathConfig' -import { FishPathInfo } from '../config/FishPathInfo' -import WsManager from '../manager/WsManager' -import GameMusicHelper from '../utils/GameMusicHelper' -import CommonTips from '../../engine/uicomponent/CommonTips' - -const { ccclass, property } = _decorator - -@ccclass('FishGameScene') -export default class FishGameScene extends Component { - @property(Sprite) - private bg: Sprite | null = null - - @property({ type: [Prefab] }) - private fishPrefabList: Array | null = [] - - private showNode: Node | null = null - - onLoad() { - this.onLoadMe() - } - - onDestroy() { - this.onDestroyMe() - } - - onLoadMe() { - WsManager.instance.init() - GameMusicHelper.playBg() - WsManager.instance.on(400, this.showMsg, this) - // FishPathConfig.init() - // this.initBg() - // this.testPathPlay() - game.on(Game.EVENT_HIDE, this.onHide, this) - game.on(Game.EVENT_SHOW, this.onAppShow, this) - } - - private initBg() { - const textureMgr: TextureMgr = this.bg.getComponent(TextureMgr) - this.bg.spriteFrame = - textureMgr.Spriteset[RandomUtil.nextInt(0, textureMgr.Spriteset.length - 1)] - } - - private initShowNode() { - if (this.showNode) { - this.showNode.destroy() - this.showNode = null - } - const fishType: number = 29 - if (fishType < 1 || fishType > 29) return - - this.showNode = instantiate(this.fishPrefabList[fishType - 1]) - this.showNode.getComponent(FishMover).speed = 2 - this.showNode.getComponent(FishMover).node.setScale(new Vec3(2, 2, 1)) - this.node.addChild(this.showNode) - } - - private testPathPlay() { - this.initShowNode() - const pathInfo: FishPathInfo = FishPathConfig.getPathInfo(3) - Logger.log('testPathPlay=pathInfo=', pathInfo) - const params = pathInfo.path - const param0 = params[0] - Logger.log('testPathPlay=11=', param0) - this.showNode.setPosition(new Vec3(param0.x, param0.y, 0)) - this.showNode.getComponent(FishMover).bezierPList = params - this.showNode.getComponent(FishMover).startMove() - } - - private onClickWiki() { - FishWiki.show() - } - - private showMsg(res: any) { - Logger.log('showMsg=res=', res) - CommonTips.showMsg(res.msg) - } - - onDestroyMe() { - this.unscheduleAllCallbacks() - // this.node.stopAllActions(); - Tween.stopAllByTarget(this.node) - } - - onHide() { - director.pause() - } - - onAppShow() { - director.resume() - } -} +import { + Component, + Game, + Node, + Prefab, + Sprite, + Tween, + Vec3, + _decorator, + director, + game, + instantiate, +} from 'cc' + +import FishMover from '../../../fish/script/FishMover' +import FishWiki from '../../../fish/script/FishWiki' +import TextureMgr from '../../engine/uicomponent/TextureMgr' +import { Logger } from '../../engine/utils/Logger' +import RandomUtil from '../../engine/utils/RandomUtil' +import { FishPathConfig } from '../config/FishPathConfig' +import { FishPathInfo } from '../config/FishPathInfo' +import WsManager from '../manager/WsManager' +import GameMusicHelper from '../utils/GameMusicHelper' +import CommonTips from '../../engine/uicomponent/CommonTips' + +const { ccclass, property } = _decorator + +@ccclass('FishGameScene') +export default class FishGameScene extends Component { + @property(Sprite) + private bg: Sprite | null = null + + @property({ type: [Prefab] }) + private fishPrefabList: Array | null = [] + + private showNode: Node | null = null + + onLoad() { + this.onLoadMe() + } + + onDestroy() { + this.onDestroyMe() + } + + onLoadMe() { + WsManager.instance.init() + GameMusicHelper.playBg() + WsManager.instance.on(400, this.showMsg, this) + // FishPathConfig.init() + // this.initBg() + // this.testPathPlay() + game.on(Game.EVENT_HIDE, this.onHide, this) + game.on(Game.EVENT_SHOW, this.onAppShow, this) + } + + private initBg() { + const textureMgr: TextureMgr = this.bg.getComponent(TextureMgr) + this.bg.spriteFrame = + textureMgr.Spriteset[RandomUtil.nextInt(0, textureMgr.Spriteset.length - 1)] + } + + private initShowNode() { + if (this.showNode) { + this.showNode.destroy() + this.showNode = null + } + const fishType: number = 29 + if (fishType < 1 || fishType > 29) return + + this.showNode = instantiate(this.fishPrefabList[fishType - 1]) + this.showNode.getComponent(FishMover).speed = 2 + this.showNode.getComponent(FishMover).node.setScale(new Vec3(2, 2, 1)) + this.node.addChild(this.showNode) + } + + private testPathPlay() { + this.initShowNode() + const pathInfo: FishPathInfo = FishPathConfig.getPathInfo(3) + Logger.log('testPathPlay=pathInfo=', pathInfo) + const params = pathInfo.path + const param0 = params[0] + Logger.log('testPathPlay=11=', param0) + this.showNode.setPosition(new Vec3(param0.x, param0.y, 0)) + this.showNode.getComponent(FishMover).bezierPList = params + this.showNode.getComponent(FishMover).startMove() + } + + private onClickWiki() { + FishWiki.show() + } + + private showMsg(res: any) { + Logger.log('showMsg=res=', res) + CommonTips.showMsg(res.msg) + } + + onDestroyMe() { + this.unscheduleAllCallbacks() + // this.node.stopAllActions(); + Tween.stopAllByTarget(this.node) + } + + onHide() { + director.pause() + } + + onAppShow() { + director.resume() + } +} diff --git a/assets/FishSingle/script/game/scene/FishGameScene.ts.meta b/assets/FishSingle/script/game/scene/FishGameScene.ts.meta index 1e321cd..2adabaf 100644 --- a/assets/FishSingle/script/game/scene/FishGameScene.ts.meta +++ b/assets/FishSingle/script/game/scene/FishGameScene.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "ebb8d437-f642-4a91-9a2c-6d9b8743d7d7", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "ebb8d437-f642-4a91-9a2c-6d9b8743d7d7", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/scene/LoadingScene.ts b/assets/FishSingle/script/game/scene/LoadingScene.ts index 9c848e1..f765e49 100644 --- a/assets/FishSingle/script/game/scene/LoadingScene.ts +++ b/assets/FishSingle/script/game/scene/LoadingScene.ts @@ -1,137 +1,137 @@ -import { - _decorator, - Node, - sys, - profiler, - DynamicAtlasManager, - PhysicsSystem2D, - Component, -} from 'cc' -const { ccclass, property } = _decorator - -import MusicConfig from '../../engine/config/MusicConfig' -import CommonTips from '../../engine/uicomponent/CommonTips' -import Progress from '../../engine/uicomponent/Progress' -import EventManager, { HaoEvent } from '../../engine/utils/EventManager' -import HotUpdate from '../../engine/utils/HotUpdate' -import { Logger } from '../../engine/utils/Logger' -import VersionManager from '../../engine/utils/VersionManager' -import ResourcePreload from '../utils/ResourcePreload' -import SceneManager from './SceneManager' -import { FishConfig } from '../config/FishConfig' - -@ccclass('LoadingScene') -export default class LoadingScene extends Component { - public static scriptName: string = 'LoadingScene' - @property({ type: Node }) - private progressNode: Node | null = null - - protected onLoad(): void { - this.onLoadMe() - } - - protected onDestroy(): void { - this.onDestroyMe() - } - - onLoadMe() { - this.baseInit() - EventManager.instance.addListener(HotUpdate.Event_On_NeedUpdate, this.onNeedUpdate, this) - EventManager.instance.addListener(HotUpdate.Event_On_Progress, this.onUpdateProgress, this) - EventManager.instance.addListener(HotUpdate.Event_On_Fail_Update, this.onUpdateFail, this) - EventManager.instance.addListener(HotUpdate.Event_Finish_Update, this.onUpdateFinish, this) - EventManager.instance.addListener( - HotUpdate.Event_On_ALREADY_UP_TO_DATE, - this.onUpdateFinish, - this, - ) - if (sys.isNative && VersionManager.instance.isOpenHotUpdate) { - this.checkUpdate() - } else { - this.preLoadRes() - } - } - - private async baseInit() { - try { - await FishConfig.init() - profiler.hideStats() //showStats - //let collisionManager:cc.CollisionManager = director.getCollisionManager(); - PhysicsSystem2D.instance.enable = true - - // PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb | - // EPhysics2DDrawFlags.Pair | - // EPhysics2DDrawFlags.CenterOfMass | - // EPhysics2DDrawFlags.Joint | - // EPhysics2DDrawFlags.Shape; - - //if(collisionManager){ - //collisionManager.enabled = true; - // collisionManager.enabledDebugDraw = true; - // collisionManager.enabledDrawBoundingBox = true; - //} - - if (DynamicAtlasManager.instance) { - DynamicAtlasManager.instance.enabled = false - } - MusicConfig.init() - // cc.director.getCollisionManager().enabled=true;//这是一个全局属性,开启后就代表碰撞检测组件可以进行检测了 - // cc.director.getCollisionManager().enabledDebugDraw = true; //绘制碰撞区域 - } catch (error) { - Logger.error(this, error) - } - } - - private checkUpdate() { - Logger.log(this, 'checkUpdate====') - VersionManager.instance.checkUpdate(0) - } - - private onNeedUpdate(event: HaoEvent, key: string) { - Logger.log(this, 'onNeedUpdate=====', key, VersionManager.Config_Key) - if (key == VersionManager.Config_Key[0]) { - VersionManager.instance.startUpdate(0) - } - } - - private onUpdateProgress(event, loadedFiles, totalFiles, key) { - if (key == VersionManager.Config_Key[0]) { - let msg: string = Math.min(100, (loadedFiles / totalFiles) * 100).toFixed(2) + '%' - this.progressNode.getComponent(Progress).updateProgress(loadedFiles, totalFiles, msg) - } - } - - private onUpdateFail(event, key: string) { - if (key == VersionManager.Config_Key[0]) { - Logger.warn(this, '热更新失败========') - CommonTips.showMsg('热更新失败') - ResourcePreload.instance.restartGame() - } - } - - private onUpdateFinish(event, key: string, needRestart: boolean) { - Logger.log(this, 'onUpdateFinish========') - if (key == VersionManager.Config_Key[0] && !needRestart) { - this.preLoadRes() - } - } - - private async preLoadRes() { - ResourcePreload.instance.preLoad(() => { - this.startGame() - }, this.progressNode.getComponent(Progress)) - } - - private startGame() { - Logger.info(this, 'startGame') - SceneManager.instance.sceneSwitch('FishGameScene', true) - } - - onDestroyMe() { - EventManager.instance.removeListener(HotUpdate.Event_On_NeedUpdate, this.onNeedUpdate) - EventManager.instance.removeListener(HotUpdate.Event_On_Progress, this.onUpdateProgress) - EventManager.instance.removeListener(HotUpdate.Event_On_Fail_Update, this.onUpdateFail) - EventManager.instance.removeListener(HotUpdate.Event_Finish_Update, this.onUpdateFinish) - EventManager.instance.removeListener(HotUpdate.Event_On_ALREADY_UP_TO_DATE, this.onUpdateFinish) - } -} +import { + _decorator, + Node, + sys, + profiler, + DynamicAtlasManager, + PhysicsSystem2D, + Component, +} from 'cc' +const { ccclass, property } = _decorator + +import MusicConfig from '../../engine/config/MusicConfig' +import CommonTips from '../../engine/uicomponent/CommonTips' +import Progress from '../../engine/uicomponent/Progress' +import EventManager, { HaoEvent } from '../../engine/utils/EventManager' +import HotUpdate from '../../engine/utils/HotUpdate' +import { Logger } from '../../engine/utils/Logger' +import VersionManager from '../../engine/utils/VersionManager' +import ResourcePreload from '../utils/ResourcePreload' +import SceneManager from './SceneManager' +import { FishConfig } from '../config/FishConfig' + +@ccclass('LoadingScene') +export default class LoadingScene extends Component { + public static scriptName: string = 'LoadingScene' + @property({ type: Node }) + private progressNode: Node | null = null + + protected onLoad(): void { + this.onLoadMe() + } + + protected onDestroy(): void { + this.onDestroyMe() + } + + onLoadMe() { + this.baseInit() + EventManager.instance.addListener(HotUpdate.Event_On_NeedUpdate, this.onNeedUpdate, this) + EventManager.instance.addListener(HotUpdate.Event_On_Progress, this.onUpdateProgress, this) + EventManager.instance.addListener(HotUpdate.Event_On_Fail_Update, this.onUpdateFail, this) + EventManager.instance.addListener(HotUpdate.Event_Finish_Update, this.onUpdateFinish, this) + EventManager.instance.addListener( + HotUpdate.Event_On_ALREADY_UP_TO_DATE, + this.onUpdateFinish, + this, + ) + if (sys.isNative && VersionManager.instance.isOpenHotUpdate) { + this.checkUpdate() + } else { + this.preLoadRes() + } + } + + private async baseInit() { + try { + await FishConfig.init() + profiler.hideStats() //showStats + //let collisionManager:cc.CollisionManager = director.getCollisionManager(); + PhysicsSystem2D.instance.enable = true + + // PhysicsSystem2D.instance.debugDrawFlags = EPhysics2DDrawFlags.Aabb | + // EPhysics2DDrawFlags.Pair | + // EPhysics2DDrawFlags.CenterOfMass | + // EPhysics2DDrawFlags.Joint | + // EPhysics2DDrawFlags.Shape; + + //if(collisionManager){ + //collisionManager.enabled = true; + // collisionManager.enabledDebugDraw = true; + // collisionManager.enabledDrawBoundingBox = true; + //} + + if (DynamicAtlasManager.instance) { + DynamicAtlasManager.instance.enabled = false + } + MusicConfig.init() + // cc.director.getCollisionManager().enabled=true;//这是一个全局属性,开启后就代表碰撞检测组件可以进行检测了 + // cc.director.getCollisionManager().enabledDebugDraw = true; //绘制碰撞区域 + } catch (error) { + Logger.error(this, error) + } + } + + private checkUpdate() { + Logger.log(this, 'checkUpdate====') + VersionManager.instance.checkUpdate(0) + } + + private onNeedUpdate(event: HaoEvent, key: string) { + Logger.log(this, 'onNeedUpdate=====', key, VersionManager.Config_Key) + if (key == VersionManager.Config_Key[0]) { + VersionManager.instance.startUpdate(0) + } + } + + private onUpdateProgress(event, loadedFiles, totalFiles, key) { + if (key == VersionManager.Config_Key[0]) { + let msg: string = Math.min(100, (loadedFiles / totalFiles) * 100).toFixed(2) + '%' + this.progressNode.getComponent(Progress).updateProgress(loadedFiles, totalFiles, msg) + } + } + + private onUpdateFail(event, key: string) { + if (key == VersionManager.Config_Key[0]) { + Logger.warn(this, '热更新失败========') + CommonTips.showMsg('热更新失败') + ResourcePreload.instance.restartGame() + } + } + + private onUpdateFinish(event, key: string, needRestart: boolean) { + Logger.log(this, 'onUpdateFinish========') + if (key == VersionManager.Config_Key[0] && !needRestart) { + this.preLoadRes() + } + } + + private async preLoadRes() { + ResourcePreload.instance.preLoad(() => { + this.startGame() + }, this.progressNode.getComponent(Progress)) + } + + private startGame() { + Logger.info(this, 'startGame') + SceneManager.instance.sceneSwitch('FishGameScene', true) + } + + onDestroyMe() { + EventManager.instance.removeListener(HotUpdate.Event_On_NeedUpdate, this.onNeedUpdate) + EventManager.instance.removeListener(HotUpdate.Event_On_Progress, this.onUpdateProgress) + EventManager.instance.removeListener(HotUpdate.Event_On_Fail_Update, this.onUpdateFail) + EventManager.instance.removeListener(HotUpdate.Event_Finish_Update, this.onUpdateFinish) + EventManager.instance.removeListener(HotUpdate.Event_On_ALREADY_UP_TO_DATE, this.onUpdateFinish) + } +} diff --git a/assets/FishSingle/script/game/scene/LoadingScene.ts.meta b/assets/FishSingle/script/game/scene/LoadingScene.ts.meta index b9162dc..26c94fd 100644 --- a/assets/FishSingle/script/game/scene/LoadingScene.ts.meta +++ b/assets/FishSingle/script/game/scene/LoadingScene.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "ba786f67-34b5-4fa6-abc5-69a3ef70bfd3", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "ba786f67-34b5-4fa6-abc5-69a3ef70bfd3", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/scene/SceneManager.ts b/assets/FishSingle/script/game/scene/SceneManager.ts index 62d7c71..66fd10b 100644 --- a/assets/FishSingle/script/game/scene/SceneManager.ts +++ b/assets/FishSingle/script/game/scene/SceneManager.ts @@ -1,73 +1,73 @@ -import { SceneAsset, director, sys } from 'cc' - -import CommonEvent from '../../engine/config/CommonEvent' -import CommonTips from '../../engine/uicomponent/CommonTips' -import LoadingScenePrefab from '../../engine/uicomponent/LoadingScenePrefab' -import EventManager from '../../engine/utils/EventManager' -import { Logger } from '../../engine/utils/Logger' - -export default class SceneManager { - public static instance: SceneManager = new SceneManager() - - private loadingSceneName: string - - public currentSceneName: string - - public initFullScreenPrefab(isShow: boolean = false) { - if (sys.isBrowser && !sys.isMobile) { - if (isShow) { - // FullscreenPrefab.show(); - } else { - // FullscreenPrefab.close(); - } - } - } - - public async sceneSwitch(name: string, showProgress: boolean = false) { - if (this.loadingSceneName === name) return - Logger.log(this, 'sceneSwitch==', name) - if (sys.isBrowser) { - // showProgress = true; - } - this.initFullScreenPrefab(false) - this.loadingSceneName = name - if (showProgress) { - await LoadingScenePrefab.show() - director.preloadScene( - name, - (completedCount: number, totalCount: number, item: any) => { - LoadingScenePrefab.updateLoading(completedCount, totalCount) - }, - (error: Error, asset: SceneAsset) => { - if (error) { - Logger.warn(this, 'preloadScene=error', error.message) - CommonTips.showMsg('加载场景失败') - } else { - // director.getScene().destroy();//director.getScene().cleanup(); - director.loadScene(name, this.loadSceneOK.bind(this)) - } - }, - ) - } else { - // director.getScene().destroy();//director.getScene().cleanup(); - director.loadScene(name, this.loadSceneOK.bind(this)) - } - } - - private loadSceneOK() { - LoadingScenePrefab.close() - this.initFullScreenPrefab(true) - this.currentSceneName = this.loadingSceneName - this.loadingSceneName = '' - Logger.log(this, 'scene load ok=', this.currentSceneName) - EventManager.instance.dispatchEvent(CommonEvent.Event_Scene_Switch) - } - - public preloadScene( - sceneName: string, - onProgressCallback: any = null, - onLoadedCallback: any = null, - ) { - director.preloadScene(sceneName, onProgressCallback, onLoadedCallback) - } -} +import { SceneAsset, director, sys } from 'cc' + +import CommonEvent from '../../engine/config/CommonEvent' +import CommonTips from '../../engine/uicomponent/CommonTips' +import LoadingScenePrefab from '../../engine/uicomponent/LoadingScenePrefab' +import EventManager from '../../engine/utils/EventManager' +import { Logger } from '../../engine/utils/Logger' + +export default class SceneManager { + public static instance: SceneManager = new SceneManager() + + private loadingSceneName: string + + public currentSceneName: string + + public initFullScreenPrefab(isShow: boolean = false) { + if (sys.isBrowser && !sys.isMobile) { + if (isShow) { + // FullscreenPrefab.show(); + } else { + // FullscreenPrefab.close(); + } + } + } + + public async sceneSwitch(name: string, showProgress: boolean = false) { + if (this.loadingSceneName === name) return + Logger.log(this, 'sceneSwitch==', name) + if (sys.isBrowser) { + // showProgress = true; + } + this.initFullScreenPrefab(false) + this.loadingSceneName = name + if (showProgress) { + await LoadingScenePrefab.show() + director.preloadScene( + name, + (completedCount: number, totalCount: number, item: any) => { + LoadingScenePrefab.updateLoading(completedCount, totalCount) + }, + (error: Error, asset: SceneAsset) => { + if (error) { + Logger.warn(this, 'preloadScene=error', error.message) + CommonTips.showMsg('加载场景失败') + } else { + // director.getScene().destroy();//director.getScene().cleanup(); + director.loadScene(name, this.loadSceneOK.bind(this)) + } + }, + ) + } else { + // director.getScene().destroy();//director.getScene().cleanup(); + director.loadScene(name, this.loadSceneOK.bind(this)) + } + } + + private loadSceneOK() { + LoadingScenePrefab.close() + this.initFullScreenPrefab(true) + this.currentSceneName = this.loadingSceneName + this.loadingSceneName = '' + Logger.log(this, 'scene load ok=', this.currentSceneName) + EventManager.instance.dispatchEvent(CommonEvent.Event_Scene_Switch) + } + + public preloadScene( + sceneName: string, + onProgressCallback: any = null, + onLoadedCallback: any = null, + ) { + director.preloadScene(sceneName, onProgressCallback, onLoadedCallback) + } +} diff --git a/assets/FishSingle/script/game/scene/SceneManager.ts.meta b/assets/FishSingle/script/game/scene/SceneManager.ts.meta index 92cf731..055a12b 100644 --- a/assets/FishSingle/script/game/scene/SceneManager.ts.meta +++ b/assets/FishSingle/script/game/scene/SceneManager.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "b636d5b8-723e-4576-861b-5cfc3151e46a", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "b636d5b8-723e-4576-861b-5cfc3151e46a", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/uicomponent.meta b/assets/FishSingle/script/game/uicomponent.meta index 61db16e..549547d 100644 --- a/assets/FishSingle/script/game/uicomponent.meta +++ b/assets/FishSingle/script/game/uicomponent.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "2a75ef29-1cd1-446e-95df-61bd54c8c217", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "2a75ef29-1cd1-446e-95df-61bd54c8c217", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/uicomponent/Astar.ts b/assets/FishSingle/script/game/uicomponent/Astar.ts index 8f97ba5..8c0f2b6 100644 --- a/assets/FishSingle/script/game/uicomponent/Astar.ts +++ b/assets/FishSingle/script/game/uicomponent/Astar.ts @@ -1,183 +1,183 @@ -import { Component, Vec2, _decorator } from 'cc' - -const { ccclass, property } = _decorator - -export enum AstarGridType { - Hider = 0, // 不能走 - Normal = 1, // 能走 - End = 2, // 终点 -} - -@ccclass('Astar') -export class AstarGrid { - public x: number = 0 - public y: number = 0 - public f: number = 0 - public g: number = 0 - public h: number = 0 - public type: number = 0 - public parent: AstarGrid = null -} - -export class Astar extends Component { - public mapW: number = 24 // 横向格子数量 - public mapH: number = 13 // 纵向格子数量 - public is8dir: boolean = false // 是否8方向寻路 //4方向:代表只能走上下左右 8方向:代表可以走上下左右,左上,右上,左下,右下 - private openList: Array = [] - private closeList: Array = [] - private path: Array = [] - private gridsList: Array> = [] - - onLoad() {} - - /** - * @param mapW 宽格子数 - * @param mapH 高格子数 - * @param is8dir 是8方向(上,下,左,右,左上,右上,左下,右下)寻路还是4方向(上,下,左,右) - */ - public init(mapW: number, mapH: number, is8dir: boolean = false) { - this.mapW = mapW - this.mapH = mapH - this.is8dir = is8dir - this.initMap() - } - - /** - * 初始化map的格子 - */ - private initMap() { - this.openList = [] - this.closeList = [] - this.path = [] - // 初始化格子二维数组 - this.gridsList = Array.from({ length: this.mapW + 1 }) - for (let col = 0; col < this.gridsList.length; col++) - this.gridsList[col] = Array.from({ length: this.mapH + 1 }) - - for (let col = 0; col <= this.mapW; col++) - for (let row = 0; row <= this.mapH; row++) this.addGrid(col, row, AstarGridType.Normal) - } - - /** - * 创建一个格子到地图 - * @param x - * @param y - * @param type - */ - private addGrid(x: number, y: number, type: number = AstarGridType.Hider) { - const grid = new AstarGrid() - grid.x = x - grid.y = y - grid.type = type - this.gridsList[x][y] = grid - } - - /** - * 设置格子类型 - * @param x - * @param y - * @param type - */ - public setGridType(x: number, y: number, type: number) { - const curGrid: AstarGrid = this.gridsList[x][y] - curGrid.type = type - } - - /** - * 开始搜索路径 - * @param startPos - * @param endPos - * @param callback - */ - public findPath(startPos: Vec2, endPos: Vec2, callback: Function = null) { - const startGrid = this.gridsList[startPos.x][startPos.y] - this.openList.push(startGrid) - let curGrid: AstarGrid = this.openList[0] - while (this.openList.length > 0 && curGrid.type !== AstarGridType.End) { - // 每次都取出f值最小的节点进行查找 - curGrid = this.openList[0] - if (curGrid.type === AstarGridType.End) { - // Logger.log(this,"find path success."); - this.generatePath(curGrid) - if (callback) callback(this.path) - - return - } - - for (let i: number = -1; i <= 1; i++) { - for (let j: number = -1; j <= 1; j++) { - if (i !== 0 || j !== 0) { - const col = curGrid.x + i - const row = curGrid.y + j - if ( - col >= 0 - && row >= 0 - && col <= this.mapW - && row <= this.mapH - && this.gridsList[col][row].type !== AstarGridType.Hider - && !this.closeList.includes(this.gridsList[col][row]) - ) { - if (this.is8dir) { - // 8方向 斜向走动时要考虑相邻的是不是障碍物 - if ( - this.gridsList[col - i][row].type === AstarGridType.Hider - || this.gridsList[col][row - j].type === AstarGridType.Hider - ) - continue - } else { - // 四方形行走 - if (Math.abs(i) === Math.abs(j)) continue - } - // 计算g值 - const g = curGrid.g + Math.floor(Math.sqrt((i * 10) ** 2) + (j * 10) ** 2) - if (this.gridsList[col][row].g === 0 || this.gridsList[col][row].g > g) { - this.gridsList[col][row].g = g - // 更新父节点 - this.gridsList[col][row].parent = curGrid - } - // 计算h值 manhattan估算法 - this.gridsList[col][row].h = Math.abs(endPos.x - col) + Math.abs(endPos.y - row) - // 更新f值 - this.gridsList[col][row].f = this.gridsList[col][row].g + this.gridsList[col][row].h - // 如果不在开放列表里则添加到开放列表里 - if (!this.openList.includes(this.gridsList[col][row])) - this.openList.push(this.gridsList[col][row]) - - // // 重新按照f值排序(升序排列) - } - } - } - } - // 遍历完四周节点后把当前节点加入关闭列表 - this.closeList.push(curGrid) - // 从开放列表把当前节点移除 - this.openList.splice(this.openList.indexOf(curGrid), 1) - if (this.openList.length <= 0) { - // Logger.log(this,"find path failed."); - this.path = [] - if (callback) callback(this.path) - - break - } - // 重新按照f值排序(升序排列) - this.openList.sort((x, y) => { - return x.f - y.f - }) - } - } - - /** - * 生成路径 - * @param grid - */ - private generatePath(grid: AstarGrid) { - this.path.push(grid) - while (grid.parent) { - grid = grid.parent - this.path.push(grid) - } - return this.path - } - - onDestroy() {} -} +import { Component, Vec2, _decorator } from 'cc' + +const { ccclass, property } = _decorator + +export enum AstarGridType { + Hider = 0, // 不能走 + Normal = 1, // 能走 + End = 2, // 终点 +} + +@ccclass('Astar') +export class AstarGrid { + public x: number = 0 + public y: number = 0 + public f: number = 0 + public g: number = 0 + public h: number = 0 + public type: number = 0 + public parent: AstarGrid = null +} + +export class Astar extends Component { + public mapW: number = 24 // 横向格子数量 + public mapH: number = 13 // 纵向格子数量 + public is8dir: boolean = false // 是否8方向寻路 //4方向:代表只能走上下左右 8方向:代表可以走上下左右,左上,右上,左下,右下 + private openList: Array = [] + private closeList: Array = [] + private path: Array = [] + private gridsList: Array> = [] + + onLoad() {} + + /** + * @param mapW 宽格子数 + * @param mapH 高格子数 + * @param is8dir 是8方向(上,下,左,右,左上,右上,左下,右下)寻路还是4方向(上,下,左,右) + */ + public init(mapW: number, mapH: number, is8dir: boolean = false) { + this.mapW = mapW + this.mapH = mapH + this.is8dir = is8dir + this.initMap() + } + + /** + * 初始化map的格子 + */ + private initMap() { + this.openList = [] + this.closeList = [] + this.path = [] + // 初始化格子二维数组 + this.gridsList = Array.from({ length: this.mapW + 1 }) + for (let col = 0; col < this.gridsList.length; col++) + this.gridsList[col] = Array.from({ length: this.mapH + 1 }) + + for (let col = 0; col <= this.mapW; col++) + for (let row = 0; row <= this.mapH; row++) this.addGrid(col, row, AstarGridType.Normal) + } + + /** + * 创建一个格子到地图 + * @param x + * @param y + * @param type + */ + private addGrid(x: number, y: number, type: number = AstarGridType.Hider) { + const grid = new AstarGrid() + grid.x = x + grid.y = y + grid.type = type + this.gridsList[x][y] = grid + } + + /** + * 设置格子类型 + * @param x + * @param y + * @param type + */ + public setGridType(x: number, y: number, type: number) { + const curGrid: AstarGrid = this.gridsList[x][y] + curGrid.type = type + } + + /** + * 开始搜索路径 + * @param startPos + * @param endPos + * @param callback + */ + public findPath(startPos: Vec2, endPos: Vec2, callback: Function = null) { + const startGrid = this.gridsList[startPos.x][startPos.y] + this.openList.push(startGrid) + let curGrid: AstarGrid = this.openList[0] + while (this.openList.length > 0 && curGrid.type !== AstarGridType.End) { + // 每次都取出f值最小的节点进行查找 + curGrid = this.openList[0] + if (curGrid.type === AstarGridType.End) { + // Logger.log(this,"find path success."); + this.generatePath(curGrid) + if (callback) callback(this.path) + + return + } + + for (let i: number = -1; i <= 1; i++) { + for (let j: number = -1; j <= 1; j++) { + if (i !== 0 || j !== 0) { + const col = curGrid.x + i + const row = curGrid.y + j + if ( + col >= 0 + && row >= 0 + && col <= this.mapW + && row <= this.mapH + && this.gridsList[col][row].type !== AstarGridType.Hider + && !this.closeList.includes(this.gridsList[col][row]) + ) { + if (this.is8dir) { + // 8方向 斜向走动时要考虑相邻的是不是障碍物 + if ( + this.gridsList[col - i][row].type === AstarGridType.Hider + || this.gridsList[col][row - j].type === AstarGridType.Hider + ) + continue + } else { + // 四方形行走 + if (Math.abs(i) === Math.abs(j)) continue + } + // 计算g值 + const g = curGrid.g + Math.floor(Math.sqrt((i * 10) ** 2) + (j * 10) ** 2) + if (this.gridsList[col][row].g === 0 || this.gridsList[col][row].g > g) { + this.gridsList[col][row].g = g + // 更新父节点 + this.gridsList[col][row].parent = curGrid + } + // 计算h值 manhattan估算法 + this.gridsList[col][row].h = Math.abs(endPos.x - col) + Math.abs(endPos.y - row) + // 更新f值 + this.gridsList[col][row].f = this.gridsList[col][row].g + this.gridsList[col][row].h + // 如果不在开放列表里则添加到开放列表里 + if (!this.openList.includes(this.gridsList[col][row])) + this.openList.push(this.gridsList[col][row]) + + // // 重新按照f值排序(升序排列) + } + } + } + } + // 遍历完四周节点后把当前节点加入关闭列表 + this.closeList.push(curGrid) + // 从开放列表把当前节点移除 + this.openList.splice(this.openList.indexOf(curGrid), 1) + if (this.openList.length <= 0) { + // Logger.log(this,"find path failed."); + this.path = [] + if (callback) callback(this.path) + + break + } + // 重新按照f值排序(升序排列) + this.openList.sort((x, y) => { + return x.f - y.f + }) + } + } + + /** + * 生成路径 + * @param grid + */ + private generatePath(grid: AstarGrid) { + this.path.push(grid) + while (grid.parent) { + grid = grid.parent + this.path.push(grid) + } + return this.path + } + + onDestroy() {} +} diff --git a/assets/FishSingle/script/game/uicomponent/Astar.ts.meta b/assets/FishSingle/script/game/uicomponent/Astar.ts.meta index a0e39a1..5898a31 100644 --- a/assets/FishSingle/script/game/uicomponent/Astar.ts.meta +++ b/assets/FishSingle/script/game/uicomponent/Astar.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "2e03a7ea-58a9-4bbb-9dcc-660b093ea918", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "2e03a7ea-58a9-4bbb-9dcc-660b093ea918", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/utils.meta b/assets/FishSingle/script/game/utils.meta index 7b951ff..ebfa3af 100644 --- a/assets/FishSingle/script/game/utils.meta +++ b/assets/FishSingle/script/game/utils.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "67ea5a4d-4210-4fdb-af71-bba5c66b368b", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "67ea5a4d-4210-4fdb-af71-bba5c66b368b", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/script/game/utils/GameMusicHelper.ts b/assets/FishSingle/script/game/utils/GameMusicHelper.ts index 6fdaac5..d622acd 100644 --- a/assets/FishSingle/script/game/utils/GameMusicHelper.ts +++ b/assets/FishSingle/script/game/utils/GameMusicHelper.ts @@ -1,18 +1,18 @@ -import MusicPrefab from '../../engine/uicomponent/MusicPrefab' -import SoundPrefab from '../../engine/uicomponent/SoundPrefab' -import RandomUtil from '../../engine/utils/RandomUtil' - -export default class GameMusicHelper { - public static playBg() { - const randomIndex: number = RandomUtil.nextInt(1, 3) - MusicPrefab.play(`background_${randomIndex}`) - } - - public static playFishDead(fishType: number) { - SoundPrefab.play(`deadfish_${fishType}`) - } - - public static playFire() { - SoundPrefab.play('fire') - } -} +import MusicPrefab from '../../engine/uicomponent/MusicPrefab' +import SoundPrefab from '../../engine/uicomponent/SoundPrefab' +import RandomUtil from '../../engine/utils/RandomUtil' + +export default class GameMusicHelper { + public static playBg() { + const randomIndex: number = RandomUtil.nextInt(1, 3) + MusicPrefab.play(`background_${randomIndex}`) + } + + public static playFishDead(fishType: number) { + SoundPrefab.play(`deadfish_${fishType}`) + } + + public static playFire() { + SoundPrefab.play('fire') + } +} diff --git a/assets/FishSingle/script/game/utils/GameMusicHelper.ts.meta b/assets/FishSingle/script/game/utils/GameMusicHelper.ts.meta index 76a813e..6cbe34c 100644 --- a/assets/FishSingle/script/game/utils/GameMusicHelper.ts.meta +++ b/assets/FishSingle/script/game/utils/GameMusicHelper.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "5515ff19-e57f-4594-99b0-2e5439136f41", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "5515ff19-e57f-4594-99b0-2e5439136f41", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/utils/ResourcePreload.ts b/assets/FishSingle/script/game/utils/ResourcePreload.ts index c44d2d9..9dde62a 100644 --- a/assets/FishSingle/script/game/utils/ResourcePreload.ts +++ b/assets/FishSingle/script/game/utils/ResourcePreload.ts @@ -1,64 +1,64 @@ -import { error, game } from 'cc' - -import DarkLayer from '../../engine/uicomponent/DarkLayer' -import LoadingPrefab from '../../engine/uicomponent/LoadingPrefab' -import LoadingScenePrefab from '../../engine/uicomponent/LoadingScenePrefab' -import MusicPrefab from '../../engine/uicomponent/MusicPrefab' -import Progress from '../../engine/uicomponent/Progress' -import SoundPrefab from '../../engine/uicomponent/SoundPrefab' -import ResourcePrefab from '../prefab/ResourcePrefab' -import ShaderMaterialPrefab from '../prefab/ShaderMaterialPrefab' - -export default class ResourcePreload { - public static instance: ResourcePreload = new ResourcePreload() - private isPreloaded: boolean = false - private totalNum: number = 6 - private nowIndex: number = 0 - private progress: Progress - - public async preLoad(callback: Function, progress: Progress) { - if (this.isPreloaded) { - callback() - return - } - this.isPreloaded = true - this.progress = progress - if (this.progress) - progress.updateProgress(this.nowIndex, this.totalNum) - - await LoadingPrefab.preLoad() // 1 - this.finishOneItemLoad() - await DarkLayer.preLoad() // 2 - this.finishOneItemLoad() - await MusicPrefab.preLoad() // 3 - this.finishOneItemLoad() - await SoundPrefab.preLoad() // 4 - this.finishOneItemLoad() - await ResourcePrefab.preLoad() // 5 - this.finishOneItemLoad() - await ShaderMaterialPrefab.preLoad() // 6 - this.finishOneItemLoad() // - callback() - } - - private finishOneItemLoad() { - this.nowIndex++ - if (this.progress) - this.progress.updateProgress(this.nowIndex, this.totalNum) - } - - public restartGame() { - this.isPreloaded = false - // GameSocket.getInstance().closeSocket(false); - LoadingScenePrefab.clear() - LoadingPrefab.clear() - error('需要获取游戏里所有的AudioSource停止音乐') - // audioEngine.stopAll(); - - // VersionManager.instance.releaseAll(); - MusicPrefab.destory() - SoundPrefab.destory() - ResourcePrefab.clear() - game.restart() - } -} +import { error, game } from 'cc' + +import DarkLayer from '../../engine/uicomponent/DarkLayer' +import LoadingPrefab from '../../engine/uicomponent/LoadingPrefab' +import LoadingScenePrefab from '../../engine/uicomponent/LoadingScenePrefab' +import MusicPrefab from '../../engine/uicomponent/MusicPrefab' +import Progress from '../../engine/uicomponent/Progress' +import SoundPrefab from '../../engine/uicomponent/SoundPrefab' +import ResourcePrefab from '../prefab/ResourcePrefab' +import ShaderMaterialPrefab from '../prefab/ShaderMaterialPrefab' + +export default class ResourcePreload { + public static instance: ResourcePreload = new ResourcePreload() + private isPreloaded: boolean = false + private totalNum: number = 6 + private nowIndex: number = 0 + private progress: Progress + + public async preLoad(callback: Function, progress: Progress) { + if (this.isPreloaded) { + callback() + return + } + this.isPreloaded = true + this.progress = progress + if (this.progress) + progress.updateProgress(this.nowIndex, this.totalNum) + + await LoadingPrefab.preLoad() // 1 + this.finishOneItemLoad() + await DarkLayer.preLoad() // 2 + this.finishOneItemLoad() + await MusicPrefab.preLoad() // 3 + this.finishOneItemLoad() + await SoundPrefab.preLoad() // 4 + this.finishOneItemLoad() + await ResourcePrefab.preLoad() // 5 + this.finishOneItemLoad() + await ShaderMaterialPrefab.preLoad() // 6 + this.finishOneItemLoad() // + callback() + } + + private finishOneItemLoad() { + this.nowIndex++ + if (this.progress) + this.progress.updateProgress(this.nowIndex, this.totalNum) + } + + public restartGame() { + this.isPreloaded = false + // GameSocket.getInstance().closeSocket(false); + LoadingScenePrefab.clear() + LoadingPrefab.clear() + error('需要获取游戏里所有的AudioSource停止音乐') + // audioEngine.stopAll(); + + // VersionManager.instance.releaseAll(); + MusicPrefab.destory() + SoundPrefab.destory() + ResourcePrefab.clear() + game.restart() + } +} diff --git a/assets/FishSingle/script/game/utils/ResourcePreload.ts.meta b/assets/FishSingle/script/game/utils/ResourcePreload.ts.meta index 3c43355..f3d53d8 100644 --- a/assets/FishSingle/script/game/utils/ResourcePreload.ts.meta +++ b/assets/FishSingle/script/game/utils/ResourcePreload.ts.meta @@ -1,11 +1,11 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "c49b722e-acd3-4d0f-9685-b773d596a5b3", - "files": [], - "subMetas": {}, - "userData": { - "simulateGlobals": [] - } -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "c49b722e-acd3-4d0f-9685-b773d596a5b3", + "files": [], + "subMetas": {}, + "userData": { + "simulateGlobals": [] + } +} diff --git a/assets/FishSingle/script/game/utils/TimeHelper.ts b/assets/FishSingle/script/game/utils/TimeHelper.ts index b1f0453..f9fd216 100644 --- a/assets/FishSingle/script/game/utils/TimeHelper.ts +++ b/assets/FishSingle/script/game/utils/TimeHelper.ts @@ -1,7 +1,7 @@ -import { Node, tween } from 'cc' - -export default class TimeHelper { - public static exeNextFrame(node: Node, callback: Function) { - tween(node).delay(0.02).call(callback).start() - } -} +import { Node, tween } from 'cc' + +export default class TimeHelper { + public static exeNextFrame(node: Node, callback: Function) { + tween(node).delay(0.02).call(callback).start() + } +} diff --git a/assets/FishSingle/script/game/utils/TimeHelper.ts.meta b/assets/FishSingle/script/game/utils/TimeHelper.ts.meta index 08c4874..c9e463b 100644 --- a/assets/FishSingle/script/game/utils/TimeHelper.ts.meta +++ b/assets/FishSingle/script/game/utils/TimeHelper.ts.meta @@ -1,9 +1,9 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "11277eab-4376-4199-9255-4d5c9d2b9e7e", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "11277eab-4376-4199-9255-4d5c9d2b9e7e", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/script/game/utils/UIRoot.ts b/assets/FishSingle/script/game/utils/UIRoot.ts index a95df1c..e27f8cd 100644 --- a/assets/FishSingle/script/game/utils/UIRoot.ts +++ b/assets/FishSingle/script/game/utils/UIRoot.ts @@ -1,16 +1,16 @@ -import { Component, _decorator } from 'cc' - -const { ccclass, property } = _decorator - -@ccclass('UIRoot') -export class UIRoot extends Component { - public static Instance: UIRoot - - onLoad() { - UIRoot.Instance = this - } - - onDestroy() { - UIRoot.Instance = null - } -} +import { Component, _decorator } from 'cc' + +const { ccclass, property } = _decorator + +@ccclass('UIRoot') +export class UIRoot extends Component { + public static Instance: UIRoot + + onLoad() { + UIRoot.Instance = this + } + + onDestroy() { + UIRoot.Instance = null + } +} diff --git a/assets/FishSingle/script/game/utils/UIRoot.ts.meta b/assets/FishSingle/script/game/utils/UIRoot.ts.meta index 3befeb4..5a7024c 100644 --- a/assets/FishSingle/script/game/utils/UIRoot.ts.meta +++ b/assets/FishSingle/script/game/utils/UIRoot.ts.meta @@ -1,9 +1,9 @@ -{ - "ver": "4.0.23", - "importer": "typescript", - "imported": true, - "uuid": "e0962cbd-f5bd-4c15-b6d8-c403d02a854f", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "4.0.23", + "importer": "typescript", + "imported": true, + "uuid": "e0962cbd-f5bd-4c15-b6d8-c403d02a854f", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader.meta b/assets/FishSingle/shader.meta index 042c504..bc9c009 100644 --- a/assets/FishSingle/shader.meta +++ b/assets/FishSingle/shader.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "67db70b7-a938-4790-9b7c-48df61c6b259", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "67db70b7-a938-4790-9b7c-48df61c6b259", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/shader/effects.meta b/assets/FishSingle/shader/effects.meta index 04b8c15..e2f7040 100644 --- a/assets/FishSingle/shader/effects.meta +++ b/assets/FishSingle/shader/effects.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "037317bf-86ed-48cc-9083-1465be0a5c64", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "037317bf-86ed-48cc-9083-1465be0a5c64", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect b/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect index 7c46bfd..d1c28da 100644 --- a/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect +++ b/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect @@ -1,135 +1,135 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -// YAML 格式的 CC Effect -// 此部分为声明流程控制清单 -CCEffect %{ - # techniques 是一个数组 - techniques: - # passes 是 techniques 数组的第0项 - # 同时 passes 也是一个数组,存放渲染管道描述的数组集合 - - passes: - - # passes 数组的第0项,完整的渲染流水线 - # vert 属性是指定顶点 Shader 片段的名字,如:这里的顶点 Shader 片段的名字为 unlit-vs - # 根据文档介绍还可以这样子指定片段的入口函数 unlit-vs:vert ,那么就代替main函数,vert才是入口函数 - - vert: unlit-vs - # frag 属性是指定片元 Shader 片段的名字,如:这里的片元 Shader 片段的名字为 unlit-fs - # 根据文档介绍还可以这样子指定片段的入口函数 unlit-fs:frag ,那么就代替main函数,frag才是入口函数 - frag: unlit-fs - - # 混合模式开启 - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - - # properties 列出可以在 Inspector 编辑器编辑的属性 - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } -}% - -// 顶点 Shader 片段 -CCProgram unlit-vs %{ - // 定义 float 类型的精度为高精度 - precision highp float; - - // CC 所有内置的 Shader 变量都必须要要通过 #include 引入该变量的头文件 - // 所有头文件都在 chunks 目录下 - // Mac: /Applications/CocosCreator.app/Contents/Resources/engine/cocos2d/renderer/build/chunks - // 也可以通过 相对项目assets的相对路径 或者 绝对路径 引用头文件资源 - #include - #include - - // 顶点Shader 从渲染管道里面获取哪些数据 - // in 用在函数的参数中,表示这个参数是输入的,在函数中改变这个值,并不会影响对调用的函数产生副作用。(相当于C语言的传值),这个是函数参数默认的修饰符 - - // 顶点坐标 - // a_position 是笛卡尔坐标右手系,也是OpenGL的坐标系,原点在左下角,X轴正方向往右,Y轴正方向往上,Z轴正方向往外 - in vec3 a_position; - - // 顶点颜色,实际为对应节点的颜色 - in vec4 a_color; - - // out 用在函数的参数中,表示该参数是输出参数,值是会改变的 - - // 顶点 Shader 片段最后会输出的颜色值 - // 在片元 Shader 片段中可以接收到这个参数名的值 - out vec4 v_color; - - // 定义了一个宏,如果使用了纹理那么执行这之间的代码 - #if USE_TEXTURE - - // 输入的纹理坐标 - // a_uv0 是标准屏幕坐标系,即原点在左上角,X轴正方向往右,Y轴正方向往下 - in vec2 a_uv0; - - // 输出的纹理坐标 - // 在片元 Shader 片段中可以接收到这个参数名的值 - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - -// 片元着色器片段 -CCProgram unlit-fs %{ - precision highp float; - - // 这里引入了内置的chunks目录下的 alpha-test 头文件 - #include - - // 接收来自上方顶点 Shader 片段的输出参数 v_color - // 顶点的颜色 - in vec4 v_color; - - #if USE_TEXTURE - - // 接收来自上方顶点 Shader 片段的输出参数 v_uv0 - // 顶点的坐标 - in vec2 v_uv0; - - // uniform :一致变量。在着色器执行期间一致变量的值是不变的 - // 与const常量不同的是,这个值在编译时期是未知的是由着色器外部初始化的 - // 一致变量在顶点着色器和片段着色器之间是共享的。它也只能在全局范围进行声明。 - uniform sampler2D mainTexture; - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - // 纹理颜色 和 节点颜色进行混合得出最终颜色 - o *= v_color; - - // 这个方法来自 alpha-test 头文件 - // 意思大概为,如果传入的参数vec4 类型的参数o的透明通道值小于传入来的 alphaThreshold 值时,会discard - // 使用discard会退出片段着色器,不执行后面的片段着色操作。片段也不会写入帧缓冲区。 - ALPHA_TEST(o); - - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +// YAML 格式的 CC Effect +// 此部分为声明流程控制清单 +CCEffect %{ + # techniques 是一个数组 + techniques: + # passes 是 techniques 数组的第0项 + # 同时 passes 也是一个数组,存放渲染管道描述的数组集合 + - passes: + + # passes 数组的第0项,完整的渲染流水线 + # vert 属性是指定顶点 Shader 片段的名字,如:这里的顶点 Shader 片段的名字为 unlit-vs + # 根据文档介绍还可以这样子指定片段的入口函数 unlit-vs:vert ,那么就代替main函数,vert才是入口函数 + - vert: unlit-vs + # frag 属性是指定片元 Shader 片段的名字,如:这里的片元 Shader 片段的名字为 unlit-fs + # 根据文档介绍还可以这样子指定片段的入口函数 unlit-fs:frag ,那么就代替main函数,frag才是入口函数 + frag: unlit-fs + + # 混合模式开启 + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + + # properties 列出可以在 Inspector 编辑器编辑的属性 + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } +}% + +// 顶点 Shader 片段 +CCProgram unlit-vs %{ + // 定义 float 类型的精度为高精度 + precision highp float; + + // CC 所有内置的 Shader 变量都必须要要通过 #include 引入该变量的头文件 + // 所有头文件都在 chunks 目录下 + // Mac: /Applications/CocosCreator.app/Contents/Resources/engine/cocos2d/renderer/build/chunks + // 也可以通过 相对项目assets的相对路径 或者 绝对路径 引用头文件资源 + #include + #include + + // 顶点Shader 从渲染管道里面获取哪些数据 + // in 用在函数的参数中,表示这个参数是输入的,在函数中改变这个值,并不会影响对调用的函数产生副作用。(相当于C语言的传值),这个是函数参数默认的修饰符 + + // 顶点坐标 + // a_position 是笛卡尔坐标右手系,也是OpenGL的坐标系,原点在左下角,X轴正方向往右,Y轴正方向往上,Z轴正方向往外 + in vec3 a_position; + + // 顶点颜色,实际为对应节点的颜色 + in vec4 a_color; + + // out 用在函数的参数中,表示该参数是输出参数,值是会改变的 + + // 顶点 Shader 片段最后会输出的颜色值 + // 在片元 Shader 片段中可以接收到这个参数名的值 + out vec4 v_color; + + // 定义了一个宏,如果使用了纹理那么执行这之间的代码 + #if USE_TEXTURE + + // 输入的纹理坐标 + // a_uv0 是标准屏幕坐标系,即原点在左上角,X轴正方向往右,Y轴正方向往下 + in vec2 a_uv0; + + // 输出的纹理坐标 + // 在片元 Shader 片段中可以接收到这个参数名的值 + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + +// 片元着色器片段 +CCProgram unlit-fs %{ + precision highp float; + + // 这里引入了内置的chunks目录下的 alpha-test 头文件 + #include + + // 接收来自上方顶点 Shader 片段的输出参数 v_color + // 顶点的颜色 + in vec4 v_color; + + #if USE_TEXTURE + + // 接收来自上方顶点 Shader 片段的输出参数 v_uv0 + // 顶点的坐标 + in vec2 v_uv0; + + // uniform :一致变量。在着色器执行期间一致变量的值是不变的 + // 与const常量不同的是,这个值在编译时期是未知的是由着色器外部初始化的 + // 一致变量在顶点着色器和片段着色器之间是共享的。它也只能在全局范围进行声明。 + uniform sampler2D mainTexture; + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + // 纹理颜色 和 节点颜色进行混合得出最终颜色 + o *= v_color; + + // 这个方法来自 alpha-test 头文件 + // 意思大概为,如果传入的参数vec4 类型的参数o的透明通道值小于传入来的 alphaThreshold 值时,会discard + // 使用discard会退出片段着色器,不执行后面的片段着色操作。片段也不会写入帧缓冲区。 + ALPHA_TEST(o); + + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect.meta b/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect.meta index 8e2fbad..1df8de1 100644 --- a/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect.meta +++ b/assets/FishSingle/shader/effects/builtin-2d-sprite-explain.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "8f277982-dc0a-4030-90cc-b336a928a372", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "8f277982-dc0a-4030-90cc-b336a928a372", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-flag.effect b/assets/FishSingle/shader/effects/sprite-flag.effect index 1c876ad..08cb6b9 100644 --- a/assets/FishSingle/shader/effects/sprite-flag.effect +++ b/assets/FishSingle/shader/effects/sprite-flag.effect @@ -1,76 +1,76 @@ - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - textureWidth: { value: 600.0 } - speed: { value: 10.0 } - amplitude: { value: 5.0 } - wave: { value: 5.0 } - startPos: { value: [0.0, 0.0] } -}% - - -CCProgram unlit-vs %{ - - precision highp float; - - #include - #include - - in vec3 a_position; - - uniform LAMYOUMG_COM { - float textureWidth; - float speed; - float amplitude; - float wave; - vec2 startPos; - }; - - #if USE_TEXTURE - in mediump vec2 a_uv0; - out mediump vec2 v_uv0; - #endif - - void main () { - float angleSpanH = wave * 3.14159265; - float pz = amplitude * sin(cc_time.x * speed - (a_position.x - startPos.x + a_position.y - startPos.y) / textureWidth * angleSpanH); - vec4 position = vec4(a_position.x, a_position.y + pz, a_position.z, 1); - // vec4 position = vec4(a_position.x, a_position.y , a_position.z + pz, 1); // use in 3d - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - gl_Position = cc_matViewProj * cc_matWorld * position; - } -}% - - -CCProgram unlit-fs %{ - #include - - precision highp float; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #endif - gl_FragColor = o; - } -}% + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + textureWidth: { value: 600.0 } + speed: { value: 10.0 } + amplitude: { value: 5.0 } + wave: { value: 5.0 } + startPos: { value: [0.0, 0.0] } +}% + + +CCProgram unlit-vs %{ + + precision highp float; + + #include + #include + + in vec3 a_position; + + uniform LAMYOUMG_COM { + float textureWidth; + float speed; + float amplitude; + float wave; + vec2 startPos; + }; + + #if USE_TEXTURE + in mediump vec2 a_uv0; + out mediump vec2 v_uv0; + #endif + + void main () { + float angleSpanH = wave * 3.14159265; + float pz = amplitude * sin(cc_time.x * speed - (a_position.x - startPos.x + a_position.y - startPos.y) / textureWidth * angleSpanH); + vec4 position = vec4(a_position.x, a_position.y + pz, a_position.z, 1); + // vec4 position = vec4(a_position.x, a_position.y , a_position.z + pz, 1); // use in 3d + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + gl_Position = cc_matViewProj * cc_matWorld * position; + } +}% + + +CCProgram unlit-fs %{ + #include + + precision highp float; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #endif + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-flag.effect.meta b/assets/FishSingle/shader/effects/sprite-flag.effect.meta index a5913a3..630e18c 100644 --- a/assets/FishSingle/shader/effects/sprite-flag.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-flag.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "d0c80b5d-d212-4e75-8581-23ec133eb3a4", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "d0c80b5d-d212-4e75-8581-23ec133eb3a4", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-flash-light.effect b/assets/FishSingle/shader/effects/sprite-flash-light.effect index cd34209..87d8e70 100644 --- a/assets/FishSingle/shader/effects/sprite-flash-light.effect +++ b/assets/FishSingle/shader/effects/sprite-flash-light.effect @@ -1,235 +1,235 @@ -// Copyright (c) 20172018 Xiamen Yaji Software Co., Ltd. -// 闪光(光速扫过) -// 原理(和点光的很类似): -// 1. 画光束 -// 2. 圆心中间高亮(透明度=1.0),边缘不亮(透明度=0.0) -// 3. 在原图像上方叠加光束 - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - - # 光束颜色 - lightColor: { - value: [1.0, 1.0, 0.0, 1.0], - editor: { - type: color, - tooltip: "光束颜色" - } - } - - # 光束中心点坐标 - lightCenterPoint: { - value: [0.2, 0.2], - editor: { - tooltip: "光束中心点坐标" - } - } - - # 光束倾斜角度 - lightAngle: { - value: 36.0, - editor: { - tooltip: "光束倾斜角度", - range: [0.0, 1.0], - } - } - - # 光束宽度 - lightWidth: { - value: 0.2, - editor: { - tooltip: "光束宽度" - } - } - - # 启用光束渐变 - enableGradient: { - value: 1.0, - editor: { - tooltip: "是否启用光束渐变。0:不启用,非0:启用" - } - } - - # 裁剪掉透明区域上的光 - cropAlpha: { - value: 1.0, - editor: { - tooltip: "是否裁剪透明区域上的光。0:不启用,非0:启用" - } - } - - # 是否启用迷雾效果 - enableFog: { - value: 0.0, - editor: { - tooltip: "是否启用迷雾效果。0:不启用,非0:启用" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if ENABLE_LIGHT - uniform Light { - // 光束颜色 - vec4 lightColor; - - // 光束中心点坐标 - vec2 lightCenterPoint; - - // 光束倾斜角度 - float lightAngle; - - // 光束宽度 - float lightWidth; - - // 启用光束渐变 - // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 - float enableGradient; - - // 裁剪掉透明区域上的光 - // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 - float cropAlpha; - - // 是否启用迷雾效果 - // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 - float enableFog; - }; - - /** - * 添加光束颜色 - */ - vec4 addLightColor(vec4 textureColor, vec4 lightColor, vec2 lightCenterPoint, float lightAngle, float lightWidth) { - // 边界值处理,没有宽度就返回原始颜色 - if (lightWidth <= 0.0) { - return textureColor; - } - - // 计算当前 uv 到 光束 的距离 - float angleInRadians = radians(lightAngle); - - // 角度0与非0不同处理 - float dis = 0.0; - if (mod(lightAngle, 180.0) != 0.0) { - // 计算光束中心线下方与X轴交点的X坐标 - // 1.0 - lightCenterPoint.y 是将转换为OpenGL坐标系,下文的 1.0 - y 类似 - float lightOfunlit = lightCenterPoint.x - ((1.0 - lightCenterPoint.y) / tan(angleInRadians)); - - // 以当前点画一条平行于X轴的线,假设此线和光束中心线相交的点为D点 - // 那么 - // D.y = uv0.y - // D.x = lightOfunlit + D.y / tan(angle) - float dx = lightOfunlit + (1.0 - v_uv0.y) / tan(angleInRadians); - - // D 到当前 uv0 的距离就是 - // dis = |uv0.x - D.x| - float offsetDis = abs(v_uv0.x - dx); - - // 当前点到光束中心线的的垂直距离就好算了 - dis = sin(angleInRadians) * offsetDis; - } else { - dis = abs(v_uv0.y - lightCenterPoint.y); - } - - float a = 1.0 ; - // 裁剪掉透明区域上的点光 - if (bool(cropAlpha)) { - a *= step(0.01, textureColor.a); - } - - // 裁剪掉光束范围外的uv(迷雾效果) - if (!bool(enableFog)) { - a *= step(dis, lightWidth * 0.5); - } - - // 加入从中心往外渐变的效果 - if (bool(enableGradient)) { - a *= 1.0 - dis / (lightWidth * 0.5); - } - - // 计算出扩散范围内,不同 uv 对应的实际扩散颜色值 - vec4 finalLightColor = lightColor * a; - - // 混合颜色:在原始图像颜色上叠加扩散颜色 - return textureColor * textureColor.a + finalLightColor; - } - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - - #if ENABLE_LIGHT - gl_FragColor = addLightColor(gl_FragColor, lightColor, lightCenterPoint, lightAngle, lightWidth); - #endif - } -}% +// Copyright (c) 20172018 Xiamen Yaji Software Co., Ltd. +// 闪光(光速扫过) +// 原理(和点光的很类似): +// 1. 画光束 +// 2. 圆心中间高亮(透明度=1.0),边缘不亮(透明度=0.0) +// 3. 在原图像上方叠加光束 + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + + # 光束颜色 + lightColor: { + value: [1.0, 1.0, 0.0, 1.0], + editor: { + type: color, + tooltip: "光束颜色" + } + } + + # 光束中心点坐标 + lightCenterPoint: { + value: [0.2, 0.2], + editor: { + tooltip: "光束中心点坐标" + } + } + + # 光束倾斜角度 + lightAngle: { + value: 36.0, + editor: { + tooltip: "光束倾斜角度", + range: [0.0, 1.0], + } + } + + # 光束宽度 + lightWidth: { + value: 0.2, + editor: { + tooltip: "光束宽度" + } + } + + # 启用光束渐变 + enableGradient: { + value: 1.0, + editor: { + tooltip: "是否启用光束渐变。0:不启用,非0:启用" + } + } + + # 裁剪掉透明区域上的光 + cropAlpha: { + value: 1.0, + editor: { + tooltip: "是否裁剪透明区域上的光。0:不启用,非0:启用" + } + } + + # 是否启用迷雾效果 + enableFog: { + value: 0.0, + editor: { + tooltip: "是否启用迷雾效果。0:不启用,非0:启用" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if ENABLE_LIGHT + uniform Light { + // 光束颜色 + vec4 lightColor; + + // 光束中心点坐标 + vec2 lightCenterPoint; + + // 光束倾斜角度 + float lightAngle; + + // 光束宽度 + float lightWidth; + + // 启用光束渐变 + // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 + float enableGradient; + + // 裁剪掉透明区域上的光 + // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 + float cropAlpha; + + // 是否启用迷雾效果 + // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 + float enableFog; + }; + + /** + * 添加光束颜色 + */ + vec4 addLightColor(vec4 textureColor, vec4 lightColor, vec2 lightCenterPoint, float lightAngle, float lightWidth) { + // 边界值处理,没有宽度就返回原始颜色 + if (lightWidth <= 0.0) { + return textureColor; + } + + // 计算当前 uv 到 光束 的距离 + float angleInRadians = radians(lightAngle); + + // 角度0与非0不同处理 + float dis = 0.0; + if (mod(lightAngle, 180.0) != 0.0) { + // 计算光束中心线下方与X轴交点的X坐标 + // 1.0 - lightCenterPoint.y 是将转换为OpenGL坐标系,下文的 1.0 - y 类似 + float lightOfunlit = lightCenterPoint.x - ((1.0 - lightCenterPoint.y) / tan(angleInRadians)); + + // 以当前点画一条平行于X轴的线,假设此线和光束中心线相交的点为D点 + // 那么 + // D.y = uv0.y + // D.x = lightOfunlit + D.y / tan(angle) + float dx = lightOfunlit + (1.0 - v_uv0.y) / tan(angleInRadians); + + // D 到当前 uv0 的距离就是 + // dis = |uv0.x - D.x| + float offsetDis = abs(v_uv0.x - dx); + + // 当前点到光束中心线的的垂直距离就好算了 + dis = sin(angleInRadians) * offsetDis; + } else { + dis = abs(v_uv0.y - lightCenterPoint.y); + } + + float a = 1.0 ; + // 裁剪掉透明区域上的点光 + if (bool(cropAlpha)) { + a *= step(0.01, textureColor.a); + } + + // 裁剪掉光束范围外的uv(迷雾效果) + if (!bool(enableFog)) { + a *= step(dis, lightWidth * 0.5); + } + + // 加入从中心往外渐变的效果 + if (bool(enableGradient)) { + a *= 1.0 - dis / (lightWidth * 0.5); + } + + // 计算出扩散范围内,不同 uv 对应的实际扩散颜色值 + vec4 finalLightColor = lightColor * a; + + // 混合颜色:在原始图像颜色上叠加扩散颜色 + return textureColor * textureColor.a + finalLightColor; + } + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + + #if ENABLE_LIGHT + gl_FragColor = addLightColor(gl_FragColor, lightColor, lightCenterPoint, lightAngle, lightWidth); + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-flash-light.effect.meta b/assets/FishSingle/shader/effects/sprite-flash-light.effect.meta index dcbdc3b..dc3391f 100644 --- a/assets/FishSingle/shader/effects/sprite-flash-light.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-flash-light.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "e9682cd1-a19c-4fcb-ad8c-cf1783b805e6", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "e9682cd1-a19c-4fcb-ad8c-cf1783b805e6", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect b/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect index 372607a..7ef0292 100644 --- a/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect +++ b/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect @@ -1,196 +1,196 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 高斯模糊 -// -// 参考资料(必读) -// * http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html -// * https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%A8%A1%E7%B3%8A - - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # # 标准方差值 - # stDev: { - # value: 0.84089642, - # editor: { - # tooltip: "标准方差值" - # } - # } - - # 纹理尺寸 - textureSize: { - value: [100.0, 100.0], - editor: { - tooltip: "纹理尺寸px(宽 x 高)" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if ENABLE_GAUSSIAN_BLUR - - // 定义无理数 - #pragma define e 2.718281828459045 - - // 定义标准方差值(方差值越大,越模糊,但是需要计算的高斯矩阵范围会变大,从而带来巨大的计算量) - // #pragma define stDev 0.84089642 - #pragma define stDev 1.5 - // #pragma define stDev 5.0 - // #pragma define stDev 10.0 - - // 定义π - #pragma define pi 3.141592653589793 - - // 接收外部变量 - uniform GaussianBlur { - // 纹理尺寸(宽 x 高)(px) - vec2 textureSize; - - // // 标准方差值 - // float stDev; - }; - - /** - * 获取权重(对应二维高斯函数公式,见 https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%A8%A1%E7%B3%8A ) - */ - float getWeight(float x, float y) { - return (1.0 / (2.0 * pi * pow(stDev, 2.0))) * pow(1.0 / e, (pow(x, 2.0) + pow(y, 2.0)) / (2.0 * pow(stDev, 2.0))); - } - - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - #if ENABLE_GAUSSIAN_BLUR - - // 根据高斯分布(也叫正态分布),在3个标准差范围内的分布比例占到99%的权重,因此我们只需要计算矩阵范围 [6 * stDev + 1, 6 * stDev +1] 上的权重 - const float size = floor(stDev * 6.0 + 1.0); - const float halfSize = floor(size / 2.0); - - // 步骤一:计算高斯矩阵上所有权重的和 - - // // v1:遍历所有点,每个点都计算权重 - // float totalWeight = 0.0; - // for(float x = -halfSize; x<= halfSize; x++) { - // for (float y = -halfSize; y<= halfSize; y++) { - // totalWeight += getWeight(x, y); - // } - // } - - // v2:因为高斯分布是对称的,所以只计算原点、X轴正方向 * 2 、Y轴正方向 * 2 、第一象限的权重 * 4即可求出所有权重之和,相比起v1版本,减少很多循环计算 - - // 原点 - float totalWeight = getWeight(0.0, 0.0); - - // X轴正方向上的权重 * 2.0 就是整个X轴上的权重 - for(float x = 1.0; x <= halfSize; x++) { - totalWeight += getWeight(x, 0.0) * 2.0; - } - // Y轴正方向上的权重 * 2.0 就是整个Y轴上的权重 - for(float y = 1.0; y <= halfSize; y++) { - totalWeight += getWeight(0.0, y) * 2.0; - } - // 第一象限的权重 * 4.0 就是4个象限的权重 - for(float x = 1.0; x <= halfSize; x++) { - for (float y = 1.0; y<= halfSize; y++) { - totalWeight += getWeight(x, y) * 4.0; - } - } - - // TODO: - // - // 因为权重矩阵是一次性计算即可不断应用,因此可以将权重矩阵的计算放到CPU计算,并传入到Shader直接渲染,因此有以下优化方案 - // - // v3:原始权重矩阵在CPU计算并传入到Shader - // v4:加权平均后的权重矩阵在CPU计算并传入Shader - - - // 步骤二:采样周边像素并应用加权平均值,得出最终像素值 - vec4 finalColor = vec4(0.0, 0.0, 0.0, 0.0); - // float divider = 0.01; - float onePxWidth = 1.0 / textureSize.x; - float onePxHeight = 1.0 / textureSize.y; - for(float x = -halfSize; x<= halfSize; x++) { - for (float y = -halfSize; y<= halfSize; y++) { - // 求出对应坐标的真正权重(对应权重矩阵) - float weight = getWeight(x, y) / totalWeight; - - // 求出对应坐标像素颜色值的加权值 - // finalColor += texture(mainTexture, v_uv0 + vec2(divider * x, divider * y)) * weight; - finalColor += texture(mainTexture, v_uv0 + vec2(onePxWidth * x, onePxHeight * y)) * weight; - } - } - gl_FragColor = finalColor; - #endif - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// 高斯模糊 +// +// 参考资料(必读) +// * http://www.ruanyifeng.com/blog/2012/11/gaussian_blur.html +// * https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%A8%A1%E7%B3%8A + + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # # 标准方差值 + # stDev: { + # value: 0.84089642, + # editor: { + # tooltip: "标准方差值" + # } + # } + + # 纹理尺寸 + textureSize: { + value: [100.0, 100.0], + editor: { + tooltip: "纹理尺寸px(宽 x 高)" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if ENABLE_GAUSSIAN_BLUR + + // 定义无理数 + #pragma define e 2.718281828459045 + + // 定义标准方差值(方差值越大,越模糊,但是需要计算的高斯矩阵范围会变大,从而带来巨大的计算量) + // #pragma define stDev 0.84089642 + #pragma define stDev 1.5 + // #pragma define stDev 5.0 + // #pragma define stDev 10.0 + + // 定义π + #pragma define pi 3.141592653589793 + + // 接收外部变量 + uniform GaussianBlur { + // 纹理尺寸(宽 x 高)(px) + vec2 textureSize; + + // // 标准方差值 + // float stDev; + }; + + /** + * 获取权重(对应二维高斯函数公式,见 https://zh.wikipedia.org/wiki/%E9%AB%98%E6%96%AF%E6%A8%A1%E7%B3%8A ) + */ + float getWeight(float x, float y) { + return (1.0 / (2.0 * pi * pow(stDev, 2.0))) * pow(1.0 / e, (pow(x, 2.0) + pow(y, 2.0)) / (2.0 * pow(stDev, 2.0))); + } + + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + #if ENABLE_GAUSSIAN_BLUR + + // 根据高斯分布(也叫正态分布),在3个标准差范围内的分布比例占到99%的权重,因此我们只需要计算矩阵范围 [6 * stDev + 1, 6 * stDev +1] 上的权重 + const float size = floor(stDev * 6.0 + 1.0); + const float halfSize = floor(size / 2.0); + + // 步骤一:计算高斯矩阵上所有权重的和 + + // // v1:遍历所有点,每个点都计算权重 + // float totalWeight = 0.0; + // for(float x = -halfSize; x<= halfSize; x++) { + // for (float y = -halfSize; y<= halfSize; y++) { + // totalWeight += getWeight(x, y); + // } + // } + + // v2:因为高斯分布是对称的,所以只计算原点、X轴正方向 * 2 、Y轴正方向 * 2 、第一象限的权重 * 4即可求出所有权重之和,相比起v1版本,减少很多循环计算 + + // 原点 + float totalWeight = getWeight(0.0, 0.0); + + // X轴正方向上的权重 * 2.0 就是整个X轴上的权重 + for(float x = 1.0; x <= halfSize; x++) { + totalWeight += getWeight(x, 0.0) * 2.0; + } + // Y轴正方向上的权重 * 2.0 就是整个Y轴上的权重 + for(float y = 1.0; y <= halfSize; y++) { + totalWeight += getWeight(0.0, y) * 2.0; + } + // 第一象限的权重 * 4.0 就是4个象限的权重 + for(float x = 1.0; x <= halfSize; x++) { + for (float y = 1.0; y<= halfSize; y++) { + totalWeight += getWeight(x, y) * 4.0; + } + } + + // TODO: + // + // 因为权重矩阵是一次性计算即可不断应用,因此可以将权重矩阵的计算放到CPU计算,并传入到Shader直接渲染,因此有以下优化方案 + // + // v3:原始权重矩阵在CPU计算并传入到Shader + // v4:加权平均后的权重矩阵在CPU计算并传入Shader + + + // 步骤二:采样周边像素并应用加权平均值,得出最终像素值 + vec4 finalColor = vec4(0.0, 0.0, 0.0, 0.0); + // float divider = 0.01; + float onePxWidth = 1.0 / textureSize.x; + float onePxHeight = 1.0 / textureSize.y; + for(float x = -halfSize; x<= halfSize; x++) { + for (float y = -halfSize; y<= halfSize; y++) { + // 求出对应坐标的真正权重(对应权重矩阵) + float weight = getWeight(x, y) / totalWeight; + + // 求出对应坐标像素颜色值的加权值 + // finalColor += texture(mainTexture, v_uv0 + vec2(divider * x, divider * y)) * weight; + finalColor += texture(mainTexture, v_uv0 + vec2(onePxWidth * x, onePxHeight * y)) * weight; + } + } + gl_FragColor = finalColor; + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect.meta b/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect.meta index a2a1b1a..d77b006 100644 --- a/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-gaussian-blur-v1.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "41f4d474-d707-45bb-af93-637573f92d54", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "41f4d474-d707-45bb-af93-637573f92d54", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-glow-inner.effect b/assets/FishSingle/shader/effects/sprite-glow-inner.effect index c6419a8..af96cfd 100644 --- a/assets/FishSingle/shader/effects/sprite-glow-inner.effect +++ b/assets/FishSingle/shader/effects/sprite-glow-inner.effect @@ -1,258 +1,258 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # 自定义参数 - # 发光颜色 - glowColor: { - value: [1.0, 1.0, 0.0, 1.0], - editor: { - type: color, - tooltip: "发光颜色" - } - } - # 发光宽度 - glowColorSize: { - value: 0.2, - editor: { - tooltip: "发光宽度", - range: [0.0, 1.0], - } - } - # 发光透明度阈值 - # 只有超过这个透明度的点才会发光 - # 一般用于解决图像边缘存在渐变透明的时,决定超过这个透明度阈值的边缘点才点发光,具体可以操作一下 - glowThreshold: { - value: 0.1, - editor: { - tooltip: "发光阈值", - range: [0.0, 1.0] - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if SHOW_INNER_GLOW - - uniform glow { - // 发光颜色 - vec4 glowColor; - // 发光范围 - float glowColorSize; - // 发光阈值 - float glowThreshold; - // 特别地,必须是 vec4 先于 float 声明 - }; - - /** - * 获取纹理uv颜色 - * - * 主要实现:超出边界的统一返回 vec4(0.0, 0.0, 0.0, 0.0) - * - * 在 Cocos Creator 2.2.1 的编辑器中,超出边界的uv并不是返回 vec4(0.0, 0.0, 0.0, 0.0),实际返回为 - * - * * 超出左边界的uv,返回 v_uv0.x = 0 的颜色 - * * 超出右边界的uv,返回 v_uv0.x = 1 的颜色 - * * 超出上边界的uv,返回 v_uv0.y = 1 的颜色 - * * 超出下边界的uv,返回 v_uv0.y = 0 的颜色 - * - * 和实际在浏览器上显示(超出边界即为透明)的有区别,为了统一,这里适配一下,这样子,在编辑器上预览的效果就能和实际浏览器的保持一致 - */ - vec4 getTextureColor(sampler2D mainTexture, vec2 v_uv0) { - if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) { - return vec4(0.0, 0.0, 0.0, 0.0); - } - return texture(mainTexture, v_uv0); - } - - - /** - * 获取指定角度方向,距离为xxx的像素的透明度 - * - * @param angle 角度 [0.0, 360.0] - * @param dist 距离 [0.0, 1.0] - * - * @return alpha [0.0, 1.0] - */ - float getColorAlpha(float angle, float dist) { - // 角度转弧度,公式为:弧度 = 角度 * (pi / 180) - // float radian = angle * 0.01745329252; // 这个浮点数是 pi / 180 - float radian = radians(angle); - vec4 color = getTextureColor(mainTexture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian))); - return color.a; - } - - /** - * 获取指定距离的周边像素的透明度平均值 - * - * @param dist 距离 [0.0, 1.0] - * - * @return average alpha [0.0, 1.0] - */ - float getAverageAlpha(float dist) { - float totalAlpha = 0.0; - // 以30度为一个单位,那么「周边一圈」就由0到360度中共计12个点的组成 - totalAlpha += getColorAlpha(0.0, dist); - totalAlpha += getColorAlpha(30.0, dist); - totalAlpha += getColorAlpha(60.0, dist); - totalAlpha += getColorAlpha(90.0, dist); - totalAlpha += getColorAlpha(120.0, dist); - totalAlpha += getColorAlpha(150.0, dist); - totalAlpha += getColorAlpha(180.0, dist); - totalAlpha += getColorAlpha(210.0, dist); - totalAlpha += getColorAlpha(240.0, dist); - totalAlpha += getColorAlpha(270.0, dist); - totalAlpha += getColorAlpha(300.0, dist); - totalAlpha += getColorAlpha(330.0, dist); - return totalAlpha * 0.0833; // 1 / 12 = 0.08333 - } - - /** - * 获取发光的透明度 - */ - float getGlowAlpha() { - // 如果发光宽度为0,直接返回0.0透明度,减少计算量 - if (glowColorSize == 0.0) { - return 0.0; - } - - // 因为我们是要做内发光,所以如果点本来是透明的或者接近透明的 - // 那么就意味着这个点是图像外的透明点或者图像内透明点(如空洞)之类的 - // 内发光的话,这些透明点我们不用处理,让它保持原样,否则就是会有内描边或者一点扩边的效果 - // 同时也是提前直接结束,减少计算量 - vec4 srcColor = getTextureColor(mainTexture, v_uv0); - if (srcColor.a <= glowThreshold) { - return srcColor.a; - } - - // 将传入的指定距离,平均分成10圈,求出每一圈的平均透明度, - // 然后求和取平均值,那么就可以得到该点的平均透明度 - float totalAlpha = 0.0; - totalAlpha += getAverageAlpha(glowColorSize * 0.1); - totalAlpha += getAverageAlpha(glowColorSize * 0.2); - totalAlpha += getAverageAlpha(glowColorSize * 0.3); - totalAlpha += getAverageAlpha(glowColorSize * 0.4); - totalAlpha += getAverageAlpha(glowColorSize * 0.5); - totalAlpha += getAverageAlpha(glowColorSize * 0.6); - totalAlpha += getAverageAlpha(glowColorSize * 0.7); - totalAlpha += getAverageAlpha(glowColorSize * 0.8); - totalAlpha += getAverageAlpha(glowColorSize * 0.9); - totalAlpha += getAverageAlpha(glowColorSize * 1.0); - return totalAlpha * 0.1; - } - - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - - #if SHOW_INNER_GLOW - // 目标颜色(图像) - vec4 color_dest = o; - - // 获取发光透明度 - // 此时我们得到的是内部透明度为1,靠近边缘的为接近0的透明度,其他位置为0的透明度 - float alpha = getGlowAlpha(); - - // 而内发光是从边缘开始的,那么什么算是边缘呢? - // 如果图像边缘有大量渐变,那么如果我们取大于 0.0 点就算是图像内的话,那么可能边缘会出现锯齿 - // 因此为了确定边缘,引入了发光阈值,我们只需要比较一下发光阈值就可以,大于发光阈值的点都是(图像内)发光点 - if (alpha > glowThreshold) { - - // 内发光是从边缘发光的,是需要内部透明度为0,靠近边缘的接近1的透明度 - // 因此我们需要翻转一下透明度 - alpha = 1.0 - alpha; - - // 给点调料,让靠近边缘的更加亮 - alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; - } - // 源颜色(内发光) - vec4 color_src = glowColor * alpha; - - // 按照这个顺序,源颜色就是内发光颜色,目标颜色就是图案颜色色 - // 所以命名就是 color_src, color_dest - - // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F - // 要在图案上方,叠加一个内发光,将两者颜色混合起来,那么最终选择的混合模式如下: - // - // (内发光)color_src: GL_SRC_ALPHA - // (原图像)color_dest: GL_ONE - // - // 即最终颜色如下: - // color_src * GL_SRC_ALPHA + color_dest * GL_ONE - - gl_FragColor = color_src * color_src.a + color_dest; - #endif - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # 自定义参数 + # 发光颜色 + glowColor: { + value: [1.0, 1.0, 0.0, 1.0], + editor: { + type: color, + tooltip: "发光颜色" + } + } + # 发光宽度 + glowColorSize: { + value: 0.2, + editor: { + tooltip: "发光宽度", + range: [0.0, 1.0], + } + } + # 发光透明度阈值 + # 只有超过这个透明度的点才会发光 + # 一般用于解决图像边缘存在渐变透明的时,决定超过这个透明度阈值的边缘点才点发光,具体可以操作一下 + glowThreshold: { + value: 0.1, + editor: { + tooltip: "发光阈值", + range: [0.0, 1.0] + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if SHOW_INNER_GLOW + + uniform glow { + // 发光颜色 + vec4 glowColor; + // 发光范围 + float glowColorSize; + // 发光阈值 + float glowThreshold; + // 特别地,必须是 vec4 先于 float 声明 + }; + + /** + * 获取纹理uv颜色 + * + * 主要实现:超出边界的统一返回 vec4(0.0, 0.0, 0.0, 0.0) + * + * 在 Cocos Creator 2.2.1 的编辑器中,超出边界的uv并不是返回 vec4(0.0, 0.0, 0.0, 0.0),实际返回为 + * + * * 超出左边界的uv,返回 v_uv0.x = 0 的颜色 + * * 超出右边界的uv,返回 v_uv0.x = 1 的颜色 + * * 超出上边界的uv,返回 v_uv0.y = 1 的颜色 + * * 超出下边界的uv,返回 v_uv0.y = 0 的颜色 + * + * 和实际在浏览器上显示(超出边界即为透明)的有区别,为了统一,这里适配一下,这样子,在编辑器上预览的效果就能和实际浏览器的保持一致 + */ + vec4 getTextureColor(sampler2D mainTexture, vec2 v_uv0) { + if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) { + return vec4(0.0, 0.0, 0.0, 0.0); + } + return texture(mainTexture, v_uv0); + } + + + /** + * 获取指定角度方向,距离为xxx的像素的透明度 + * + * @param angle 角度 [0.0, 360.0] + * @param dist 距离 [0.0, 1.0] + * + * @return alpha [0.0, 1.0] + */ + float getColorAlpha(float angle, float dist) { + // 角度转弧度,公式为:弧度 = 角度 * (pi / 180) + // float radian = angle * 0.01745329252; // 这个浮点数是 pi / 180 + float radian = radians(angle); + vec4 color = getTextureColor(mainTexture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian))); + return color.a; + } + + /** + * 获取指定距离的周边像素的透明度平均值 + * + * @param dist 距离 [0.0, 1.0] + * + * @return average alpha [0.0, 1.0] + */ + float getAverageAlpha(float dist) { + float totalAlpha = 0.0; + // 以30度为一个单位,那么「周边一圈」就由0到360度中共计12个点的组成 + totalAlpha += getColorAlpha(0.0, dist); + totalAlpha += getColorAlpha(30.0, dist); + totalAlpha += getColorAlpha(60.0, dist); + totalAlpha += getColorAlpha(90.0, dist); + totalAlpha += getColorAlpha(120.0, dist); + totalAlpha += getColorAlpha(150.0, dist); + totalAlpha += getColorAlpha(180.0, dist); + totalAlpha += getColorAlpha(210.0, dist); + totalAlpha += getColorAlpha(240.0, dist); + totalAlpha += getColorAlpha(270.0, dist); + totalAlpha += getColorAlpha(300.0, dist); + totalAlpha += getColorAlpha(330.0, dist); + return totalAlpha * 0.0833; // 1 / 12 = 0.08333 + } + + /** + * 获取发光的透明度 + */ + float getGlowAlpha() { + // 如果发光宽度为0,直接返回0.0透明度,减少计算量 + if (glowColorSize == 0.0) { + return 0.0; + } + + // 因为我们是要做内发光,所以如果点本来是透明的或者接近透明的 + // 那么就意味着这个点是图像外的透明点或者图像内透明点(如空洞)之类的 + // 内发光的话,这些透明点我们不用处理,让它保持原样,否则就是会有内描边或者一点扩边的效果 + // 同时也是提前直接结束,减少计算量 + vec4 srcColor = getTextureColor(mainTexture, v_uv0); + if (srcColor.a <= glowThreshold) { + return srcColor.a; + } + + // 将传入的指定距离,平均分成10圈,求出每一圈的平均透明度, + // 然后求和取平均值,那么就可以得到该点的平均透明度 + float totalAlpha = 0.0; + totalAlpha += getAverageAlpha(glowColorSize * 0.1); + totalAlpha += getAverageAlpha(glowColorSize * 0.2); + totalAlpha += getAverageAlpha(glowColorSize * 0.3); + totalAlpha += getAverageAlpha(glowColorSize * 0.4); + totalAlpha += getAverageAlpha(glowColorSize * 0.5); + totalAlpha += getAverageAlpha(glowColorSize * 0.6); + totalAlpha += getAverageAlpha(glowColorSize * 0.7); + totalAlpha += getAverageAlpha(glowColorSize * 0.8); + totalAlpha += getAverageAlpha(glowColorSize * 0.9); + totalAlpha += getAverageAlpha(glowColorSize * 1.0); + return totalAlpha * 0.1; + } + + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + + #if SHOW_INNER_GLOW + // 目标颜色(图像) + vec4 color_dest = o; + + // 获取发光透明度 + // 此时我们得到的是内部透明度为1,靠近边缘的为接近0的透明度,其他位置为0的透明度 + float alpha = getGlowAlpha(); + + // 而内发光是从边缘开始的,那么什么算是边缘呢? + // 如果图像边缘有大量渐变,那么如果我们取大于 0.0 点就算是图像内的话,那么可能边缘会出现锯齿 + // 因此为了确定边缘,引入了发光阈值,我们只需要比较一下发光阈值就可以,大于发光阈值的点都是(图像内)发光点 + if (alpha > glowThreshold) { + + // 内发光是从边缘发光的,是需要内部透明度为0,靠近边缘的接近1的透明度 + // 因此我们需要翻转一下透明度 + alpha = 1.0 - alpha; + + // 给点调料,让靠近边缘的更加亮 + alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; + } + // 源颜色(内发光) + vec4 color_src = glowColor * alpha; + + // 按照这个顺序,源颜色就是内发光颜色,目标颜色就是图案颜色色 + // 所以命名就是 color_src, color_dest + + // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F + // 要在图案上方,叠加一个内发光,将两者颜色混合起来,那么最终选择的混合模式如下: + // + // (内发光)color_src: GL_SRC_ALPHA + // (原图像)color_dest: GL_ONE + // + // 即最终颜色如下: + // color_src * GL_SRC_ALPHA + color_dest * GL_ONE + + gl_FragColor = color_src * color_src.a + color_dest; + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-glow-inner.effect.meta b/assets/FishSingle/shader/effects/sprite-glow-inner.effect.meta index 7c187fa..5f9019b 100644 --- a/assets/FishSingle/shader/effects/sprite-glow-inner.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-glow-inner.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "345a48c3-c00c-45d2-b6c9-b1ac49f46662", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "345a48c3-c00c-45d2-b6c9-b1ac49f46662", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-glow-outter.effect b/assets/FishSingle/shader/effects/sprite-glow-outter.effect index d136b00..edd0cf0 100644 --- a/assets/FishSingle/shader/effects/sprite-glow-outter.effect +++ b/assets/FishSingle/shader/effects/sprite-glow-outter.effect @@ -1,291 +1,291 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # 自定义参数 - # 发光颜色 - glowColor: { - value: [1.0, 1.0, 0.0, 1.0], - editor: { - type: color, - tooltip: "发光颜色" - } - } - # 发光宽度 - glowColorSize: { - value: 0.15, - editor: { - tooltip: "发光宽度", - range: [0.0, 1.0], - } - } - # 发光透明度阈值 - # 只有小于等于这个透明度的点才会发光 - glowThreshold: { - value: 1.0, - editor: { - tooltip: "发光阈值", - range: [0.0, 1.0] - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - - // // 左移 - // v_uv0 = a_uv0 + vec2(0.1, 0.0); - // // 右移 - // v_uv0 = a_uv0 + vec2(-0.1, 0.0); - // // 上移 - // v_uv0 = a_uv0 + vec2(0.0, 0.1); - // // 下移 - // v_uv0 = a_uv0 + vec2(0.0, -0.1); - - // // x轴拉伸 - // v_uv0 = a_uv0 * vec2(0.5, 1.0); - // // x轴压缩 - // v_uv0 = a_uv0 * vec2(2.0, 1.0); - // // y轴拉伸 - // v_uv0 = a_uv0 * vec2(1.0, 0.5); - // // y轴压缩 - // v_uv0 = a_uv0 * vec2(1.0, 2.0); - - // 先缩小一倍,然后在移动回去中间 - // v_uv0 = a_uv0 * 2.0 - 0.5; - #endif - - v_color = a_color; - - // pos *= vec4(2.0, 2.0, 1.0, 1.0); - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - /** - * 获取纹理uv颜色 - * - * 主要实现:超出边界的统一返回 vec4(0.0, 0.0, 0.0, 0.0) - * - * 在 Cocos Creator 2.2.1 的编辑器中,超出边界的uv并不是返回 vec4(0.0, 0.0, 0.0, 0.0),实际返回为 - * - * * 超出左边界的uv,返回 v_uv0.x = 0 的颜色 - * * 超出右边界的uv,返回 v_uv0.x = 1 的颜色 - * * 超出上边界的uv,返回 v_uv0.y = 1 的颜色 - * * 超出下边界的uv,返回 v_uv0.y = 0 的颜色 - * - * 和实际在浏览器上显示(超出边界即为透明)的有区别,为了统一,这里适配一下,这样子,在编辑器上预览的效果就能和实际浏览器的保持一致 - */ - vec4 getTextureColor(sampler2D mainTexture, vec2 v_uv0) { - if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) { - return vec4(0.0, 0.0, 0.0, 0.0); - } - return texture(mainTexture, v_uv0); - } - - #if SHOW_OUTTER_GLOW - - uniform glow { - // 发光颜色 - vec4 glowColor; - // 发光范围 - float glowColorSize; - // 发光阈值 - float glowThreshold; - // 特别地,必须是 vec4 先于 float 声明 - }; - - - /** - * 获取指定角度方向,距离为xxx的像素的透明度 - * - * @param angle 角度 [0.0, 360.0] - * @param dist 距离 [0.0, 1.0] - * - * @return alpha [0.0, 1.0] - */ - float getColorAlpha(float angle, float dist) { - // 角度转弧度,公式为:弧度 = 角度 * (pi / 180) - float radian = angle * 0.01745329252; // 这个浮点数是 pi / 180 - vec4 color = getTextureColor(mainTexture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian))); - return color.a; - } - - /** - * 获取指定距离的周边像素的透明度平均值 - * - * @param dist 距离 [0.0, 1.0] - * - * @return average alpha [0.0, 1.0] - */ - float getAverageAlpha(float dist) { - float totalAlpha = 0.0; - // 以30度为一个单位,那么「周边一圈」就由0到360度中共计12个点的组成 - totalAlpha += getColorAlpha(0.0, dist); - totalAlpha += getColorAlpha(30.0, dist); - totalAlpha += getColorAlpha(60.0, dist); - totalAlpha += getColorAlpha(90.0, dist); - totalAlpha += getColorAlpha(120.0, dist); - totalAlpha += getColorAlpha(150.0, dist); - totalAlpha += getColorAlpha(180.0, dist); - totalAlpha += getColorAlpha(210.0, dist); - totalAlpha += getColorAlpha(240.0, dist); - totalAlpha += getColorAlpha(270.0, dist); - totalAlpha += getColorAlpha(300.0, dist); - totalAlpha += getColorAlpha(330.0, dist); - return totalAlpha * 0.0833; // 1 / 12 = 0.08333 - - // // for 循环写法据说耗性能 - // float totalAlpha = 0.0; - // const float count = 12.0; - // const float angle = 360.0 / count; - // for (float i = 0.0; i < count; i += 1.0) { - // totalAlpha += getColorAlpha(angle * i, dist) ; - // } - // return totalAlpha / count; - } - - /** - * 获取发光的透明度 - */ - float getGlowAlpha() { - // 如果发光宽度为0,直接返回0.0透明度,减少计算量 - if (glowColorSize == 0.0) { - return 0.0; - } - - // // 因为我们是要做内发光,所以如果点本来是透明的或者接近透明的 - // // 那么就意味着这个点是图像外的透明点或者图像内透明点(如空洞)之类的 - // // 内发光的话,这些透明点我们不用处理,让它保持原样,否则就是会有内描边或者一点扩边的效果 - // // 同时也是提前直接结束,减少计算量 - // vec4 srcColor = texture(mainTexture, v_uv0); - // if (srcColor.a <= glowThreshold) { - // return srcColor.a; - // } - - // 将传入的指定距离,平均分成10圈,求出每一圈的平均透明度, - // 然后求和取平均值,那么就可以得到该点的平均透明度 - float totalAlpha = 0.0; - totalAlpha += getAverageAlpha(glowColorSize * 0.1); - totalAlpha += getAverageAlpha(glowColorSize * 0.2); - totalAlpha += getAverageAlpha(glowColorSize * 0.3); - totalAlpha += getAverageAlpha(glowColorSize * 0.4); - totalAlpha += getAverageAlpha(glowColorSize * 0.5); - totalAlpha += getAverageAlpha(glowColorSize * 0.6); - totalAlpha += getAverageAlpha(glowColorSize * 0.7); - totalAlpha += getAverageAlpha(glowColorSize * 0.8); - totalAlpha += getAverageAlpha(glowColorSize * 0.9); - totalAlpha += getAverageAlpha(glowColorSize * 1.0); - return totalAlpha * 0.1; - } - - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - - #if SHOW_OUTTER_GLOW - // 获取发光透明度 - // 此时我们得到的是内部透明度为1,靠近边缘的为接近0的透明度,其他位置为0的透明度 - float alpha = getGlowAlpha(); - - // 而外发光是从边缘开始的,那么什么算是边缘呢? - // 一般图像边缘是存在渐变,即从图像内 1.0-> 0.0 图像外,那么发光边缘我们可以这样子定义 - // 当该点的透明度小于一个阈值,那么我们就当该点为一个发光点 - if (alpha <= glowThreshold) { - // 然后以阈值作为标量,重新将透明度归一化 - alpha = alpha / glowThreshold; - - // 给点调料,让靠近边缘的更加亮 - alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; - } else { - // 然后这里大于阈值的基本就是便是图像本身,不需要发光,那么将发光透明度置为0 - alpha = 0.0; - } - - // 忽略阈值,直接处理 - // // 给点调料,让靠近边缘的更加亮 - // alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; - - // 外发光颜色 - vec4 color_dest = glowColor * alpha; - vec4 color_src = o; - - // 本次我们将先画外发光作为背景,然后在上方放图像 - // - // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F - // - // 最终选择的混合模式如下: - // - // (原图像)color_src: GL_SRC_ALPHA - // (外发光)color_dest: GL_ONE_MINUS_SRC_ALPHAA - // - // 即最终颜色如下: - // color_src * GL_SRC_ALPHA + color_dest * GL_ONE_MINUS_SRC_ALPHAA - - gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a); - #endif - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # 自定义参数 + # 发光颜色 + glowColor: { + value: [1.0, 1.0, 0.0, 1.0], + editor: { + type: color, + tooltip: "发光颜色" + } + } + # 发光宽度 + glowColorSize: { + value: 0.15, + editor: { + tooltip: "发光宽度", + range: [0.0, 1.0], + } + } + # 发光透明度阈值 + # 只有小于等于这个透明度的点才会发光 + glowThreshold: { + value: 1.0, + editor: { + tooltip: "发光阈值", + range: [0.0, 1.0] + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + + // // 左移 + // v_uv0 = a_uv0 + vec2(0.1, 0.0); + // // 右移 + // v_uv0 = a_uv0 + vec2(-0.1, 0.0); + // // 上移 + // v_uv0 = a_uv0 + vec2(0.0, 0.1); + // // 下移 + // v_uv0 = a_uv0 + vec2(0.0, -0.1); + + // // x轴拉伸 + // v_uv0 = a_uv0 * vec2(0.5, 1.0); + // // x轴压缩 + // v_uv0 = a_uv0 * vec2(2.0, 1.0); + // // y轴拉伸 + // v_uv0 = a_uv0 * vec2(1.0, 0.5); + // // y轴压缩 + // v_uv0 = a_uv0 * vec2(1.0, 2.0); + + // 先缩小一倍,然后在移动回去中间 + // v_uv0 = a_uv0 * 2.0 - 0.5; + #endif + + v_color = a_color; + + // pos *= vec4(2.0, 2.0, 1.0, 1.0); + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + /** + * 获取纹理uv颜色 + * + * 主要实现:超出边界的统一返回 vec4(0.0, 0.0, 0.0, 0.0) + * + * 在 Cocos Creator 2.2.1 的编辑器中,超出边界的uv并不是返回 vec4(0.0, 0.0, 0.0, 0.0),实际返回为 + * + * * 超出左边界的uv,返回 v_uv0.x = 0 的颜色 + * * 超出右边界的uv,返回 v_uv0.x = 1 的颜色 + * * 超出上边界的uv,返回 v_uv0.y = 1 的颜色 + * * 超出下边界的uv,返回 v_uv0.y = 0 的颜色 + * + * 和实际在浏览器上显示(超出边界即为透明)的有区别,为了统一,这里适配一下,这样子,在编辑器上预览的效果就能和实际浏览器的保持一致 + */ + vec4 getTextureColor(sampler2D mainTexture, vec2 v_uv0) { + if (v_uv0.x > 1.0 || v_uv0.x < 0.0 || v_uv0.y > 1.0 || v_uv0.y < 0.0) { + return vec4(0.0, 0.0, 0.0, 0.0); + } + return texture(mainTexture, v_uv0); + } + + #if SHOW_OUTTER_GLOW + + uniform glow { + // 发光颜色 + vec4 glowColor; + // 发光范围 + float glowColorSize; + // 发光阈值 + float glowThreshold; + // 特别地,必须是 vec4 先于 float 声明 + }; + + + /** + * 获取指定角度方向,距离为xxx的像素的透明度 + * + * @param angle 角度 [0.0, 360.0] + * @param dist 距离 [0.0, 1.0] + * + * @return alpha [0.0, 1.0] + */ + float getColorAlpha(float angle, float dist) { + // 角度转弧度,公式为:弧度 = 角度 * (pi / 180) + float radian = angle * 0.01745329252; // 这个浮点数是 pi / 180 + vec4 color = getTextureColor(mainTexture, v_uv0 + vec2(dist * cos(radian), dist * sin(radian))); + return color.a; + } + + /** + * 获取指定距离的周边像素的透明度平均值 + * + * @param dist 距离 [0.0, 1.0] + * + * @return average alpha [0.0, 1.0] + */ + float getAverageAlpha(float dist) { + float totalAlpha = 0.0; + // 以30度为一个单位,那么「周边一圈」就由0到360度中共计12个点的组成 + totalAlpha += getColorAlpha(0.0, dist); + totalAlpha += getColorAlpha(30.0, dist); + totalAlpha += getColorAlpha(60.0, dist); + totalAlpha += getColorAlpha(90.0, dist); + totalAlpha += getColorAlpha(120.0, dist); + totalAlpha += getColorAlpha(150.0, dist); + totalAlpha += getColorAlpha(180.0, dist); + totalAlpha += getColorAlpha(210.0, dist); + totalAlpha += getColorAlpha(240.0, dist); + totalAlpha += getColorAlpha(270.0, dist); + totalAlpha += getColorAlpha(300.0, dist); + totalAlpha += getColorAlpha(330.0, dist); + return totalAlpha * 0.0833; // 1 / 12 = 0.08333 + + // // for 循环写法据说耗性能 + // float totalAlpha = 0.0; + // const float count = 12.0; + // const float angle = 360.0 / count; + // for (float i = 0.0; i < count; i += 1.0) { + // totalAlpha += getColorAlpha(angle * i, dist) ; + // } + // return totalAlpha / count; + } + + /** + * 获取发光的透明度 + */ + float getGlowAlpha() { + // 如果发光宽度为0,直接返回0.0透明度,减少计算量 + if (glowColorSize == 0.0) { + return 0.0; + } + + // // 因为我们是要做内发光,所以如果点本来是透明的或者接近透明的 + // // 那么就意味着这个点是图像外的透明点或者图像内透明点(如空洞)之类的 + // // 内发光的话,这些透明点我们不用处理,让它保持原样,否则就是会有内描边或者一点扩边的效果 + // // 同时也是提前直接结束,减少计算量 + // vec4 srcColor = texture(mainTexture, v_uv0); + // if (srcColor.a <= glowThreshold) { + // return srcColor.a; + // } + + // 将传入的指定距离,平均分成10圈,求出每一圈的平均透明度, + // 然后求和取平均值,那么就可以得到该点的平均透明度 + float totalAlpha = 0.0; + totalAlpha += getAverageAlpha(glowColorSize * 0.1); + totalAlpha += getAverageAlpha(glowColorSize * 0.2); + totalAlpha += getAverageAlpha(glowColorSize * 0.3); + totalAlpha += getAverageAlpha(glowColorSize * 0.4); + totalAlpha += getAverageAlpha(glowColorSize * 0.5); + totalAlpha += getAverageAlpha(glowColorSize * 0.6); + totalAlpha += getAverageAlpha(glowColorSize * 0.7); + totalAlpha += getAverageAlpha(glowColorSize * 0.8); + totalAlpha += getAverageAlpha(glowColorSize * 0.9); + totalAlpha += getAverageAlpha(glowColorSize * 1.0); + return totalAlpha * 0.1; + } + + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + + #if SHOW_OUTTER_GLOW + // 获取发光透明度 + // 此时我们得到的是内部透明度为1,靠近边缘的为接近0的透明度,其他位置为0的透明度 + float alpha = getGlowAlpha(); + + // 而外发光是从边缘开始的,那么什么算是边缘呢? + // 一般图像边缘是存在渐变,即从图像内 1.0-> 0.0 图像外,那么发光边缘我们可以这样子定义 + // 当该点的透明度小于一个阈值,那么我们就当该点为一个发光点 + if (alpha <= glowThreshold) { + // 然后以阈值作为标量,重新将透明度归一化 + alpha = alpha / glowThreshold; + + // 给点调料,让靠近边缘的更加亮 + alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; + } else { + // 然后这里大于阈值的基本就是便是图像本身,不需要发光,那么将发光透明度置为0 + alpha = 0.0; + } + + // 忽略阈值,直接处理 + // // 给点调料,让靠近边缘的更加亮 + // alpha = -1.0 * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) * (alpha - 1.0) + 1.0; + + // 外发光颜色 + vec4 color_dest = glowColor * alpha; + vec4 color_src = o; + + // 本次我们将先画外发光作为背景,然后在上方放图像 + // + // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F + // + // 最终选择的混合模式如下: + // + // (原图像)color_src: GL_SRC_ALPHA + // (外发光)color_dest: GL_ONE_MINUS_SRC_ALPHAA + // + // 即最终颜色如下: + // color_src * GL_SRC_ALPHA + color_dest * GL_ONE_MINUS_SRC_ALPHAA + + gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a); + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-glow-outter.effect.meta b/assets/FishSingle/shader/effects/sprite-glow-outter.effect.meta index 92f1c5c..d56cc83 100644 --- a/assets/FishSingle/shader/effects/sprite-glow-outter.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-glow-outter.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-gray.effect b/assets/FishSingle/shader/effects/sprite-gray.effect index 66f165d..46b0d88 100644 --- a/assets/FishSingle/shader/effects/sprite-gray.effect +++ b/assets/FishSingle/shader/effects/sprite-gray.effect @@ -1,110 +1,110 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 灰化特效 -// 原理: -// r = 0.2126 * r + 0.7152 * g + 0.0722 * b -// g = 0.2126 * r + 0.7152 * g + 0.0722 * b -// b = 0.2126 * r + 0.7152 * g + 0.0722 * b - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # 灰化程度 - grayLevel: { - value: 1.0, - editor: { - tooltip: "灰化程度", - range: [0.0, 1.0] - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if USE_GRAY - uniform GrayPhoto { - // 灰化程度 - float grayLevel; - }; - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - #if USE_GRAY - vec4 srcColor = o; - - float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b; - vec4 grayColor = vec4(gray, gray, gray, o.a); - - o = srcColor + (grayColor - srcColor) * grayLevel; - #endif - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// 灰化特效 +// 原理: +// r = 0.2126 * r + 0.7152 * g + 0.0722 * b +// g = 0.2126 * r + 0.7152 * g + 0.0722 * b +// b = 0.2126 * r + 0.7152 * g + 0.0722 * b + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # 灰化程度 + grayLevel: { + value: 1.0, + editor: { + tooltip: "灰化程度", + range: [0.0, 1.0] + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if USE_GRAY + uniform GrayPhoto { + // 灰化程度 + float grayLevel; + }; + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + #if USE_GRAY + vec4 srcColor = o; + + float gray = 0.2126 * o.r + 0.7152 * o.g + 0.0722 * o.b; + vec4 grayColor = vec4(gray, gray, gray, o.a); + + o = srcColor + (grayColor - srcColor) * grayLevel; + #endif + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-gray.effect.meta b/assets/FishSingle/shader/effects/sprite-gray.effect.meta index 86b882d..ade4a10 100644 --- a/assets/FishSingle/shader/effects/sprite-gray.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-gray.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "2e5b29d9-dd5e-4f3d-92e9-e580745b3bc8", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "2e5b29d9-dd5e-4f3d-92e9-e580745b3bc8", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-mosaic.effect b/assets/FishSingle/shader/effects/sprite-mosaic.effect index 67ad3c0..9a77803 100644 --- a/assets/FishSingle/shader/effects/sprite-mosaic.effect +++ b/assets/FishSingle/shader/effects/sprite-mosaic.effect @@ -1,146 +1,146 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 马赛克特效 -// 原理: n x n 方块内取同一颜色 - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # X轴方块数量 - xBlockCount: { - value: 30.0, - editor: { - tooltip: "X轴方向马赛克方块数量" - } - } - # Y轴方块数量 - yBlockCount: { - value: 30.0, - editor: { - tooltip: "Y轴方向马赛克方块数量" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if USE_MOSAIC - uniform Mosaic { - // X轴方块数量 - float xBlockCount; - // Y轴方块数量 - float yBlockCount; - }; - - /** - * 获取v_uv0最终映射的马赛格格子的坐标 - * - * @return 映射后坐标 - */ - vec2 getUvMapPos() { - // 计算x轴格子宽度 - float xCount; - if (xBlockCount <= 0.0) { - xCount = 1.0; - } else { - xCount = xBlockCount; - } - float blockWidth = 1.0 / xCount; - - // 计算当前 v_uv0 在x轴的哪个格子上 - float blockXIndex = floor(v_uv0.x / blockWidth); - - // 同理,求出当前 v_uv0 在y轴上的哪个格子 - float yCount; - if (yBlockCount <= 0.0) { - yCount = 1.0; - } else { - yCount = yBlockCount; - } - float blockHeight = 1.0 / yCount; - float blockYIndex = floor(v_uv0.y / blockHeight); - - // 找到该格子的中心点实际对应的uv坐标 - return vec2(blockWidth * (blockXIndex + 0.5), blockHeight * (blockYIndex + 0.5)); - } - - - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - vec2 realPos = v_uv0; - #if USE_MOSAIC - realPos = getUvMapPos(); - #endif - - #if USE_TEXTURE - o *= texture(mainTexture, realPos); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, realPos + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// 马赛克特效 +// 原理: n x n 方块内取同一颜色 + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # X轴方块数量 + xBlockCount: { + value: 30.0, + editor: { + tooltip: "X轴方向马赛克方块数量" + } + } + # Y轴方块数量 + yBlockCount: { + value: 30.0, + editor: { + tooltip: "Y轴方向马赛克方块数量" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if USE_MOSAIC + uniform Mosaic { + // X轴方块数量 + float xBlockCount; + // Y轴方块数量 + float yBlockCount; + }; + + /** + * 获取v_uv0最终映射的马赛格格子的坐标 + * + * @return 映射后坐标 + */ + vec2 getUvMapPos() { + // 计算x轴格子宽度 + float xCount; + if (xBlockCount <= 0.0) { + xCount = 1.0; + } else { + xCount = xBlockCount; + } + float blockWidth = 1.0 / xCount; + + // 计算当前 v_uv0 在x轴的哪个格子上 + float blockXIndex = floor(v_uv0.x / blockWidth); + + // 同理,求出当前 v_uv0 在y轴上的哪个格子 + float yCount; + if (yBlockCount <= 0.0) { + yCount = 1.0; + } else { + yCount = yBlockCount; + } + float blockHeight = 1.0 / yCount; + float blockYIndex = floor(v_uv0.y / blockHeight); + + // 找到该格子的中心点实际对应的uv坐标 + return vec2(blockWidth * (blockXIndex + 0.5), blockHeight * (blockYIndex + 0.5)); + } + + + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + vec2 realPos = v_uv0; + #if USE_MOSAIC + realPos = getUvMapPos(); + #endif + + #if USE_TEXTURE + o *= texture(mainTexture, realPos); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, realPos + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-mosaic.effect.meta b/assets/FishSingle/shader/effects/sprite-mosaic.effect.meta index 4655574..116a4b8 100644 --- a/assets/FishSingle/shader/effects/sprite-mosaic.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-mosaic.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "9638979d-62b3-4e5b-adea-7ad706e66e65", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "9638979d-62b3-4e5b-adea-7ad706e66e65", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-old-photo.effect b/assets/FishSingle/shader/effects/sprite-old-photo.effect index db39373..c04a26a 100644 --- a/assets/FishSingle/shader/effects/sprite-old-photo.effect +++ b/assets/FishSingle/shader/effects/sprite-old-photo.effect @@ -1,122 +1,122 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 老照片特效 -// 原理: -// r = 0.393 * r + 0.769 * g + 0.189 * b; -// g = 0.349 * r + 0.686 * g + 0.168 * b; -// b = 0.272 * r + 0.534 * g + 0.131 * b; - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # 老化程度 - oldLevel: { - value: 1.0, - editor: { - tooltip: "老化程度", - range: [0.0, 1.0] - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if USE_OLD_PHOTO - uniform OldPhoto { - // 老化程度 - float oldLevel; - }; - - /** - * 获取老化颜色 - * - * @param color 原始颜色 - * - * @return 老化后的颜色 - */ - vec4 getOldPhotoColor(vec4 color) { - float r = 0.393 * color.r + 0.769 * color.g + 0.189 * color.b; - float g = 0.349 * color.r + 0.686 * color.g + 0.168 * color.b; - float b = 0.272 * color.r + 0.534 * color.g + 0.131 * color.b; - return vec4(r, g, b, color.a); - } - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - #if USE_OLD_PHOTO - vec4 srcColor = o; - vec4 oldColor = getOldPhotoColor(srcColor); - - o = srcColor + (oldColor - srcColor) * oldLevel; - #endif - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// 老照片特效 +// 原理: +// r = 0.393 * r + 0.769 * g + 0.189 * b; +// g = 0.349 * r + 0.686 * g + 0.168 * b; +// b = 0.272 * r + 0.534 * g + 0.131 * b; + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # 老化程度 + oldLevel: { + value: 1.0, + editor: { + tooltip: "老化程度", + range: [0.0, 1.0] + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if USE_OLD_PHOTO + uniform OldPhoto { + // 老化程度 + float oldLevel; + }; + + /** + * 获取老化颜色 + * + * @param color 原始颜色 + * + * @return 老化后的颜色 + */ + vec4 getOldPhotoColor(vec4 color) { + float r = 0.393 * color.r + 0.769 * color.g + 0.189 * color.b; + float g = 0.349 * color.r + 0.686 * color.g + 0.168 * color.b; + float b = 0.272 * color.r + 0.534 * color.g + 0.131 * color.b; + return vec4(r, g, b, color.a); + } + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + #if USE_OLD_PHOTO + vec4 srcColor = o; + vec4 oldColor = getOldPhotoColor(srcColor); + + o = srcColor + (oldColor - srcColor) * oldLevel; + #endif + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-old-photo.effect.meta b/assets/FishSingle/shader/effects/sprite-old-photo.effect.meta index 9aedb52..783da56 100644 --- a/assets/FishSingle/shader/effects/sprite-old-photo.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-old-photo.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "211eddf3-c53d-46e3-8c09-c1bf38e644e2", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "211eddf3-c53d-46e3-8c09-c1bf38e644e2", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-outline.effect b/assets/FishSingle/shader/effects/sprite-outline.effect index 25d9b31..945a2bb 100644 --- a/assets/FishSingle/shader/effects/sprite-outline.effect +++ b/assets/FishSingle/shader/effects/sprite-outline.effect @@ -1,153 +1,153 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - - # 描边颜色 - outlineColor: { - value: [1.0, 0.0, 0.0, 1.0], - editor: { - type: color, - tooltip: "描边颜色", - } - } - - # 描边宽度 - outlineWidth: { - value: 0.002, - editor: { - tooltip: "描边宽度", - range: [0.0, 1.0] - } - } - -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if SHOW_OUT_LINE - - uniform Outline { - // 描边颜色 - vec4 outlineColor; - // 描边偏移大小 - float outlineWidth; - // 特别地,必须是 vec4 先于 float 声明 - }; - - // 将图像往8个方向偏移后,得到一个类似放大的效果,然后取放大后的图像的透明度,即可得到一个放大后的区域,可以很方便填充(描边)颜色 - // 取当前点上、下、左、右、上左、上右、下左、下右共计8个方向,距离为 outlineWidth 的8个点,求他们的透明度之和 - // 由此可以得到当前点是否属于图像往八个方向做偏移后得到的放大图区域,并且能得到该点最终透明度值 - // 最终对应的为图像偏移/放大后的背景区域 - float getBgAlpha() { - vec4 color_up = texture(mainTexture, v_uv0 + vec2(0, outlineWidth)); - vec4 color_down = texture(mainTexture, v_uv0 - vec2(0, outlineWidth)); - vec4 color_left = texture(mainTexture, v_uv0 - vec2(outlineWidth, 0)); - vec4 color_right = texture(mainTexture, v_uv0 + vec2(outlineWidth, 0)); - vec4 color_up_left = texture(mainTexture, v_uv0 + vec2(outlineWidth, -outlineWidth)); - vec4 color_up_right = texture(mainTexture, v_uv0 + vec2(outlineWidth, outlineWidth)); - vec4 color_down_left = texture(mainTexture, v_uv0 + vec2(-outlineWidth, -outlineWidth)); - vec4 color_down_right = texture(mainTexture, v_uv0 + vec2(-outlineWidth, outlineWidth)); - float total = color_right.a + color_left.a + color_down.a + color_up.a + color_up_left.a + color_up_right.a + color_down_left.a + color_down_right.a; - return clamp(total, 0.0, 1.0); - } - - #endif - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - - #if SHOW_OUT_LINE - // 无描边宽度即结束 - if (outlineWidth == 0.0) { - return; - } - - // 先画背景色 - vec4 color_dest = outlineColor * getBgAlpha(); - - // 然后在背景色上方画图案颜色 - vec4 color_src = o; - - // 按照这个顺序,源颜色就是图案颜色,目标颜色就是背景色 - // 所以命名就是 color_src, color_dest - - // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F - // 要在底色上方,画一个图案,图案完全挡住底色,那么最终选择的混合模式如下: - // color_src: GL_SRC_ALPHA - // color_dest: GL_ONE_MINUS_SRC_ALPHA - // 即最终颜色如下: - // color_src * GL_SRC_ALPHA + color_dest * GL_ONE_MINUS_SRC_ALPHA - gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a); - #endif - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + + # 描边颜色 + outlineColor: { + value: [1.0, 0.0, 0.0, 1.0], + editor: { + type: color, + tooltip: "描边颜色", + } + } + + # 描边宽度 + outlineWidth: { + value: 0.002, + editor: { + tooltip: "描边宽度", + range: [0.0, 1.0] + } + } + +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if SHOW_OUT_LINE + + uniform Outline { + // 描边颜色 + vec4 outlineColor; + // 描边偏移大小 + float outlineWidth; + // 特别地,必须是 vec4 先于 float 声明 + }; + + // 将图像往8个方向偏移后,得到一个类似放大的效果,然后取放大后的图像的透明度,即可得到一个放大后的区域,可以很方便填充(描边)颜色 + // 取当前点上、下、左、右、上左、上右、下左、下右共计8个方向,距离为 outlineWidth 的8个点,求他们的透明度之和 + // 由此可以得到当前点是否属于图像往八个方向做偏移后得到的放大图区域,并且能得到该点最终透明度值 + // 最终对应的为图像偏移/放大后的背景区域 + float getBgAlpha() { + vec4 color_up = texture(mainTexture, v_uv0 + vec2(0, outlineWidth)); + vec4 color_down = texture(mainTexture, v_uv0 - vec2(0, outlineWidth)); + vec4 color_left = texture(mainTexture, v_uv0 - vec2(outlineWidth, 0)); + vec4 color_right = texture(mainTexture, v_uv0 + vec2(outlineWidth, 0)); + vec4 color_up_left = texture(mainTexture, v_uv0 + vec2(outlineWidth, -outlineWidth)); + vec4 color_up_right = texture(mainTexture, v_uv0 + vec2(outlineWidth, outlineWidth)); + vec4 color_down_left = texture(mainTexture, v_uv0 + vec2(-outlineWidth, -outlineWidth)); + vec4 color_down_right = texture(mainTexture, v_uv0 + vec2(-outlineWidth, outlineWidth)); + float total = color_right.a + color_left.a + color_down.a + color_up.a + color_up_left.a + color_up_right.a + color_down_left.a + color_down_right.a; + return clamp(total, 0.0, 1.0); + } + + #endif + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + + #if SHOW_OUT_LINE + // 无描边宽度即结束 + if (outlineWidth == 0.0) { + return; + } + + // 先画背景色 + vec4 color_dest = outlineColor * getBgAlpha(); + + // 然后在背景色上方画图案颜色 + vec4 color_src = o; + + // 按照这个顺序,源颜色就是图案颜色,目标颜色就是背景色 + // 所以命名就是 color_src, color_dest + + // 按照混合颜色规则 http://docs.cocos.com/creator/manual/zh/advanced-topics/ui-auto-batch.html#blend-%E6%A8%A1%E5%BC%8F + // 要在底色上方,画一个图案,图案完全挡住底色,那么最终选择的混合模式如下: + // color_src: GL_SRC_ALPHA + // color_dest: GL_ONE_MINUS_SRC_ALPHA + // 即最终颜色如下: + // color_src * GL_SRC_ALPHA + color_dest * GL_ONE_MINUS_SRC_ALPHA + gl_FragColor = color_src * color_src.a + color_dest * (1.0 - color_src.a); + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-outline.effect.meta b/assets/FishSingle/shader/effects/sprite-outline.effect.meta index 4b94112..6c4087d 100644 --- a/assets/FishSingle/shader/effects/sprite-outline.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-outline.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "34c2ed47-4d59-41c4-b91c-157c32e9d0eb", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "34c2ed47-4d59-41c4-b91c-157c32e9d0eb", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-point-light.effect b/assets/FishSingle/shader/effects/sprite-point-light.effect index 94e298b..cb18c0d 100644 --- a/assets/FishSingle/shader/effects/sprite-point-light.effect +++ b/assets/FishSingle/shader/effects/sprite-point-light.effect @@ -1,182 +1,182 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// 点光/点扩散 -// 原理: -// 1. 画圆 -// 2. 圆心高亮(透明度=1.0),圆边缘不亮(透明度=0.0) -// 3. 在原图像上方叠加圆 - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - - # 扩散颜色 - centerColor: { - value: [1.0, 1.0, 0.0, 1.0], - editor: { - type: color, - tooltip: "发光颜色" - } - } - - # 扩散起点坐标 - centerPoint: { - value: [0.2, 0.2], - editor: { - tooltip: "扩散起点坐标" - } - } - - # 扩散半径 - radius: { - value: 0.4, - editor: { - tooltip: "扩散半径" - } - } - - # 裁剪掉透明区域上的光 - cropAlpha: { - value: 1.0, - editor: { - tooltip: "是否裁剪透明区域上的光。0:不启用,非0:启用" - } - } - - # 是否启用迷雾效果 - enableFog: { - value: 0.0, - editor: { - tooltip: "是否启用迷雾效果。0:不启用,非0:启用" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if ENABLE_DIFFUSION - uniform Diffusion { - // 扩散颜色 - vec4 centerColor; - - // 扩散起点坐标 - vec2 centerPoint; - - // 扩展半径 - float radius; - - // 裁剪掉透明区域上的光 - // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 - float cropAlpha; - - // 是否启用迷雾效果 - // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 - float enableFog; - }; - - /** - * 添加某个扩散点后混合后的纹理颜色 - */ - vec4 addLightColor(vec4 textureColor, vec2 centerPoint, float radius, vec4 centerColor) { - // 计算当前 uv 到圆心起点的距离 - float dis = distance(v_uv0, centerPoint); - - float a = 1.0 ; - - // 裁剪掉透明区域上的点光 - if (bool(cropAlpha)) { - a *= step(0.01, textureColor.a); - } - - // 裁剪掉光束范围外的uv(迷雾效果) - if (!bool(enableFog)) { - a *= step(dis, radius); - } - - // 加入从中心往外渐变的效果 - a *= 1.0 - (dis / radius); - - // 计算出圆范围内,不同 uv 对应的实际颜色值 - vec4 lightColor = centerColor * a; - - // 混合颜色:在原始图像颜色上叠加圆颜色 - return textureColor * textureColor.a + lightColor; - } - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - gl_FragColor = o; - - #if ENABLE_DIFFUSION - gl_FragColor = addLightColor(gl_FragColor, centerPoint, radius, centerColor); - #endif - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// 点光/点扩散 +// 原理: +// 1. 画圆 +// 2. 圆心高亮(透明度=1.0),圆边缘不亮(透明度=0.0) +// 3. 在原图像上方叠加圆 + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + + # 扩散颜色 + centerColor: { + value: [1.0, 1.0, 0.0, 1.0], + editor: { + type: color, + tooltip: "发光颜色" + } + } + + # 扩散起点坐标 + centerPoint: { + value: [0.2, 0.2], + editor: { + tooltip: "扩散起点坐标" + } + } + + # 扩散半径 + radius: { + value: 0.4, + editor: { + tooltip: "扩散半径" + } + } + + # 裁剪掉透明区域上的光 + cropAlpha: { + value: 1.0, + editor: { + tooltip: "是否裁剪透明区域上的光。0:不启用,非0:启用" + } + } + + # 是否启用迷雾效果 + enableFog: { + value: 0.0, + editor: { + tooltip: "是否启用迷雾效果。0:不启用,非0:启用" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if ENABLE_DIFFUSION + uniform Diffusion { + // 扩散颜色 + vec4 centerColor; + + // 扩散起点坐标 + vec2 centerPoint; + + // 扩展半径 + float radius; + + // 裁剪掉透明区域上的光 + // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 + float cropAlpha; + + // 是否启用迷雾效果 + // ps:编辑器还不支持 bool 类型的样子,因此用float来定义 + float enableFog; + }; + + /** + * 添加某个扩散点后混合后的纹理颜色 + */ + vec4 addLightColor(vec4 textureColor, vec2 centerPoint, float radius, vec4 centerColor) { + // 计算当前 uv 到圆心起点的距离 + float dis = distance(v_uv0, centerPoint); + + float a = 1.0 ; + + // 裁剪掉透明区域上的点光 + if (bool(cropAlpha)) { + a *= step(0.01, textureColor.a); + } + + // 裁剪掉光束范围外的uv(迷雾效果) + if (!bool(enableFog)) { + a *= step(dis, radius); + } + + // 加入从中心往外渐变的效果 + a *= 1.0 - (dis / radius); + + // 计算出圆范围内,不同 uv 对应的实际颜色值 + vec4 lightColor = centerColor * a; + + // 混合颜色:在原始图像颜色上叠加圆颜色 + return textureColor * textureColor.a + lightColor; + } + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + gl_FragColor = o; + + #if ENABLE_DIFFUSION + gl_FragColor = addLightColor(gl_FragColor, centerPoint, radius, centerColor); + #endif + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-point-light.effect.meta b/assets/FishSingle/shader/effects/sprite-point-light.effect.meta index c2658fb..3940667 100644 --- a/assets/FishSingle/shader/effects/sprite-point-light.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-point-light.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "72a182fc-08a6-4faa-8e36-8bd84b4a0b53", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "72a182fc-08a6-4faa-8e36-8bd84b4a0b53", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect index 2e5735e..8534952 100644 --- a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect +++ b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect @@ -1,145 +1,145 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// -// 圆角裁剪(仅支持正方形纹理) -// -// 原理:https://www.cnblogs.com/jqm304775992/p/4987793.html -// 代码:复制 yanjifa/shaderDemor 的 https://github.com/yanjifa/shaderDemo/blob/master/assets/Effect/CircleAvatar.effect - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - # 圆角半径 - radius: { - value: 0.4, - editor: { - tooltip: "圆角半径" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if ENABLE_ROUNDCORNER - uniform RoundCorner { - // 圆角半径 - float radius; - }; - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - #if ENABLE_ROUNDCORNER - // 约束圆角半径范围在 [0.0, 0.5] - float circleRadius = clamp(0.0, 0.5, radius); - - // 将纹理uv往左上偏移,实现偏移后的坐标系原点在纹理中心 - vec2 uv = v_uv0.xy - vec2(0.5, 0.5); - - // uv.x , uv.y : 为偏移后的的uv - // abs(uv.x) , abs(uv.y) : 将第二、三、四象限的点都投影到第一象限上,这样子只需要处理第一象限的情况就可以,简化判断 - // 0.5 - radius : 计算出第一象限的圆角所在圆的圆心坐标 - // (rx, ry) : 偏移映射后的 新的uv 坐标,相对于 第一象限圆角坐在圆心坐标 的相对坐标 - float rx = abs(uv.x) - (0.5 - circleRadius); - float ry = abs(uv.y) - (0.5 - circleRadius); - - // 区分 以第一象限圆角所在圆心坐标为原点的坐标的四个象限 - // - // 第一象限 mx = 1, my = 1 - // 第二象限 mx = 0, my = 1 - // 第三象限 mx = 0, my = 0 - // 第四象限 mx = 1, my = 0 - // - // 当 mx * my 时,只要等于1,那就是标识第一象限(实际对应圆角区域所在矩形),否则就是第二、三、四象限 - float mx = step(0.5 - circleRadius, abs(uv.x)); - float my = step(0.5 - circleRadius, abs(uv.y)); - - // 计算相对uv坐标到圆心的距离 - float len = length(vec2(rx, ry)); - - // mx * my = 0 时,代表非圆角区域,a 值为1,代表完全采用原始纹理的透明度 - // mx * my = 1 时,代表园所所在矩形区域 - // step(circleRadius, len) 可以区分出圆角所在矩形区域的 圆角区域 和 非圆角区域 - // 其中圆角区域值为0,非圆角区域值为1 - // 当为圆角区域时,a 值为1,代表完全采用原始纹理透明度 - // 当为非圆角区域时,a 值为0,代表完全透明 - // 至此已经实现圆角裁剪 - // - // smoothstep(0., circleRadius * 0.01, len - circleRadius) 是用于抗锯齿优化 - // 原理:针对点在非圆角区域的情况,针对点在大于「圆半径一点点」地方的区域,进行平滑过渡,以实现抗锯齿 - // 其中, - // 「圆半径一点点」用 circleRadius * 0.01 表示(0.01 可自行改变) - // 点在大于圆半径的区域用 len - circleRadius ,此值会在 [0.0, circleRadius * 0.01] 之间时会平滑过渡 - float a = 1.0 - mx * my * step(circleRadius, len) * smoothstep(0., circleRadius * 0.01, len - circleRadius); - o = vec4(o.rgb, o.a * a); - #endif - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// +// 圆角裁剪(仅支持正方形纹理) +// +// 原理:https://www.cnblogs.com/jqm304775992/p/4987793.html +// 代码:复制 yanjifa/shaderDemor 的 https://github.com/yanjifa/shaderDemo/blob/master/assets/Effect/CircleAvatar.effect + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + # 圆角半径 + radius: { + value: 0.4, + editor: { + tooltip: "圆角半径" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if ENABLE_ROUNDCORNER + uniform RoundCorner { + // 圆角半径 + float radius; + }; + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + #if ENABLE_ROUNDCORNER + // 约束圆角半径范围在 [0.0, 0.5] + float circleRadius = clamp(0.0, 0.5, radius); + + // 将纹理uv往左上偏移,实现偏移后的坐标系原点在纹理中心 + vec2 uv = v_uv0.xy - vec2(0.5, 0.5); + + // uv.x , uv.y : 为偏移后的的uv + // abs(uv.x) , abs(uv.y) : 将第二、三、四象限的点都投影到第一象限上,这样子只需要处理第一象限的情况就可以,简化判断 + // 0.5 - radius : 计算出第一象限的圆角所在圆的圆心坐标 + // (rx, ry) : 偏移映射后的 新的uv 坐标,相对于 第一象限圆角坐在圆心坐标 的相对坐标 + float rx = abs(uv.x) - (0.5 - circleRadius); + float ry = abs(uv.y) - (0.5 - circleRadius); + + // 区分 以第一象限圆角所在圆心坐标为原点的坐标的四个象限 + // + // 第一象限 mx = 1, my = 1 + // 第二象限 mx = 0, my = 1 + // 第三象限 mx = 0, my = 0 + // 第四象限 mx = 1, my = 0 + // + // 当 mx * my 时,只要等于1,那就是标识第一象限(实际对应圆角区域所在矩形),否则就是第二、三、四象限 + float mx = step(0.5 - circleRadius, abs(uv.x)); + float my = step(0.5 - circleRadius, abs(uv.y)); + + // 计算相对uv坐标到圆心的距离 + float len = length(vec2(rx, ry)); + + // mx * my = 0 时,代表非圆角区域,a 值为1,代表完全采用原始纹理的透明度 + // mx * my = 1 时,代表园所所在矩形区域 + // step(circleRadius, len) 可以区分出圆角所在矩形区域的 圆角区域 和 非圆角区域 + // 其中圆角区域值为0,非圆角区域值为1 + // 当为圆角区域时,a 值为1,代表完全采用原始纹理透明度 + // 当为非圆角区域时,a 值为0,代表完全透明 + // 至此已经实现圆角裁剪 + // + // smoothstep(0., circleRadius * 0.01, len - circleRadius) 是用于抗锯齿优化 + // 原理:针对点在非圆角区域的情况,针对点在大于「圆半径一点点」地方的区域,进行平滑过渡,以实现抗锯齿 + // 其中, + // 「圆半径一点点」用 circleRadius * 0.01 表示(0.01 可自行改变) + // 点在大于圆半径的区域用 len - circleRadius ,此值会在 [0.0, circleRadius * 0.01] 之间时会平滑过渡 + float a = 1.0 - mx * my * step(circleRadius, len) * smoothstep(0., circleRadius * 0.01, len - circleRadius); + o = vec4(o.rgb, o.a * a); + #endif + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect.meta b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect.meta index f3fa449..ec6fcbf 100644 --- a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v1.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "a4afedba-5234-44d7-9031-cba83051d521", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "a4afedba-5234-44d7-9031-cba83051d521", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect index 471e50e..bb56822 100644 --- a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect +++ b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect @@ -1,192 +1,192 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. -// -// 圆角裁剪(支持任意宽高纹理) -// -// 原理: -// 1. 正方形纹理的圆角原理参考 https://www.cnblogs.com/jqm304775992/p/4987793.html -// 2. 正方形纹理的圆角代码参考 yanjifa/shaderDemor 的 https://github.com/yanjifa/shaderDemo/blob/master/assets/Effect/CircleAvatar.effect -// 3. 上述皆为只针对正方形纹理做的操作,如果是长方形的纹理,那么圆角就会有拉伸后的效果,最后变成看起来就不是圆角了,本特效支持任意长方形做圆角 - -CCEffect %{ - techniques: - - passes: - - vert: unlit-vs - frag: unlit-fs - blendState: - targets: - - blend: true - rasterizerState: - cullMode: none - properties: - mainTexture: { value: white } - alphaThreshold: { value: 0.5 } - - # 圆角x轴半径长度(相对于纹理宽度) - xRadius: { - value: 0.4, - editor: { - tooltip: "圆角x轴半径长度(相对于纹理宽度)" - } - } - - # 圆角y轴半径长度(相对于纹理高度) - yRadius: { - value: 0.4, - editor: { - tooltip: "圆角y轴半径长度(相对于纹理高度)" - } - } -}% - - -CCProgram unlit-vs %{ - precision highp float; - - #include - #include - - in vec3 a_position; - in vec4 a_color; - out vec4 v_color; - - #if USE_TEXTURE - in vec2 a_uv0; - out vec2 v_uv0; - #endif - - void main () { - vec4 pos = vec4(a_position, 1); - - #if CC_USE_MODEL - pos = cc_matViewProj * cc_matWorld * pos; - #else - pos = cc_matViewProj * pos; - #endif - - #if USE_TEXTURE - v_uv0 = a_uv0; - #endif - - v_color = a_color; - - gl_Position = pos; - } -}% - - -CCProgram unlit-fs %{ - precision highp float; - - #include - - in vec4 v_color; - - #if USE_TEXTURE - in vec2 v_uv0; - uniform sampler2D mainTexture; - #endif - - #if ENABLE_ROUNDCORNER - uniform RoundCorner { - // 圆角x轴半径长度(相对于纹理宽度) - float xRadius; - - // 圆角y轴半径长度(相对于纹理高度) - float yRadius; - }; - #endif - - void main () { - vec4 o = vec4(1, 1, 1, 1); - - #if USE_TEXTURE - o *= texture(mainTexture, v_uv0); - #if CC_USE_ALPHA_ATLAS_TEXTURE - o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; - #endif - #endif - - o *= v_color; - - ALPHA_TEST(o); - - #if ENABLE_ROUNDCORNER - - // 约束圆角半径范围在 [0.0, 0.5] - // - // 请注意这里我是用椭圆前缀去命名的半径 - // - // 为什么是椭圆? - // - // 因为圆角,相对于长方形的纹理的宽高来说,归一化后值并不一样,不是圆,而是一个椭圆 - // - // 比如: - // - // 纹理是 200 x 100 的像素,圆角半径是20像素,那么归一化后 - // X轴上的半径就是 20 / 200 = 0.1 - // Y轴上的半径就是 20 / 100 = 0.2 - // - // 这就会变成是椭圆,而不是圆 - float ellipseXRadius = clamp(0.0, 0.5, xRadius); - float ellipseYRadius = clamp(0.0, 0.5, yRadius); - - // 将纹理uv往左上偏移,实现偏移后的坐标系原点在纹理中心 - vec2 uv = v_uv0.xy - vec2(0.5, 0.5); - - // uv.x , uv.y : 为偏移后的的uv - // abs(uv.x) , abs(uv.y) : 将第二、三、四象限的点都投影到第一象限上,这样子只需要处理第一象限的情况就可以,简化判断 - // 0.5 - radius : 计算出第一象限的圆角所在圆的圆心坐标 - // (rx, ry) : 偏移映射后的 新的uv 坐标,相对于 第一象限圆角坐在圆心坐标 的相对坐标 - float rx = abs(uv.x) - (0.5 - ellipseXRadius); - float ry = abs(uv.y) - (0.5 - ellipseYRadius); - - // 区分 以第一象限圆角所在圆心坐标为原点的坐标的四个象限 - // - // 第一象限 mx = 1, my = 1 - // 第二象限 mx = 0, my = 1 - // 第三象限 mx = 0, my = 0 - // 第四象限 mx = 1, my = 0 - // - // 当 mx * my 时,只要等于1,那就是标识第一象限(实际对应圆角区域所在矩形),否则就是第二、三、四象限 - float mx = step(0.5 - ellipseXRadius, abs(uv.x)); - float my = step(0.5 - ellipseYRadius, abs(uv.y)); - - // 判断点(rx, ry)是否在椭圆外部(应用椭圆公式) - float isOutOfEllipse = step(1.0, pow(rx, 2.0) / pow(xRadius, 2.0) + pow(ry, 2.0) / pow(yRadius, 2.0)); - - /////////////////////////////////////////////////////////////////////////////////////////// - // 抗锯齿 - // 1. 先计算当前点到椭圆中心的角度 - float angleInRadian = atan(ry / rx); - - // 2. 计算这个角度下,对于对应圆角(椭圆)上的点 - vec2 pointInEllipse = vec2(xRadius * cos(angleInRadian), yRadius * sin(angleInRadian)); - - // 3. 计算这个角度下,比当前圆角大一点椭圆上的点 - vec2 pointInBigEllipse = vec2((xRadius * 1.01) * cos(angleInRadian), (yRadius * 1.01)* sin(angleInRadian)); - - // 4. 计算最远点到当前椭圆的距离 - float maxDis = distance(pointInBigEllipse, pointInEllipse); - - // 5. 计算当前点到当前椭圆的距离 - float curDis = distance(vec2(rx, ry), pointInEllipse); - - // 6. 生成插值 - float smo = smoothstep(0.0, maxDis, curDis); - /////////////////////////////////////////////////////////////////////////////////////////// - - // mx * my = 0 时,代表非椭圆角区域,alpha 值为1,代表完全采用原始纹理的透明度 - // mx * my = 1 时,代表椭圆角所在矩形区域 - // isOutOfEllipse: - // 当点在椭圆外部时,此值为1,导致 alpha 最终值为0.0,即表示不显示椭圆外部的像素 - // 当点在椭圆内部时,此值为0,导致 alpha 最终值为1.0,即表示显示椭圆内部的像素 - // smo : 抗锯齿实现 - // float alpha = 1.0 - mx * my * isOutOfEllipse; - float alpha = 1.0 - mx * my * isOutOfEllipse * smo; - - o = vec4(o.rgb, o.a * alpha); - - #endif - gl_FragColor = o; - } -}% +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. +// +// 圆角裁剪(支持任意宽高纹理) +// +// 原理: +// 1. 正方形纹理的圆角原理参考 https://www.cnblogs.com/jqm304775992/p/4987793.html +// 2. 正方形纹理的圆角代码参考 yanjifa/shaderDemor 的 https://github.com/yanjifa/shaderDemo/blob/master/assets/Effect/CircleAvatar.effect +// 3. 上述皆为只针对正方形纹理做的操作,如果是长方形的纹理,那么圆角就会有拉伸后的效果,最后变成看起来就不是圆角了,本特效支持任意长方形做圆角 + +CCEffect %{ + techniques: + - passes: + - vert: unlit-vs + frag: unlit-fs + blendState: + targets: + - blend: true + rasterizerState: + cullMode: none + properties: + mainTexture: { value: white } + alphaThreshold: { value: 0.5 } + + # 圆角x轴半径长度(相对于纹理宽度) + xRadius: { + value: 0.4, + editor: { + tooltip: "圆角x轴半径长度(相对于纹理宽度)" + } + } + + # 圆角y轴半径长度(相对于纹理高度) + yRadius: { + value: 0.4, + editor: { + tooltip: "圆角y轴半径长度(相对于纹理高度)" + } + } +}% + + +CCProgram unlit-vs %{ + precision highp float; + + #include + #include + + in vec3 a_position; + in vec4 a_color; + out vec4 v_color; + + #if USE_TEXTURE + in vec2 a_uv0; + out vec2 v_uv0; + #endif + + void main () { + vec4 pos = vec4(a_position, 1); + + #if CC_USE_MODEL + pos = cc_matViewProj * cc_matWorld * pos; + #else + pos = cc_matViewProj * pos; + #endif + + #if USE_TEXTURE + v_uv0 = a_uv0; + #endif + + v_color = a_color; + + gl_Position = pos; + } +}% + + +CCProgram unlit-fs %{ + precision highp float; + + #include + + in vec4 v_color; + + #if USE_TEXTURE + in vec2 v_uv0; + uniform sampler2D mainTexture; + #endif + + #if ENABLE_ROUNDCORNER + uniform RoundCorner { + // 圆角x轴半径长度(相对于纹理宽度) + float xRadius; + + // 圆角y轴半径长度(相对于纹理高度) + float yRadius; + }; + #endif + + void main () { + vec4 o = vec4(1, 1, 1, 1); + + #if USE_TEXTURE + o *= texture(mainTexture, v_uv0); + #if CC_USE_ALPHA_ATLAS_TEXTURE + o.a *= texture2D(mainTexture, v_uv0 + vec2(0, 0.5)).r; + #endif + #endif + + o *= v_color; + + ALPHA_TEST(o); + + #if ENABLE_ROUNDCORNER + + // 约束圆角半径范围在 [0.0, 0.5] + // + // 请注意这里我是用椭圆前缀去命名的半径 + // + // 为什么是椭圆? + // + // 因为圆角,相对于长方形的纹理的宽高来说,归一化后值并不一样,不是圆,而是一个椭圆 + // + // 比如: + // + // 纹理是 200 x 100 的像素,圆角半径是20像素,那么归一化后 + // X轴上的半径就是 20 / 200 = 0.1 + // Y轴上的半径就是 20 / 100 = 0.2 + // + // 这就会变成是椭圆,而不是圆 + float ellipseXRadius = clamp(0.0, 0.5, xRadius); + float ellipseYRadius = clamp(0.0, 0.5, yRadius); + + // 将纹理uv往左上偏移,实现偏移后的坐标系原点在纹理中心 + vec2 uv = v_uv0.xy - vec2(0.5, 0.5); + + // uv.x , uv.y : 为偏移后的的uv + // abs(uv.x) , abs(uv.y) : 将第二、三、四象限的点都投影到第一象限上,这样子只需要处理第一象限的情况就可以,简化判断 + // 0.5 - radius : 计算出第一象限的圆角所在圆的圆心坐标 + // (rx, ry) : 偏移映射后的 新的uv 坐标,相对于 第一象限圆角坐在圆心坐标 的相对坐标 + float rx = abs(uv.x) - (0.5 - ellipseXRadius); + float ry = abs(uv.y) - (0.5 - ellipseYRadius); + + // 区分 以第一象限圆角所在圆心坐标为原点的坐标的四个象限 + // + // 第一象限 mx = 1, my = 1 + // 第二象限 mx = 0, my = 1 + // 第三象限 mx = 0, my = 0 + // 第四象限 mx = 1, my = 0 + // + // 当 mx * my 时,只要等于1,那就是标识第一象限(实际对应圆角区域所在矩形),否则就是第二、三、四象限 + float mx = step(0.5 - ellipseXRadius, abs(uv.x)); + float my = step(0.5 - ellipseYRadius, abs(uv.y)); + + // 判断点(rx, ry)是否在椭圆外部(应用椭圆公式) + float isOutOfEllipse = step(1.0, pow(rx, 2.0) / pow(xRadius, 2.0) + pow(ry, 2.0) / pow(yRadius, 2.0)); + + /////////////////////////////////////////////////////////////////////////////////////////// + // 抗锯齿 + // 1. 先计算当前点到椭圆中心的角度 + float angleInRadian = atan(ry / rx); + + // 2. 计算这个角度下,对于对应圆角(椭圆)上的点 + vec2 pointInEllipse = vec2(xRadius * cos(angleInRadian), yRadius * sin(angleInRadian)); + + // 3. 计算这个角度下,比当前圆角大一点椭圆上的点 + vec2 pointInBigEllipse = vec2((xRadius * 1.01) * cos(angleInRadian), (yRadius * 1.01)* sin(angleInRadian)); + + // 4. 计算最远点到当前椭圆的距离 + float maxDis = distance(pointInBigEllipse, pointInEllipse); + + // 5. 计算当前点到当前椭圆的距离 + float curDis = distance(vec2(rx, ry), pointInEllipse); + + // 6. 生成插值 + float smo = smoothstep(0.0, maxDis, curDis); + /////////////////////////////////////////////////////////////////////////////////////////// + + // mx * my = 0 时,代表非椭圆角区域,alpha 值为1,代表完全采用原始纹理的透明度 + // mx * my = 1 时,代表椭圆角所在矩形区域 + // isOutOfEllipse: + // 当点在椭圆外部时,此值为1,导致 alpha 最终值为0.0,即表示不显示椭圆外部的像素 + // 当点在椭圆内部时,此值为0,导致 alpha 最终值为1.0,即表示显示椭圆内部的像素 + // smo : 抗锯齿实现 + // float alpha = 1.0 - mx * my * isOutOfEllipse; + float alpha = 1.0 - mx * my * isOutOfEllipse * smo; + + o = vec4(o.rgb, o.a * alpha); + + #endif + gl_FragColor = o; + } +}% diff --git a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect.meta b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect.meta index c242dda..eeac278 100644 --- a/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect.meta +++ b/assets/FishSingle/shader/effects/sprite-round-corner-crop-v2.effect.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.7.1", - "importer": "effect", - "imported": true, - "uuid": "7c24b57e-e819-4fc9-a8d2-b06cf61b782d", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.7.1", + "importer": "effect", + "imported": true, + "uuid": "7c24b57e-e819-4fc9-a8d2-b06cf61b782d", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials.meta b/assets/FishSingle/shader/materials.meta index b8f1edf..eeb3af5 100644 --- a/assets/FishSingle/shader/materials.meta +++ b/assets/FishSingle/shader/materials.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "c2a213df-b878-4b1e-a7b8-ebe22233fdf4", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "c2a213df-b878-4b1e-a7b8-ebe22233fdf4", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl b/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl index 98fbc06..898bdfb 100644 --- a/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl +++ b/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl @@ -1,19 +1,19 @@ -{ - "__type__": "cc.Material", - "_name": "builtin-2d-sprite-explain", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "8f277982-dc0a-4030-90cc-b336a928a372" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true - } - ], - "_states": [], - "_props": [ - {} - ] +{ + "__type__": "cc.Material", + "_name": "builtin-2d-sprite-explain", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "8f277982-dc0a-4030-90cc-b336a928a372" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true + } + ], + "_states": [], + "_props": [ + {} + ] } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl.meta b/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl.meta index 5057442..3f5ee95 100644 --- a/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl.meta +++ b/assets/FishSingle/shader/materials/builtin-2d-sprite-explain.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "ca058f99-941b-40f2-b208-d776de59abed", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "ca058f99-941b-40f2-b208-d776de59abed", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-flag.mtl b/assets/FishSingle/shader/materials/sprite-flag.mtl index a1cf104..fe1ceb2 100644 --- a/assets/FishSingle/shader/materials/sprite-flag.mtl +++ b/assets/FishSingle/shader/materials/sprite-flag.mtl @@ -1,19 +1,19 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-flag", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "d0c80b5d-d212-4e75-8581-23ec133eb3a4" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true - } - ], - "_states": [], - "_props": [ - {} - ] +{ + "__type__": "cc.Material", + "_name": "sprite-flag", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "d0c80b5d-d212-4e75-8581-23ec133eb3a4" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true + } + ], + "_states": [], + "_props": [ + {} + ] } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-flag.mtl.meta b/assets/FishSingle/shader/materials/sprite-flag.mtl.meta index 18a84a6..f89b250 100644 --- a/assets/FishSingle/shader/materials/sprite-flag.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-flag.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "eec795f7-f6a2-42e1-99f6-2762f663b508", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "eec795f7-f6a2-42e1-99f6-2762f663b508", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-flash-light.mtl b/assets/FishSingle/shader/materials/sprite-flash-light.mtl index 8f54dfe..c4260e6 100644 --- a/assets/FishSingle/shader/materials/sprite-flash-light.mtl +++ b/assets/FishSingle/shader/materials/sprite-flash-light.mtl @@ -1,31 +1,31 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-flash-light", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "e9682cd1-a19c-4fcb-ad8c-cf1783b805e6" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "ENABLE_LIGHT": true - } - ], - "_states": [], - "_props": [ - { - "lightColor": { - "__type__": "cc.Color", - "r": 255, - "g": 245, - "b": 0, - "a": 255 - }, - "lightAngle": 36, - "lightWidth": 0.2 - } - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-flash-light", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "e9682cd1-a19c-4fcb-ad8c-cf1783b805e6" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "ENABLE_LIGHT": true + } + ], + "_states": [], + "_props": [ + { + "lightColor": { + "__type__": "cc.Color", + "r": 255, + "g": 245, + "b": 0, + "a": 255 + }, + "lightAngle": 36, + "lightWidth": 0.2 + } + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-flash-light.mtl.meta b/assets/FishSingle/shader/materials/sprite-flash-light.mtl.meta index bcf6a37..0b5b54c 100644 --- a/assets/FishSingle/shader/materials/sprite-flash-light.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-flash-light.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "43a22f18-72fc-4399-b5ae-8305705861f4", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "43a22f18-72fc-4399-b5ae-8305705861f4", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl b/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl index b481eb6..df62f00 100644 --- a/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl +++ b/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-gaussian-blur-v1", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "41f4d474-d707-45bb-af93-637573f92d54" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "ENABLE_GAUSSIAN_BLUR": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-gaussian-blur-v1", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "41f4d474-d707-45bb-af93-637573f92d54" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "ENABLE_GAUSSIAN_BLUR": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl.meta b/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl.meta index 8c463ac..bdb004a 100644 --- a/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-gaussian-blur-v1.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "dd3d8f78-9b79-4ca7-9bf7-7a09f7b34108", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "dd3d8f78-9b79-4ca7-9bf7-7a09f7b34108", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-glow-inner.mtl b/assets/FishSingle/shader/materials/sprite-glow-inner.mtl index 6e7f855..328ede8 100644 --- a/assets/FishSingle/shader/materials/sprite-glow-inner.mtl +++ b/assets/FishSingle/shader/materials/sprite-glow-inner.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "New Material", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "345a48c3-c00c-45d2-b6c9-b1ac49f46662" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "SHOW_INNER_GLOW": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "New Material", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "345a48c3-c00c-45d2-b6c9-b1ac49f46662" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "SHOW_INNER_GLOW": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-glow-inner.mtl.meta b/assets/FishSingle/shader/materials/sprite-glow-inner.mtl.meta index e6aa57d..ed77a08 100644 --- a/assets/FishSingle/shader/materials/sprite-glow-inner.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-glow-inner.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "647e873f-e0ed-4ce7-84cb-9e4d4f8a211f", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "647e873f-e0ed-4ce7-84cb-9e4d4f8a211f", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-glow-outter.mtl b/assets/FishSingle/shader/materials/sprite-glow-outter.mtl index b7be0dc..6e667f4 100644 --- a/assets/FishSingle/shader/materials/sprite-glow-outter.mtl +++ b/assets/FishSingle/shader/materials/sprite-glow-outter.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "New Material", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "SHOW_OUTTER_GLOW": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "New Material", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "67e9833e-aa43-427a-ba89-d7bdd1ef0aed" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "SHOW_OUTTER_GLOW": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-glow-outter.mtl.meta b/assets/FishSingle/shader/materials/sprite-glow-outter.mtl.meta index f1127c1..638ea84 100644 --- a/assets/FishSingle/shader/materials/sprite-glow-outter.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-glow-outter.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "b82b2ec7-1bf3-4840-b9af-66d2a0250c14", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-gray.mtl b/assets/FishSingle/shader/materials/sprite-gray.mtl index 77f119e..af4baeb 100644 --- a/assets/FishSingle/shader/materials/sprite-gray.mtl +++ b/assets/FishSingle/shader/materials/sprite-gray.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-gray", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "2e5b29d9-dd5e-4f3d-92e9-e580745b3bc8" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "USE_GRAY": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-gray", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "2e5b29d9-dd5e-4f3d-92e9-e580745b3bc8" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "USE_GRAY": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-gray.mtl.meta b/assets/FishSingle/shader/materials/sprite-gray.mtl.meta index 65c1d39..93cda14 100644 --- a/assets/FishSingle/shader/materials/sprite-gray.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-gray.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "ee9df2cd-dc1c-4fa7-9ef6-b253eee81746", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "ee9df2cd-dc1c-4fa7-9ef6-b253eee81746", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-mosaic.mtl b/assets/FishSingle/shader/materials/sprite-mosaic.mtl index 1f31295..f672976 100644 --- a/assets/FishSingle/shader/materials/sprite-mosaic.mtl +++ b/assets/FishSingle/shader/materials/sprite-mosaic.mtl @@ -1,24 +1,24 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-mosaic", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "9638979d-62b3-4e5b-adea-7ad706e66e65" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "USE_MOSAIC": true - } - ], - "_states": [], - "_props": [ - { - "xBlockCount": 40, - "yBlockCount": 40 - } - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-mosaic", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "9638979d-62b3-4e5b-adea-7ad706e66e65" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "USE_MOSAIC": true + } + ], + "_states": [], + "_props": [ + { + "xBlockCount": 40, + "yBlockCount": 40 + } + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-mosaic.mtl.meta b/assets/FishSingle/shader/materials/sprite-mosaic.mtl.meta index 9673c1a..6733790 100644 --- a/assets/FishSingle/shader/materials/sprite-mosaic.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-mosaic.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "f2651803-80c3-4665-bd81-2ad946a12dec", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "f2651803-80c3-4665-bd81-2ad946a12dec", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-old-photo.mtl b/assets/FishSingle/shader/materials/sprite-old-photo.mtl index 4cd0ec5..b77d04c 100644 --- a/assets/FishSingle/shader/materials/sprite-old-photo.mtl +++ b/assets/FishSingle/shader/materials/sprite-old-photo.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-old-photo", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "211eddf3-c53d-46e3-8c09-c1bf38e644e2" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "USE_OLD_PHOTO": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-old-photo", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "211eddf3-c53d-46e3-8c09-c1bf38e644e2" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "USE_OLD_PHOTO": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-old-photo.mtl.meta b/assets/FishSingle/shader/materials/sprite-old-photo.mtl.meta index 15f56fe..49cb827 100644 --- a/assets/FishSingle/shader/materials/sprite-old-photo.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-old-photo.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "268b1aff-299a-4735-9f5c-5aa8d4d51788", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "268b1aff-299a-4735-9f5c-5aa8d4d51788", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-outline.mtl b/assets/FishSingle/shader/materials/sprite-outline.mtl index 3fa99e9..6b918db 100644 --- a/assets/FishSingle/shader/materials/sprite-outline.mtl +++ b/assets/FishSingle/shader/materials/sprite-outline.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "New Material", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "34c2ed47-4d59-41c4-b91c-157c32e9d0eb" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "SHOW_OUT_LINE": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "New Material", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "34c2ed47-4d59-41c4-b91c-157c32e9d0eb" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "SHOW_OUT_LINE": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-outline.mtl.meta b/assets/FishSingle/shader/materials/sprite-outline.mtl.meta index 9ebb108..1ea9d51 100644 --- a/assets/FishSingle/shader/materials/sprite-outline.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-outline.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "df1eb418-ec89-4e04-a579-03fcfbc315fc", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "df1eb418-ec89-4e04-a579-03fcfbc315fc", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-point-light.mtl b/assets/FishSingle/shader/materials/sprite-point-light.mtl index 7aa6be3..acb29f4 100644 --- a/assets/FishSingle/shader/materials/sprite-point-light.mtl +++ b/assets/FishSingle/shader/materials/sprite-point-light.mtl @@ -1,23 +1,23 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-point-light", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "72a182fc-08a6-4faa-8e36-8bd84b4a0b53" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "ENABLE_DIFFUSION": true - } - ], - "_states": [], - "_props": [ - { - "radius": 0.4 - } - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-point-light", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "72a182fc-08a6-4faa-8e36-8bd84b4a0b53" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "ENABLE_DIFFUSION": true + } + ], + "_states": [], + "_props": [ + { + "radius": 0.4 + } + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-point-light.mtl.meta b/assets/FishSingle/shader/materials/sprite-point-light.mtl.meta index 9583ccc..b5f363a 100644 --- a/assets/FishSingle/shader/materials/sprite-point-light.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-point-light.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "d88d982e-4ed7-4f90-9566-2ac2fef4bcb3", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "d88d982e-4ed7-4f90-9566-2ac2fef4bcb3", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl index 4ed6719..3b11037 100644 --- a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl +++ b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl @@ -1,21 +1,21 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-round-corner-crop-v1", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "a4afedba-5234-44d7-9031-cba83051d521" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "ENABLE_ROUNDCORNER": true - } - ], - "_states": [], - "_props": [ - {} - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-round-corner-crop-v1", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "a4afedba-5234-44d7-9031-cba83051d521" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "ENABLE_ROUNDCORNER": true + } + ], + "_states": [], + "_props": [ + {} + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl.meta b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl.meta index bdea355..8f08642 100644 --- a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v1.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "642c2d0e-7eb6-4d65-96f2-d6e0d0305310", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "642c2d0e-7eb6-4d65-96f2-d6e0d0305310", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl index e9aa6b7..5df8879 100644 --- a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl +++ b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl @@ -1,24 +1,24 @@ -{ - "__type__": "cc.Material", - "_name": "sprite-round-corner-crop-v2", - "_objFlags": 0, - "_native": "", - "_effectAsset": { - "__uuid__": "7c24b57e-e819-4fc9-a8d2-b06cf61b782d" - }, - "_techIdx": 0, - "_defines": [ - { - "USE_TEXTURE": true, - "ENABLE_ROUNDCORNER": true - } - ], - "_states": [], - "_props": [ - { - "xRadius": 0.2, - "yRadius": 0.2 - } - ], - "_techniqueIndex": 0 +{ + "__type__": "cc.Material", + "_name": "sprite-round-corner-crop-v2", + "_objFlags": 0, + "_native": "", + "_effectAsset": { + "__uuid__": "7c24b57e-e819-4fc9-a8d2-b06cf61b782d" + }, + "_techIdx": 0, + "_defines": [ + { + "USE_TEXTURE": true, + "ENABLE_ROUNDCORNER": true + } + ], + "_states": [], + "_props": [ + { + "xRadius": 0.2, + "yRadius": 0.2 + } + ], + "_techniqueIndex": 0 } \ No newline at end of file diff --git a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl.meta b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl.meta index 041c4de..71a222d 100644 --- a/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl.meta +++ b/assets/FishSingle/shader/materials/sprite-round-corner-crop-v2.mtl.meta @@ -1,11 +1,11 @@ -{ - "ver": "1.0.21", - "importer": "material", - "imported": true, - "uuid": "a86e8864-5390-443f-b41b-b38e9d584c43", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.21", + "importer": "material", + "imported": true, + "uuid": "a86e8864-5390-443f-b41b-b38e9d584c43", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": {} +} diff --git a/assets/FishSingle/temp.meta b/assets/FishSingle/temp.meta index 03202f9..4059e8b 100644 --- a/assets/FishSingle/temp.meta +++ b/assets/FishSingle/temp.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "9533c006-9efb-43ee-8635-dfcd318d5167", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "9533c006-9efb-43ee-8635-dfcd318d5167", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/migrate-resources.meta b/assets/migrate-resources.meta index 249d56a..1a0643d 100644 --- a/assets/migrate-resources.meta +++ b/assets/migrate-resources.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "aac6a761-217d-45a9-b57f-bdaf2f2c470d", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "aac6a761-217d-45a9-b57f-bdaf2f2c470d", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/migrate-resources/chunks.meta b/assets/migrate-resources/chunks.meta index bdcb901..2782dcf 100644 --- a/assets/migrate-resources/chunks.meta +++ b/assets/migrate-resources/chunks.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "132d857c-9659-46c1-868d-3a0192ed37dd", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "132d857c-9659-46c1-868d-3a0192ed37dd", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/migrate-resources/chunks/cc-lights.chunk b/assets/migrate-resources/chunks/cc-lights.chunk index a626645..9412b0c 100644 --- a/assets/migrate-resources/chunks/cc-lights.chunk +++ b/assets/migrate-resources/chunks/cc-lights.chunk @@ -1,113 +1,113 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - - -// TODO: lights uniform should move back to cc-global - -#include -#if CC_SUPPORT_CASCADED_SHADOW_MAP - #include -#endif - -#pragma define CC_MAX_LIGHTS 4 - -#if CC_NUM_LIGHTS > 0 - -// directional lights -#pragma builtin(global) -uniform CCLIGHTS { - vec4 cc_lightPositionAndRange[CC_MAX_LIGHTS]; // xyz range - vec4 cc_lightDirection[CC_MAX_LIGHTS]; // xyz spotAngle - vec4 cc_lightColor[CC_MAX_LIGHTS]; // xyz spotExp -}; - -#endif - -struct LightInfo { - vec3 lightDir; - vec3 radiance; - vec4 lightColor; -}; - -// directional light -LightInfo computeDirectionalLighting( - vec4 lightDirection, - vec4 lightColor -) { - LightInfo ret; - ret.lightDir = -normalize(lightDirection.xyz); - ret.radiance = lightColor.rgb; - ret.lightColor = lightColor; - return ret; -} - -// point light -LightInfo computePointLighting( - vec3 worldPosition, - vec4 lightPositionAndRange, - vec4 lightColor -) { - LightInfo ret; - vec3 lightDir = lightPositionAndRange.xyz - worldPosition; - float attenuation = max(0., 1.0 - length(lightDir) / lightPositionAndRange.w); - - ret.lightDir = normalize(lightDir); - ret.radiance = lightColor.rgb * attenuation; - ret.lightColor = lightColor; - return ret; -} - -// spot light -LightInfo computeSpotLighting( - vec3 worldPosition, - vec4 lightPositionAndRange, - vec4 lightDirection, - vec4 lightColor -) { - LightInfo ret; - vec3 lightDir = lightPositionAndRange.xyz - worldPosition; - float attenuation = max(0., 1.0 - length(lightDir) / lightPositionAndRange.w); - lightDir = normalize(lightDir); - float cosConeAngle = max(0., dot(lightDirection.xyz, -lightDir)); - cosConeAngle = cosConeAngle < lightDirection.w ? 0. : cosConeAngle; - cosConeAngle = pow(cosConeAngle, lightColor.w); - - ret.lightDir = lightDir; - ret.radiance = lightColor.rgb * attenuation * cosConeAngle; - ret.lightColor = lightColor; - return ret; -} - -struct Lighting { - vec3 diffuse; - vec3 specular; -}; - -#pragma define CC_CALC_LIGHT(index, surface, result, lightFunc, ambientFunc) \ - #if CC_NUM_LIGHTS > index \ - #if CC_LIGHT_##index##_TYPE == 3 \ - result.diffuse += ambientFunc(s, cc_lightColor[index]); \ - #else \ - LightInfo info##index; \ - #if CC_LIGHT_##index##_TYPE == 0 \ - info##index = computeDirectionalLighting(cc_lightDirection[index], cc_lightColor[index]); \ - #elif CC_LIGHT_##index##_TYPE == 1 \ - info##index = computePointLighting(s.position, cc_lightPositionAndRange[index], cc_lightColor[index]); \ - #elif CC_LIGHT_##index##_TYPE == 2 \ - info##index = computeSpotLighting(s.position, cc_lightPositionAndRange[index], cc_lightDirection[index], cc_lightColor[index]); \ - #endif \ - \ - Lighting result##index = lightFunc(surface, info##index); \ - CC_CALC_SHADOW(index, result##index) \ - result.diffuse += result##index.diffuse; \ - result.specular += result##index.specular; \ - #endif \ - #endif - -#pragma define CC_CALC_LIGHTS(surface, result, lightFunc, ambientFunc) \ - result.diffuse = vec3(0, 0, 0); \ - result.specular = vec3(0, 0, 0); \ - \ - CC_CALC_LIGHT(0, surface, result, lightFunc, ambientFunc) \ - CC_CALC_LIGHT(1, surface, result, lightFunc, ambientFunc) \ - CC_CALC_LIGHT(2, surface, result, lightFunc, ambientFunc) \ - CC_CALC_LIGHT(3, surface, result, lightFunc, ambientFunc) +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + + +// TODO: lights uniform should move back to cc-global + +#include +#if CC_SUPPORT_CASCADED_SHADOW_MAP + #include +#endif + +#pragma define CC_MAX_LIGHTS 4 + +#if CC_NUM_LIGHTS > 0 + +// directional lights +#pragma builtin(global) +uniform CCLIGHTS { + vec4 cc_lightPositionAndRange[CC_MAX_LIGHTS]; // xyz range + vec4 cc_lightDirection[CC_MAX_LIGHTS]; // xyz spotAngle + vec4 cc_lightColor[CC_MAX_LIGHTS]; // xyz spotExp +}; + +#endif + +struct LightInfo { + vec3 lightDir; + vec3 radiance; + vec4 lightColor; +}; + +// directional light +LightInfo computeDirectionalLighting( + vec4 lightDirection, + vec4 lightColor +) { + LightInfo ret; + ret.lightDir = -normalize(lightDirection.xyz); + ret.radiance = lightColor.rgb; + ret.lightColor = lightColor; + return ret; +} + +// point light +LightInfo computePointLighting( + vec3 worldPosition, + vec4 lightPositionAndRange, + vec4 lightColor +) { + LightInfo ret; + vec3 lightDir = lightPositionAndRange.xyz - worldPosition; + float attenuation = max(0., 1.0 - length(lightDir) / lightPositionAndRange.w); + + ret.lightDir = normalize(lightDir); + ret.radiance = lightColor.rgb * attenuation; + ret.lightColor = lightColor; + return ret; +} + +// spot light +LightInfo computeSpotLighting( + vec3 worldPosition, + vec4 lightPositionAndRange, + vec4 lightDirection, + vec4 lightColor +) { + LightInfo ret; + vec3 lightDir = lightPositionAndRange.xyz - worldPosition; + float attenuation = max(0., 1.0 - length(lightDir) / lightPositionAndRange.w); + lightDir = normalize(lightDir); + float cosConeAngle = max(0., dot(lightDirection.xyz, -lightDir)); + cosConeAngle = cosConeAngle < lightDirection.w ? 0. : cosConeAngle; + cosConeAngle = pow(cosConeAngle, lightColor.w); + + ret.lightDir = lightDir; + ret.radiance = lightColor.rgb * attenuation * cosConeAngle; + ret.lightColor = lightColor; + return ret; +} + +struct Lighting { + vec3 diffuse; + vec3 specular; +}; + +#pragma define CC_CALC_LIGHT(index, surface, result, lightFunc, ambientFunc) \ + #if CC_NUM_LIGHTS > index \ + #if CC_LIGHT_##index##_TYPE == 3 \ + result.diffuse += ambientFunc(s, cc_lightColor[index]); \ + #else \ + LightInfo info##index; \ + #if CC_LIGHT_##index##_TYPE == 0 \ + info##index = computeDirectionalLighting(cc_lightDirection[index], cc_lightColor[index]); \ + #elif CC_LIGHT_##index##_TYPE == 1 \ + info##index = computePointLighting(s.position, cc_lightPositionAndRange[index], cc_lightColor[index]); \ + #elif CC_LIGHT_##index##_TYPE == 2 \ + info##index = computeSpotLighting(s.position, cc_lightPositionAndRange[index], cc_lightDirection[index], cc_lightColor[index]); \ + #endif \ + \ + Lighting result##index = lightFunc(surface, info##index); \ + CC_CALC_SHADOW(index, result##index) \ + result.diffuse += result##index.diffuse; \ + result.specular += result##index.specular; \ + #endif \ + #endif + +#pragma define CC_CALC_LIGHTS(surface, result, lightFunc, ambientFunc) \ + result.diffuse = vec3(0, 0, 0); \ + result.specular = vec3(0, 0, 0); \ + \ + CC_CALC_LIGHT(0, surface, result, lightFunc, ambientFunc) \ + CC_CALC_LIGHT(1, surface, result, lightFunc, ambientFunc) \ + CC_CALC_LIGHT(2, surface, result, lightFunc, ambientFunc) \ + CC_CALC_LIGHT(3, surface, result, lightFunc, ambientFunc) diff --git a/assets/migrate-resources/chunks/cc-lights.chunk.meta b/assets/migrate-resources/chunks/cc-lights.chunk.meta index 011e102..ecf3ae3 100644 --- a/assets/migrate-resources/chunks/cc-lights.chunk.meta +++ b/assets/migrate-resources/chunks/cc-lights.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "5db50634-6442-49cb-965f-a60f7ca2e829", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "5db50634-6442-49cb-965f-a60f7ca2e829", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/decode-base.chunk b/assets/migrate-resources/chunks/decode-base.chunk index ae47ba5..32b6a59 100644 --- a/assets/migrate-resources/chunks/decode-base.chunk +++ b/assets/migrate-resources/chunks/decode-base.chunk @@ -1,16 +1,16 @@ -// Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. - -#include - -struct StandardVertInput { - highp vec4 position; - vec3 normal; - vec4 tangent; - vec4 color; - vec2 uv; -}; - -layout(location = 0) in vec3 a_position; -layout(location = 1) in vec3 a_normal; -layout(location = 2) in vec2 a_texCoord; -layout(location = 3) in vec4 a_tangent; +// Copyright (c) 2017-2020 Xiamen Yaji Software Co., Ltd. + +#include + +struct StandardVertInput { + highp vec4 position; + vec3 normal; + vec4 tangent; + vec4 color; + vec2 uv; +}; + +layout(location = 0) in vec3 a_position; +layout(location = 1) in vec3 a_normal; +layout(location = 2) in vec2 a_texCoord; +layout(location = 3) in vec4 a_tangent; diff --git a/assets/migrate-resources/chunks/decode-base.chunk.meta b/assets/migrate-resources/chunks/decode-base.chunk.meta index 4d1b550..5d1c45d 100644 --- a/assets/migrate-resources/chunks/decode-base.chunk.meta +++ b/assets/migrate-resources/chunks/decode-base.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "fe05802b-a9e3-4064-9556-33ceef3cfd01", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "fe05802b-a9e3-4064-9556-33ceef3cfd01", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/phong-fs.chunk b/assets/migrate-resources/chunks/phong-fs.chunk index bd10334..be6801d 100644 --- a/assets/migrate-resources/chunks/phong-fs.chunk +++ b/assets/migrate-resources/chunks/phong-fs.chunk @@ -1,102 +1,102 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -precision highp float; - -#include -#include -#include -#include - -uniform PhongFrag { - lowp vec4 diffuseColor; - lowp vec4 specularColor; - lowp vec4 emissiveColor; - float glossiness; -}; - -#if USE_DIFFUSE_TEXTURE - uniform sampler2D diffuseTexture; -#endif - -#if USE_SPECULAR && USE_SPECULAR_TEXTURE - uniform sampler2D specularTexture; -#endif - -#if USE_EMISSIVE && USE_EMISSIVE_TEXTURE - uniform sampler2D emissiveTexture; -#endif - -#if USE_NORMAL_TEXTURE - in vec3 v_tangent; - in vec3 v_bitangent; - uniform sampler2D normalTexture; -#endif - -#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && (USE_DIFFUSE_TEXTURE || (USE_EMISSIVE && USE_EMISSIVE_TEXTURE) || (USE_SPECULAR && USE_SPECULAR_TEXTURE) || USE_NORMAL_TEXTURE) - -in vec3 v_worldNormal; -in vec3 v_worldPos; -in vec3 v_viewDirection; - -#if CC_USE_TEXTURE - in mediump vec2 v_uv0; -#endif - -#if CC_USE_ATTRIBUTE_COLOR - in lowp vec4 v_color; -#endif - -#include - -void surf (out PhongSurface s) { - vec4 diffuse = vec4(1, 1, 1, 1); - - #if CC_USE_ATTRIBUTE_COLOR - diffuse *= v_color; - #endif - - diffuse *= diffuseColor; - #if USE_DIFFUSE_TEXTURE - CCTexture(diffuseTexture, v_uv0, diffuse); - #endif - - ALPHA_TEST(diffuse); - - s.diffuse = diffuse.rgb; - s.opacity = diffuse.a; - - #if USE_EMISSIVE - s.emissive = emissiveColor.rgb; - #if USE_EMISSIVE_TEXTURE - CCTextureRGB(emissiveTexture, v_uv0, s.emissive); - #endif - #endif - - #if USE_SPECULAR - s.specular = specularColor.rgb; - #if USE_SPECULAR_TEXTURE - CCTextureRGB(specularTexture, v_uv0, s.specular); - #endif - #endif - - s.normal = v_worldNormal; - #if USE_NORMAL_TEXTURE - vec3 nmmp = texture(normalTexture, v_uv0).xyz - vec3(0.5); - s.normal = - nmmp.x * normalize(v_tangent) + - nmmp.y * normalize(v_bitangent) + - nmmp.z * normalize(s.normal); - s.normal = normalize(s.normal); - #endif - - s.position = v_worldPos; - s.viewDirection = v_viewDirection; - s.glossiness = glossiness; -} - -void main () { - PhongSurface s; - surf(s); - vec4 color = CCPhongShading(s); - gl_FragColor = CCFragOutput(color); -} +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +precision highp float; + +#include +#include +#include +#include + +uniform PhongFrag { + lowp vec4 diffuseColor; + lowp vec4 specularColor; + lowp vec4 emissiveColor; + float glossiness; +}; + +#if USE_DIFFUSE_TEXTURE + uniform sampler2D diffuseTexture; +#endif + +#if USE_SPECULAR && USE_SPECULAR_TEXTURE + uniform sampler2D specularTexture; +#endif + +#if USE_EMISSIVE && USE_EMISSIVE_TEXTURE + uniform sampler2D emissiveTexture; +#endif + +#if USE_NORMAL_TEXTURE + in vec3 v_tangent; + in vec3 v_bitangent; + uniform sampler2D normalTexture; +#endif + +#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && (USE_DIFFUSE_TEXTURE || (USE_EMISSIVE && USE_EMISSIVE_TEXTURE) || (USE_SPECULAR && USE_SPECULAR_TEXTURE) || USE_NORMAL_TEXTURE) + +in vec3 v_worldNormal; +in vec3 v_worldPos; +in vec3 v_viewDirection; + +#if CC_USE_TEXTURE + in mediump vec2 v_uv0; +#endif + +#if CC_USE_ATTRIBUTE_COLOR + in lowp vec4 v_color; +#endif + +#include + +void surf (out PhongSurface s) { + vec4 diffuse = vec4(1, 1, 1, 1); + + #if CC_USE_ATTRIBUTE_COLOR + diffuse *= v_color; + #endif + + diffuse *= diffuseColor; + #if USE_DIFFUSE_TEXTURE + CCTexture(diffuseTexture, v_uv0, diffuse); + #endif + + ALPHA_TEST(diffuse); + + s.diffuse = diffuse.rgb; + s.opacity = diffuse.a; + + #if USE_EMISSIVE + s.emissive = emissiveColor.rgb; + #if USE_EMISSIVE_TEXTURE + CCTextureRGB(emissiveTexture, v_uv0, s.emissive); + #endif + #endif + + #if USE_SPECULAR + s.specular = specularColor.rgb; + #if USE_SPECULAR_TEXTURE + CCTextureRGB(specularTexture, v_uv0, s.specular); + #endif + #endif + + s.normal = v_worldNormal; + #if USE_NORMAL_TEXTURE + vec3 nmmp = texture(normalTexture, v_uv0).xyz - vec3(0.5); + s.normal = + nmmp.x * normalize(v_tangent) + + nmmp.y * normalize(v_bitangent) + + nmmp.z * normalize(s.normal); + s.normal = normalize(s.normal); + #endif + + s.position = v_worldPos; + s.viewDirection = v_viewDirection; + s.glossiness = glossiness; +} + +void main () { + PhongSurface s; + surf(s); + vec4 color = CCPhongShading(s); + gl_FragColor = CCFragOutput(color); +} diff --git a/assets/migrate-resources/chunks/phong-fs.chunk.meta b/assets/migrate-resources/chunks/phong-fs.chunk.meta index d95364a..478f36e 100644 --- a/assets/migrate-resources/chunks/phong-fs.chunk.meta +++ b/assets/migrate-resources/chunks/phong-fs.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "87ed45d3-2803-4a57-bfb2-57a241523edb", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "87ed45d3-2803-4a57-bfb2-57a241523edb", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/phong-vs.chunk b/assets/migrate-resources/chunks/phong-vs.chunk index fe4d77c..38ad0d0 100644 --- a/assets/migrate-resources/chunks/phong-vs.chunk +++ b/assets/migrate-resources/chunks/phong-vs.chunk @@ -1,63 +1,63 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -precision highp float; - -#include -#include -#include -#include -#if CC_SUPPORT_CASCADED_SHADOW_MAP - #include -#endif - -#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && (USE_DIFFUSE_TEXTURE || USE_EMISSIVE_TEXTURE || USE_SPECULAR_TEXTURE || USE_NORMAL_TEXTURE) - -uniform MAIN_TILING { - vec2 mainTiling; - vec2 mainOffset; -}; - -#if CC_USE_TEXTURE - out mediump vec2 v_uv0; -#endif - -#if CC_USE_ATTRIBUTE_COLOR - out lowp vec4 v_color; -#endif - -#if USE_NORMAL_TEXTURE - out vec3 v_tangent; - out vec3 v_bitangent; -#endif - -out vec3 v_worldNormal; -out vec3 v_worldPos; -out vec3 v_viewDirection; - -void main () { - StandardVertInput In; - CCVertInput(In); - - vec4 position = In.position; - - v_worldNormal = normalize((cc_matWorldIT * vec4(In.normal, 0)).xyz); - v_worldPos = (cc_matWorld * position).xyz; - v_viewDirection = normalize(cc_cameraPos.xyz - v_worldPos); - - #if CC_USE_TEXTURE - v_uv0 = In.uv * mainTiling + mainOffset; - #endif - - #if CC_USE_ATTRIBUTE_COLOR - v_color = In.color; - #endif - - #if USE_NORMAL_TEXTURE - v_tangent = normalize((cc_matWorld * vec4(In.tangent.xyz, 0.0)).xyz); - v_bitangent = cross(v_worldNormal, v_tangent) * In.tangent.w; // note the cross order - #endif - - CCShadowInput(v_worldPos); - - gl_Position = cc_matViewProj * cc_matWorld * position; -} +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +precision highp float; + +#include +#include +#include +#include +#if CC_SUPPORT_CASCADED_SHADOW_MAP + #include +#endif + +#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && (USE_DIFFUSE_TEXTURE || USE_EMISSIVE_TEXTURE || USE_SPECULAR_TEXTURE || USE_NORMAL_TEXTURE) + +uniform MAIN_TILING { + vec2 mainTiling; + vec2 mainOffset; +}; + +#if CC_USE_TEXTURE + out mediump vec2 v_uv0; +#endif + +#if CC_USE_ATTRIBUTE_COLOR + out lowp vec4 v_color; +#endif + +#if USE_NORMAL_TEXTURE + out vec3 v_tangent; + out vec3 v_bitangent; +#endif + +out vec3 v_worldNormal; +out vec3 v_worldPos; +out vec3 v_viewDirection; + +void main () { + StandardVertInput In; + CCVertInput(In); + + vec4 position = In.position; + + v_worldNormal = normalize((cc_matWorldIT * vec4(In.normal, 0)).xyz); + v_worldPos = (cc_matWorld * position).xyz; + v_viewDirection = normalize(cc_cameraPos.xyz - v_worldPos); + + #if CC_USE_TEXTURE + v_uv0 = In.uv * mainTiling + mainOffset; + #endif + + #if CC_USE_ATTRIBUTE_COLOR + v_color = In.color; + #endif + + #if USE_NORMAL_TEXTURE + v_tangent = normalize((cc_matWorld * vec4(In.tangent.xyz, 0.0)).xyz); + v_bitangent = cross(v_worldNormal, v_tangent) * In.tangent.w; // note the cross order + #endif + + CCShadowInput(v_worldPos); + + gl_Position = cc_matViewProj * cc_matWorld * position; +} diff --git a/assets/migrate-resources/chunks/phong-vs.chunk.meta b/assets/migrate-resources/chunks/phong-vs.chunk.meta index e6053f0..d217382 100644 --- a/assets/migrate-resources/chunks/phong-vs.chunk.meta +++ b/assets/migrate-resources/chunks/phong-vs.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "1b421c02-9e61-4235-9479-a81cde9d35ff", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "1b421c02-9e61-4235-9479-a81cde9d35ff", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/shading-phong.chunk b/assets/migrate-resources/chunks/shading-phong.chunk index 2e1aa35..f4bc7a1 100644 --- a/assets/migrate-resources/chunks/shading-phong.chunk +++ b/assets/migrate-resources/chunks/shading-phong.chunk @@ -1,59 +1,59 @@ - -#include - -struct PhongSurface { - vec3 diffuse; - vec3 emissive; - vec3 specular; - float opacity; - - float glossiness; - - vec3 position; - vec3 normal; - vec3 viewDirection; -}; - -Lighting brdf (PhongSurface s, LightInfo info) { - Lighting result; - float ndh = 0.0; - // Get the half direction in world space - vec3 halfDir = normalize(s.viewDirection + info.lightDir); - float NdotH = max(0.0, dot(s.normal, halfDir)); - NdotH = pow(NdotH, max(1.0, s.glossiness * 128.0)); - - result.diffuse = info.radiance * max(0.0, dot(s.normal, info.lightDir)); - result.specular = info.radiance * NdotH; - - return result; -} - -vec4 composePhongShading (Lighting lighting, PhongSurface s) { - vec4 o = vec4(0.0, 0.0, 0.0, 1.0); - - //diffuse is always calculated - o.rgb = lighting.diffuse * s.diffuse; - - #if USE_EMISSIVE - o.rgb += s.emissive; - #endif - - #if USE_SPECULAR - o.rgb += lighting.specular * s.specular; - #endif - - o.a = s.opacity; - - return o; -} - -vec3 ambient(PhongSurface s, vec4 ambientColor) { - return s.diffuse * ambientColor.rgb; -} - -vec4 CCPhongShading (in PhongSurface s) { - Lighting result; - CC_CALC_LIGHTS(s, result, brdf, ambient) - - return composePhongShading(result, s); -} + +#include + +struct PhongSurface { + vec3 diffuse; + vec3 emissive; + vec3 specular; + float opacity; + + float glossiness; + + vec3 position; + vec3 normal; + vec3 viewDirection; +}; + +Lighting brdf (PhongSurface s, LightInfo info) { + Lighting result; + float ndh = 0.0; + // Get the half direction in world space + vec3 halfDir = normalize(s.viewDirection + info.lightDir); + float NdotH = max(0.0, dot(s.normal, halfDir)); + NdotH = pow(NdotH, max(1.0, s.glossiness * 128.0)); + + result.diffuse = info.radiance * max(0.0, dot(s.normal, info.lightDir)); + result.specular = info.radiance * NdotH; + + return result; +} + +vec4 composePhongShading (Lighting lighting, PhongSurface s) { + vec4 o = vec4(0.0, 0.0, 0.0, 1.0); + + //diffuse is always calculated + o.rgb = lighting.diffuse * s.diffuse; + + #if USE_EMISSIVE + o.rgb += s.emissive; + #endif + + #if USE_SPECULAR + o.rgb += lighting.specular * s.specular; + #endif + + o.a = s.opacity; + + return o; +} + +vec3 ambient(PhongSurface s, vec4 ambientColor) { + return s.diffuse * ambientColor.rgb; +} + +vec4 CCPhongShading (in PhongSurface s) { + Lighting result; + CC_CALC_LIGHTS(s, result, brdf, ambient) + + return composePhongShading(result, s); +} diff --git a/assets/migrate-resources/chunks/shading-phong.chunk.meta b/assets/migrate-resources/chunks/shading-phong.chunk.meta index 6a243eb..e165e95 100644 --- a/assets/migrate-resources/chunks/shading-phong.chunk.meta +++ b/assets/migrate-resources/chunks/shading-phong.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "1a52499e-8f48-484a-abe8-e298002f4579", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "1a52499e-8f48-484a-abe8-e298002f4579", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/shading-toon.chunk b/assets/migrate-resources/chunks/shading-toon.chunk index 270a8ac..6836090 100644 --- a/assets/migrate-resources/chunks/shading-toon.chunk +++ b/assets/migrate-resources/chunks/shading-toon.chunk @@ -1,72 +1,72 @@ -// Copyright (c) 2017-2019 Xiamen Yaji Software Co., Ltd. -#include -#include - -struct ToonSurface { - vec4 baseColor; - // specular - vec3 specular; - float specularThreshold; - // these need to be in the same coordinate system - vec3 position; - vec3 normal; - vec3 viewDirection; - // emissive - vec3 emissive; - // shadow - vec3 shadowColor; - float shadowIntensity; - vec3 highlightColor; - // light - float lightThreshold; - float lightSmoothness; -}; - -const float T_H = 0.25; -float TreshHoldLighting(float lThreshold, float smoothness, float v) { - return smoothstep(lThreshold-smoothness*T_H, lThreshold+smoothness*T_H, v); -} - -Lighting toon (ToonSurface s, LightInfo info) { - Lighting result; - - vec3 N = s.normal; - vec3 L = info.lightDir; - vec3 V = s.viewDirection; - vec3 H = normalize(L + V); - float NL = 0.5 * dot(N, L) + 0.5; - float NH = 0.5 * dot(H, N) + 0.5; - - vec3 c = vec3(0.0); - - vec3 attenuation = info.radiance; - vec3 lightColor = info.lightColor.rgb; - - // diffuse - vec3 shadowColor = mix(s.highlightColor * lightColor, s.shadowColor, s.shadowIntensity); - vec3 diffuse = TreshHoldLighting(s.lightThreshold, s.lightSmoothness, NL) * attenuation; - diffuse = mix(shadowColor, s.highlightColor * lightColor, diffuse); - - result.diffuse = diffuse * s.baseColor.rgb; - - // specular - float specularWeight = 1.0 - pow(s.specularThreshold, 5.0); - float specularMask = step(specularWeight, NH); - vec3 specular = s.specular.rgb * specularMask; - - result.specular = specular * attenuation; - - return result; -} - -vec3 ambient(ToonSurface s, vec4 ambientColor) { - return s.baseColor.rgb * ambientColor.rgb; -} - -vec4 CCToonShading (ToonSurface s) { - Lighting result; - CC_CALC_LIGHTS(s, result, toon, ambient) - - vec3 finalColor = result.diffuse + result.specular + s.emissive; - return vec4(finalColor, s.baseColor.a); -} +// Copyright (c) 2017-2019 Xiamen Yaji Software Co., Ltd. +#include +#include + +struct ToonSurface { + vec4 baseColor; + // specular + vec3 specular; + float specularThreshold; + // these need to be in the same coordinate system + vec3 position; + vec3 normal; + vec3 viewDirection; + // emissive + vec3 emissive; + // shadow + vec3 shadowColor; + float shadowIntensity; + vec3 highlightColor; + // light + float lightThreshold; + float lightSmoothness; +}; + +const float T_H = 0.25; +float TreshHoldLighting(float lThreshold, float smoothness, float v) { + return smoothstep(lThreshold-smoothness*T_H, lThreshold+smoothness*T_H, v); +} + +Lighting toon (ToonSurface s, LightInfo info) { + Lighting result; + + vec3 N = s.normal; + vec3 L = info.lightDir; + vec3 V = s.viewDirection; + vec3 H = normalize(L + V); + float NL = 0.5 * dot(N, L) + 0.5; + float NH = 0.5 * dot(H, N) + 0.5; + + vec3 c = vec3(0.0); + + vec3 attenuation = info.radiance; + vec3 lightColor = info.lightColor.rgb; + + // diffuse + vec3 shadowColor = mix(s.highlightColor * lightColor, s.shadowColor, s.shadowIntensity); + vec3 diffuse = TreshHoldLighting(s.lightThreshold, s.lightSmoothness, NL) * attenuation; + diffuse = mix(shadowColor, s.highlightColor * lightColor, diffuse); + + result.diffuse = diffuse * s.baseColor.rgb; + + // specular + float specularWeight = 1.0 - pow(s.specularThreshold, 5.0); + float specularMask = step(specularWeight, NH); + vec3 specular = s.specular.rgb * specularMask; + + result.specular = specular * attenuation; + + return result; +} + +vec3 ambient(ToonSurface s, vec4 ambientColor) { + return s.baseColor.rgb * ambientColor.rgb; +} + +vec4 CCToonShading (ToonSurface s) { + Lighting result; + CC_CALC_LIGHTS(s, result, toon, ambient) + + vec3 finalColor = result.diffuse + result.specular + s.emissive; + return vec4(finalColor, s.baseColor.a); +} diff --git a/assets/migrate-resources/chunks/shading-toon.chunk.meta b/assets/migrate-resources/chunks/shading-toon.chunk.meta index e87c2f9..3fd3b8a 100644 --- a/assets/migrate-resources/chunks/shading-toon.chunk.meta +++ b/assets/migrate-resources/chunks/shading-toon.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "d9205f02-3cd6-4822-9dba-7a9d05951265", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "d9205f02-3cd6-4822-9dba-7a9d05951265", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/texture.chunk b/assets/migrate-resources/chunks/texture.chunk index b782d39..0eb43f1 100644 --- a/assets/migrate-resources/chunks/texture.chunk +++ b/assets/migrate-resources/chunks/texture.chunk @@ -1,26 +1,26 @@ -#include - -#pragma define CCTexture(_texture_, _uv_, _color_) \ - vec4 _texture_##_tmp = texture(_texture_, _uv_); \ - #if CC_USE_EMBEDDED_ALPHA \ - _texture_##_tmp.a *= texture(_texture_, _uv_ + vec2(0, 0.5)).r; \ - #endif \ - #if INPUT_IS_GAMMA \ - _color_.rgb *= SRGBToLinear(_texture_##_tmp.rgb); \ - _color_.a *= _texture_##_tmp.a; \ - #else \ - _color_ *= _texture_##_tmp; \ - #endif \ - #pragma // empty pragma trick to get rid of trailing semicolons at effect compile time - -#pragma define CCTextureRGB(_texture_, _uv_, _color_) \ - vec4 _texture_##_tmp = texture(_texture_, _uv_); \ - #if CC_USE_EMBEDDED_ALPHA \ - _texture_##_tmp.a *= texture(_texture_, _uv_ + vec2(0, 0.5)).r; \ - #endif \ - #if INPUT_IS_GAMMA \ - _color_.rgb *= SRGBToLinear(_texture_##_tmp.rgb); \ - #else \ - _color_.rgb *= _texture_##_tmp.rgb; \ - #endif \ - #pragma // empty pragma trick to get rid of trailing semicolons at effect compile time +#include + +#pragma define CCTexture(_texture_, _uv_, _color_) \ + vec4 _texture_##_tmp = texture(_texture_, _uv_); \ + #if CC_USE_EMBEDDED_ALPHA \ + _texture_##_tmp.a *= texture(_texture_, _uv_ + vec2(0, 0.5)).r; \ + #endif \ + #if INPUT_IS_GAMMA \ + _color_.rgb *= SRGBToLinear(_texture_##_tmp.rgb); \ + _color_.a *= _texture_##_tmp.a; \ + #else \ + _color_ *= _texture_##_tmp; \ + #endif \ + #pragma // empty pragma trick to get rid of trailing semicolons at effect compile time + +#pragma define CCTextureRGB(_texture_, _uv_, _color_) \ + vec4 _texture_##_tmp = texture(_texture_, _uv_); \ + #if CC_USE_EMBEDDED_ALPHA \ + _texture_##_tmp.a *= texture(_texture_, _uv_ + vec2(0, 0.5)).r; \ + #endif \ + #if INPUT_IS_GAMMA \ + _color_.rgb *= SRGBToLinear(_texture_##_tmp.rgb); \ + #else \ + _color_.rgb *= _texture_##_tmp.rgb; \ + #endif \ + #pragma // empty pragma trick to get rid of trailing semicolons at effect compile time diff --git a/assets/migrate-resources/chunks/texture.chunk.meta b/assets/migrate-resources/chunks/texture.chunk.meta index 41bb51a..ddc2ac9 100644 --- a/assets/migrate-resources/chunks/texture.chunk.meta +++ b/assets/migrate-resources/chunks/texture.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "cfa00e18-26f8-43a1-934f-3e436f8954cd", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "cfa00e18-26f8-43a1-934f-3e436f8954cd", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/unlit-fs.chunk b/assets/migrate-resources/chunks/unlit-fs.chunk index ea4e754..74b8a4a 100644 --- a/assets/migrate-resources/chunks/unlit-fs.chunk +++ b/assets/migrate-resources/chunks/unlit-fs.chunk @@ -1,41 +1,41 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -precision highp float; - -#include -#include -#include - -uniform UNLIT { - lowp vec4 diffuseColor; -}; - -#if USE_DIFFUSE_TEXTURE - uniform sampler2D diffuseTexture; -#endif - -#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE - -#if CC_USE_ATTRIBUTE_COLOR - in lowp vec4 v_color; -#endif - -#if CC_USE_TEXTURE - in mediump vec2 v_uv0; -#endif - -void main () { - vec4 color = diffuseColor; - - #if CC_USE_TEXTURE - CCTexture(diffuseTexture, v_uv0, color); - #endif - - #if CC_USE_ATTRIBUTE_COLOR - color *= v_color; - #endif - - ALPHA_TEST(color); - - gl_FragColor = CCFragOutput(color); -} +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +precision highp float; + +#include +#include +#include + +uniform UNLIT { + lowp vec4 diffuseColor; +}; + +#if USE_DIFFUSE_TEXTURE + uniform sampler2D diffuseTexture; +#endif + +#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE + +#if CC_USE_ATTRIBUTE_COLOR + in lowp vec4 v_color; +#endif + +#if CC_USE_TEXTURE + in mediump vec2 v_uv0; +#endif + +void main () { + vec4 color = diffuseColor; + + #if CC_USE_TEXTURE + CCTexture(diffuseTexture, v_uv0, color); + #endif + + #if CC_USE_ATTRIBUTE_COLOR + color *= v_color; + #endif + + ALPHA_TEST(color); + + gl_FragColor = CCFragOutput(color); +} diff --git a/assets/migrate-resources/chunks/unlit-fs.chunk.meta b/assets/migrate-resources/chunks/unlit-fs.chunk.meta index db334d8..fc8aac5 100644 --- a/assets/migrate-resources/chunks/unlit-fs.chunk.meta +++ b/assets/migrate-resources/chunks/unlit-fs.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "b1d8a244-d202-4645-a97a-694743a043fb", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "b1d8a244-d202-4645-a97a-694743a043fb", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/unlit-vs.chunk b/assets/migrate-resources/chunks/unlit-vs.chunk index 0a14733..e0aa0e2 100644 --- a/assets/migrate-resources/chunks/unlit-vs.chunk +++ b/assets/migrate-resources/chunks/unlit-vs.chunk @@ -1,38 +1,38 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -precision highp float; - -#include -#include -#include -#include - -#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE - -uniform MAIN_TILING { - vec2 mainTiling; - vec2 mainOffset; -}; - -#if CC_USE_TEXTURE - out mediump vec2 v_uv0; -#endif - -#if CC_USE_ATTRIBUTE_COLOR - out lowp vec4 v_color; -#endif - -void main () { - StandardVertInput In; - CCVertInput(In); - - #if CC_USE_ATTRIBUTE_COLOR - v_color = In.color; - #endif - - #if CC_USE_TEXTURE - v_uv0 = In.uv * mainTiling + mainOffset; - #endif - - gl_Position = cc_matViewProj * cc_matWorld * In.position; -} +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +precision highp float; + +#include +#include +#include +#include + +#pragma define CC_USE_TEXTURE CC_USE_ATTRIBUTE_UV0 && USE_DIFFUSE_TEXTURE + +uniform MAIN_TILING { + vec2 mainTiling; + vec2 mainOffset; +}; + +#if CC_USE_TEXTURE + out mediump vec2 v_uv0; +#endif + +#if CC_USE_ATTRIBUTE_COLOR + out lowp vec4 v_color; +#endif + +void main () { + StandardVertInput In; + CCVertInput(In); + + #if CC_USE_ATTRIBUTE_COLOR + v_color = In.color; + #endif + + #if CC_USE_TEXTURE + v_uv0 = In.uv * mainTiling + mainOffset; + #endif + + gl_Position = cc_matViewProj * cc_matWorld * In.position; +} diff --git a/assets/migrate-resources/chunks/unlit-vs.chunk.meta b/assets/migrate-resources/chunks/unlit-vs.chunk.meta index bb44fc5..76e2db9 100644 --- a/assets/migrate-resources/chunks/unlit-vs.chunk.meta +++ b/assets/migrate-resources/chunks/unlit-vs.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "56d1607d-db90-4540-9685-ed7d9a5ca463", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "56d1607d-db90-4540-9685-ed7d9a5ca463", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/migrate-resources/chunks/unpack.chunk b/assets/migrate-resources/chunks/unpack.chunk index 0c37681..e3c172b 100644 --- a/assets/migrate-resources/chunks/unpack.chunk +++ b/assets/migrate-resources/chunks/unpack.chunk @@ -1,9 +1,9 @@ -// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. - -vec3 unpackNormal(vec4 nmap) { - return nmap.xyz * 2.0 - 1.0; -} - -vec3 unpackRGBE(vec4 rgbe) { - return rgbe.rgb * pow(2.0, rgbe.a * 255.0 - 128.0); -} +// Copyright (c) 2017-2018 Xiamen Yaji Software Co., Ltd. + +vec3 unpackNormal(vec4 nmap) { + return nmap.xyz * 2.0 - 1.0; +} + +vec3 unpackRGBE(vec4 rgbe) { + return rgbe.rgb * pow(2.0, rgbe.a * 255.0 - 128.0); +} diff --git a/assets/migrate-resources/chunks/unpack.chunk.meta b/assets/migrate-resources/chunks/unpack.chunk.meta index 76628aa..2644e83 100644 --- a/assets/migrate-resources/chunks/unpack.chunk.meta +++ b/assets/migrate-resources/chunks/unpack.chunk.meta @@ -1,9 +1,9 @@ -{ - "ver": "1.0.7", - "importer": "effect-header", - "imported": true, - "uuid": "8dbf686e-8bae-48ea-89ee-5b0b6cc7888b", - "files": [], - "subMetas": {}, - "userData": {} -} +{ + "ver": "1.0.7", + "importer": "effect-header", + "imported": true, + "uuid": "8dbf686e-8bae-48ea-89ee-5b0b6cc7888b", + "files": [], + "subMetas": {}, + "userData": {} +} diff --git a/assets/resources.meta b/assets/resources.meta index dfeb240..dd88828 100644 --- a/assets/resources.meta +++ b/assets/resources.meta @@ -1,16 +1,16 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "e7ddd88f-f97b-44ea-b32b-9aa8b7ca79d9", - "files": [], - "subMetas": {}, - "userData": { - "isBundle": true, - "bundleName": "resources", - "priority": 8, - "bundleConfigID": "auto_cbE1A9R1RLTIElrWNnw4oz", - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "e7ddd88f-f97b-44ea-b32b-9aa8b7ca79d9", + "files": [], + "subMetas": {}, + "userData": { + "isBundle": true, + "bundleName": "resources", + "priority": 8, + "bundleConfigID": "auto_cbE1A9R1RLTIElrWNnw4oz", + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle.meta b/assets/resources/FishSingle.meta index 3d9b85a..1fe74d3 100644 --- a/assets/resources/FishSingle.meta +++ b/assets/resources/FishSingle.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "aa6d6971-f5b2-4b1a-83e2-656830690083", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "aa6d6971-f5b2-4b1a-83e2-656830690083", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/game.meta b/assets/resources/FishSingle/game.meta index c37131a..d01b4b4 100644 --- a/assets/resources/FishSingle/game.meta +++ b/assets/resources/FishSingle/game.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "25305c2b-147e-43e5-ae68-36071b8d429e", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "25305c2b-147e-43e5-ae68-36071b8d429e", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/game/dialog.meta b/assets/resources/FishSingle/game/dialog.meta index 1a077e7..570aa49 100644 --- a/assets/resources/FishSingle/game/dialog.meta +++ b/assets/resources/FishSingle/game/dialog.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "4faeb5bb-db09-47ef-8abc-a25e1f010f4c", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "4faeb5bb-db09-47ef-8abc-a25e1f010f4c", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/game/dialog/FishSetting.prefab b/assets/resources/FishSingle/game/dialog/FishSetting.prefab index 3e67a32..aff6639 100644 --- a/assets/resources/FishSingle/game/dialog/FishSetting.prefab +++ b/assets/resources/FishSingle/game/dialog/FishSetting.prefab @@ -1,1783 +1,1783 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "FishSetting", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "FishSetting", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 13 - }, - { - "__id__": 21 - }, - { - "__id__": 29 - }, - { - "__id__": 55 - } - ], - "_active": true, - "_components": [ - { - "__id__": 81 - }, - { - "__id__": 83 - }, - { - "__id__": 85 - }, - { - "__id__": 87 - } - ], - "_prefab": { - "__id__": 89 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 22.47399999999999, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "cancelbutton", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - }, - { - "__id__": 10 - } - ], - "_prefab": { - "__id__": 12 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 746.665, - "y": 381.872, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "950ca9eb-9e8a-4912-b18a-ff5ca36fb049@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "893flxzlZPKLeiEdsIOynJ" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "clickEvents": [ - { - "__id__": 7 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": null, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "812WCEfMNPo5bPcy5DUo4w" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 1 - }, - "component": "", - "_componentId": "ce79eTdH+FF/bKc/I8Hc7+h", - "handler": "onClickClose", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 9 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7eAsFHjUBI/ocIPp6izjuZ" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 11 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 95, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "eaUX6sp7pB1YJWmne3inZl" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8eWYaBg9lGH4+O3ZFpdIfx" - }, - { - "__type__": "cc.Node", - "_name": "word-yinyue", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 14 - }, - { - "__id__": 16 - }, - { - "__id__": 18 - } - ], - "_prefab": { - "__id__": 20 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -458.89, - "y": 99, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 15 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "a8f84ae1-02dd-4b04-b75e-8f9dc4bbfe73@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c0bN13oxdDmqOq7HhF0TdH" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 17 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "74e88MP5VGbot+g9I+gr9+" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 19 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 101, - "height": 36 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "0f6Vu6+D1LD5CFhrKe5c+t" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "39sdKIIepDBIpeZwhkp+9g" - }, - { - "__type__": "cc.Node", - "_name": "word-yinxiao", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 22 - }, - { - "__id__": 24 - }, - { - "__id__": 26 - } - ], - "_prefab": { - "__id__": 28 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -458.89, - "y": -235, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 21 - }, - "_enabled": true, - "__prefab": { - "__id__": 23 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "b251ef0b-b0ae-4cfe-bd41-e9d8118d42d1@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "aeaNLzAXVLc6X4nOUO5RS6" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 21 - }, - "_enabled": true, - "__prefab": { - "__id__": 25 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f40C7gEk9M6KONL38Buoxd" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 21 - }, - "_enabled": true, - "__prefab": { - "__id__": 27 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 101, - "height": 36 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "317GTsZKpEsYVMXXnJSili" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "bfTACXFjhC644BHFLF3SFY" - }, - { - "__type__": "cc.Node", - "_name": "sliderMusic", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 30 - }, - { - "__id__": 38 - } - ], - "_active": true, - "_components": [ - { - "__id__": 48 - }, - { - "__id__": 50 - }, - { - "__id__": 52 - } - ], - "_prefab": { - "__id__": 54 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 152.375, - "y": 96.975, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "Background", - "_objFlags": 0, - "_parent": { - "__id__": 29 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 31 - }, - { - "__id__": 33 - }, - { - "__id__": 35 - } - ], - "_prefab": { - "__id__": 37 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 30 - }, - "_enabled": true, - "__prefab": { - "__id__": 32 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "2506xV4g9G0rdBnKX+IQVT" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 30 - }, - "_enabled": true, - "__prefab": { - "__id__": 34 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "32UOi+N99ICYyna/yz4qET" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 30 - }, - "_enabled": true, - "__prefab": { - "__id__": 36 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 800, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a9+zEeYFBP4YzfuUSLpo4y" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "behuRjTnFPi4THvakXElas" - }, - { - "__type__": "cc.Node", - "_name": "Handle", - "_objFlags": 0, - "_parent": { - "__id__": 29 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 39 - }, - { - "__id__": 41 - }, - { - "__id__": 43 - }, - { - "__id__": 45 - } - ], - "_prefab": { - "__id__": 47 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -400, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 38 - }, - "_enabled": true, - "__prefab": { - "__id__": 40 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "a916117c-1e84-423c-8290-b8b9fca08a6f@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 2, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3879QgI+VHFJ79RrJPuTWT" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 38 - }, - "_enabled": true, - "__prefab": { - "__id__": 42 - }, - "clickEvents": [], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_hoverSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_pressedSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_disabledSprite": { - "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941" - }, - "_duration": 0.1, - "_zoomScale": 1.1, - "_target": { - "__id__": 38 - }, - "pressedSprite": { - "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" - }, - "hoverSprite": { - "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "86YmaLzRhFS53ElNumcRM9" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 38 - }, - "_enabled": true, - "__prefab": { - "__id__": 44 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "460LP6p/tOFY3btIeAsJgY" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 38 - }, - "_enabled": true, - "__prefab": { - "__id__": 46 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 148, - "height": 77 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "bdh56xQqBEU7KIjM3ZCcJx" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "71CmPowYhP5adoyVYc97RN" - }, - { - "__type__": "cc.Slider", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 29 - }, - "_enabled": true, - "__prefab": { - "__id__": 49 - }, - "slideEvents": [], - "_handle": { - "__id__": 41 - }, - "_direction": 0, - "_progress": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a4Fecj8f1CO7Ty5oeWONn7" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 29 - }, - "_enabled": true, - "__prefab": { - "__id__": 51 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c85CW3ADRPFJvx48ic37jW" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 29 - }, - "_enabled": true, - "__prefab": { - "__id__": 53 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 800, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a6uAQ+wO5PDYPQ0Q73m30t" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "9cv1gwxJJJk77ZBMucCcVa" - }, - { - "__type__": "cc.Node", - "_name": "sliderSound", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 56 - }, - { - "__id__": 64 - } - ], - "_active": true, - "_components": [ - { - "__id__": 74 - }, - { - "__id__": 76 - }, - { - "__id__": 78 - } - ], - "_prefab": { - "__id__": 80 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 152.375, - "y": -233.025, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "Background", - "_objFlags": 512, - "_parent": { - "__id__": 55 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 57 - }, - { - "__id__": 59 - }, - { - "__id__": 61 - } - ], - "_prefab": { - "__id__": 63 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 56 - }, - "_enabled": true, - "__prefab": { - "__id__": 58 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "7clUnD0fpMLY6OZ1LWNTcc" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 56 - }, - "_enabled": true, - "__prefab": { - "__id__": 60 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a9u+pYbPZN66CbggUNX3w4" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 56 - }, - "_enabled": true, - "__prefab": { - "__id__": 62 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 800, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a5JDQoJV9KPrvTpmcKO/Cj" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "25kQSLChtCp7CoANsNBLJV" - }, - { - "__type__": "cc.Node", - "_name": "Handle", - "_objFlags": 512, - "_parent": { - "__id__": 55 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 65 - }, - { - "__id__": 67 - }, - { - "__id__": 69 - }, - { - "__id__": 71 - } - ], - "_prefab": { - "__id__": 73 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -400, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 64 - }, - "_enabled": true, - "__prefab": { - "__id__": 66 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "a916117c-1e84-423c-8290-b8b9fca08a6f@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 2, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "43A7RM8PFOxZs9LLzpLaO4" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 64 - }, - "_enabled": true, - "__prefab": { - "__id__": 68 - }, - "clickEvents": [], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_normalSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_hoverSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_pressedSprite": { - "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" - }, - "_disabledSprite": { - "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941" - }, - "_duration": 0.1, - "_zoomScale": 1.1, - "_target": { - "__id__": 64 - }, - "pressedSprite": { - "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" - }, - "hoverSprite": { - "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "36ycVNmlFCpp0jAiKZrgdI" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 64 - }, - "_enabled": true, - "__prefab": { - "__id__": 70 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "bdX2gQOZ1KLKa0QXv8aQqN" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 64 - }, - "_enabled": true, - "__prefab": { - "__id__": 72 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 148, - "height": 77 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "4bkj1azWRNZLuBvFplsMQ8" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "a6UADkXy1K147Zb/fAM7In" - }, - { - "__type__": "cc.Slider", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 55 - }, - "_enabled": true, - "__prefab": { - "__id__": 75 - }, - "slideEvents": [], - "_handle": { - "__id__": 67 - }, - "_direction": 0, - "_progress": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e0Smbqi1NBapRm4QH7Pvix" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 55 - }, - "_enabled": true, - "__prefab": { - "__id__": 77 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "fb9LhcCSxGD6XqOdZau2GS" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 55 - }, - "_enabled": true, - "__prefab": { - "__id__": 79 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 800, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "42jNOoZGVJFbDxmhjRp4gB" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "a6waDOipJCUoKGp8xuKUL6" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 82 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "ef8d3582-c659-4ebf-b702-750b23569dbd@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "30Oz8+899Ezay7ClpD/h4C" - }, - { - "__type__": "ce79eTdH+FF/bKc/I8Hc7+h", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "musicSlider": { - "__id__": 48 - }, - "soundSlider": { - "__id__": 74 - }, - "_id": "", - "__prefab": { - "__id__": 84 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "34MrFRR6pEF7E9wB8hchbl" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 86 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f6j4Ev6XtL9Y3CSioZbv6q" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 88 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1601, - "height": 1000 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "21d3uM8EJP36YfCKCuvtX5" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "d0fmzUYIBAXLdheVz3QVcP" - } +[ + { + "__type__": "cc.Prefab", + "_name": "FishSetting", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "FishSetting", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 13 + }, + { + "__id__": 21 + }, + { + "__id__": 29 + }, + { + "__id__": 55 + } + ], + "_active": true, + "_components": [ + { + "__id__": 81 + }, + { + "__id__": 83 + }, + { + "__id__": 85 + }, + { + "__id__": 87 + } + ], + "_prefab": { + "__id__": 89 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 22.47399999999999, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "cancelbutton", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 8 + }, + { + "__id__": 10 + } + ], + "_prefab": { + "__id__": 12 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 746.665, + "y": 381.872, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "950ca9eb-9e8a-4912-b18a-ff5ca36fb049@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "893flxzlZPKLeiEdsIOynJ" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "clickEvents": [ + { + "__id__": 7 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "812WCEfMNPo5bPcy5DUo4w" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "ce79eTdH+FF/bKc/I8Hc7+h", + "handler": "onClickClose", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 9 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7eAsFHjUBI/ocIPp6izjuZ" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 11 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 95, + "height": 96 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "eaUX6sp7pB1YJWmne3inZl" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "8eWYaBg9lGH4+O3ZFpdIfx" + }, + { + "__type__": "cc.Node", + "_name": "word-yinyue", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 14 + }, + { + "__id__": 16 + }, + { + "__id__": 18 + } + ], + "_prefab": { + "__id__": 20 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -458.89, + "y": 99, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "a8f84ae1-02dd-4b04-b75e-8f9dc4bbfe73@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c0bN13oxdDmqOq7HhF0TdH" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 17 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "74e88MP5VGbot+g9I+gr9+" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 19 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 101, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0f6Vu6+D1LD5CFhrKe5c+t" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "39sdKIIepDBIpeZwhkp+9g" + }, + { + "__type__": "cc.Node", + "_name": "word-yinxiao", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 22 + }, + { + "__id__": 24 + }, + { + "__id__": 26 + } + ], + "_prefab": { + "__id__": 28 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -458.89, + "y": -235, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 21 + }, + "_enabled": true, + "__prefab": { + "__id__": 23 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "b251ef0b-b0ae-4cfe-bd41-e9d8118d42d1@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "aeaNLzAXVLc6X4nOUO5RS6" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 21 + }, + "_enabled": true, + "__prefab": { + "__id__": 25 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f40C7gEk9M6KONL38Buoxd" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 21 + }, + "_enabled": true, + "__prefab": { + "__id__": 27 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 101, + "height": 36 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "317GTsZKpEsYVMXXnJSili" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "bfTACXFjhC644BHFLF3SFY" + }, + { + "__type__": "cc.Node", + "_name": "sliderMusic", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 30 + }, + { + "__id__": 38 + } + ], + "_active": true, + "_components": [ + { + "__id__": 48 + }, + { + "__id__": 50 + }, + { + "__id__": 52 + } + ], + "_prefab": { + "__id__": 54 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 152.375, + "y": 96.975, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Background", + "_objFlags": 0, + "_parent": { + "__id__": 29 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 31 + }, + { + "__id__": 33 + }, + { + "__id__": 35 + } + ], + "_prefab": { + "__id__": 37 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 32 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2506xV4g9G0rdBnKX+IQVT" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 34 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "32UOi+N99ICYyna/yz4qET" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 30 + }, + "_enabled": true, + "__prefab": { + "__id__": 36 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 800, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a9+zEeYFBP4YzfuUSLpo4y" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "behuRjTnFPi4THvakXElas" + }, + { + "__type__": "cc.Node", + "_name": "Handle", + "_objFlags": 0, + "_parent": { + "__id__": 29 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 39 + }, + { + "__id__": 41 + }, + { + "__id__": 43 + }, + { + "__id__": 45 + } + ], + "_prefab": { + "__id__": 47 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -400, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 38 + }, + "_enabled": true, + "__prefab": { + "__id__": 40 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "a916117c-1e84-423c-8290-b8b9fca08a6f@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 2, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3879QgI+VHFJ79RrJPuTWT" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 38 + }, + "_enabled": true, + "__prefab": { + "__id__": 42 + }, + "clickEvents": [], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_hoverSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_pressedSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_disabledSprite": { + "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941" + }, + "_duration": 0.1, + "_zoomScale": 1.1, + "_target": { + "__id__": 38 + }, + "pressedSprite": { + "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" + }, + "hoverSprite": { + "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "86YmaLzRhFS53ElNumcRM9" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 38 + }, + "_enabled": true, + "__prefab": { + "__id__": 44 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "460LP6p/tOFY3btIeAsJgY" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 38 + }, + "_enabled": true, + "__prefab": { + "__id__": 46 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 148, + "height": 77 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bdh56xQqBEU7KIjM3ZCcJx" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "71CmPowYhP5adoyVYc97RN" + }, + { + "__type__": "cc.Slider", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 29 + }, + "_enabled": true, + "__prefab": { + "__id__": 49 + }, + "slideEvents": [], + "_handle": { + "__id__": 41 + }, + "_direction": 0, + "_progress": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a4Fecj8f1CO7Ty5oeWONn7" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 29 + }, + "_enabled": true, + "__prefab": { + "__id__": 51 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c85CW3ADRPFJvx48ic37jW" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 29 + }, + "_enabled": true, + "__prefab": { + "__id__": 53 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 800, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a6uAQ+wO5PDYPQ0Q73m30t" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "9cv1gwxJJJk77ZBMucCcVa" + }, + { + "__type__": "cc.Node", + "_name": "sliderSound", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 56 + }, + { + "__id__": 64 + } + ], + "_active": true, + "_components": [ + { + "__id__": 74 + }, + { + "__id__": 76 + }, + { + "__id__": 78 + } + ], + "_prefab": { + "__id__": 80 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 152.375, + "y": -233.025, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Background", + "_objFlags": 512, + "_parent": { + "__id__": 55 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 57 + }, + { + "__id__": 59 + }, + { + "__id__": 61 + } + ], + "_prefab": { + "__id__": 63 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 58 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "7clUnD0fpMLY6OZ1LWNTcc" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 60 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a9u+pYbPZN66CbggUNX3w4" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 56 + }, + "_enabled": true, + "__prefab": { + "__id__": 62 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 800, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a5JDQoJV9KPrvTpmcKO/Cj" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "25kQSLChtCp7CoANsNBLJV" + }, + { + "__type__": "cc.Node", + "_name": "Handle", + "_objFlags": 512, + "_parent": { + "__id__": 55 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 65 + }, + { + "__id__": 67 + }, + { + "__id__": 69 + }, + { + "__id__": 71 + } + ], + "_prefab": { + "__id__": 73 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -400, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 66 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "a916117c-1e84-423c-8290-b8b9fca08a6f@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 2, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "43A7RM8PFOxZs9LLzpLaO4" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 68 + }, + "clickEvents": [], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_normalSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_hoverSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_pressedSprite": { + "__uuid__": "f12a23c4-b924-4322-a260-3d982428f1e8@f9941" + }, + "_disabledSprite": { + "__uuid__": "951249e0-9f16-456d-8b85-a6ca954da16b@f9941" + }, + "_duration": 0.1, + "_zoomScale": 1.1, + "_target": { + "__id__": 64 + }, + "pressedSprite": { + "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" + }, + "hoverSprite": { + "__uuid__": "e7aba14b-f956-4480-b254-8d57832e273f" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "36ycVNmlFCpp0jAiKZrgdI" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 70 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bdX2gQOZ1KLKa0QXv8aQqN" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 64 + }, + "_enabled": true, + "__prefab": { + "__id__": 72 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 148, + "height": 77 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4bkj1azWRNZLuBvFplsMQ8" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a6UADkXy1K147Zb/fAM7In" + }, + { + "__type__": "cc.Slider", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "__prefab": { + "__id__": 75 + }, + "slideEvents": [], + "_handle": { + "__id__": 67 + }, + "_direction": 0, + "_progress": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e0Smbqi1NBapRm4QH7Pvix" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "__prefab": { + "__id__": 77 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fb9LhcCSxGD6XqOdZau2GS" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 55 + }, + "_enabled": true, + "__prefab": { + "__id__": 79 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 800, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "42jNOoZGVJFbDxmhjRp4gB" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "a6waDOipJCUoKGp8xuKUL6" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 82 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "ef8d3582-c659-4ebf-b702-750b23569dbd@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "30Oz8+899Ezay7ClpD/h4C" + }, + { + "__type__": "ce79eTdH+FF/bKc/I8Hc7+h", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "musicSlider": { + "__id__": 48 + }, + "soundSlider": { + "__id__": 74 + }, + "_id": "", + "__prefab": { + "__id__": 84 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "34MrFRR6pEF7E9wB8hchbl" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 86 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f6j4Ev6XtL9Y3CSioZbv6q" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 88 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1601, + "height": 1000 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "21d3uM8EJP36YfCKCuvtX5" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d0fmzUYIBAXLdheVz3QVcP" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/game/dialog/FishSetting.prefab.meta b/assets/resources/FishSingle/game/dialog/FishSetting.prefab.meta index da6bb49..22c8f4a 100644 --- a/assets/resources/FishSingle/game/dialog/FishSetting.prefab.meta +++ b/assets/resources/FishSingle/game/dialog/FishSetting.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "453b27d1-bf05-49a4-a86d-5df74d7d649a", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "FishSetting" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "453b27d1-bf05-49a4-a86d-5df74d7d649a", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "FishSetting" + } +} diff --git a/assets/resources/FishSingle/game/dialog/FishWiki.prefab b/assets/resources/FishSingle/game/dialog/FishWiki.prefab index 50b32d5..f74f862 100644 --- a/assets/resources/FishSingle/game/dialog/FishWiki.prefab +++ b/assets/resources/FishSingle/game/dialog/FishWiki.prefab @@ -1,1584 +1,1584 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "FishWiki", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "FishWiki", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 13 - } - ], - "_active": true, - "_components": [ - { - "__id__": 77 - }, - { - "__id__": 79 - }, - { - "__id__": 81 - }, - { - "__id__": 83 - } - ], - "_prefab": { - "__id__": 85 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 22.47399999999999, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "cancelbutton", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 8 - }, - { - "__id__": 10 - } - ], - "_prefab": { - "__id__": 12 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 746.665, - "y": 381.872, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "950ca9eb-9e8a-4912-b18a-ff5ca36fb049@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "39JOqip15J86p+zAGdggjO" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "clickEvents": [ - { - "__id__": 7 - } - ], - "_interactable": true, - "_transition": 3, - "_normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": null, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "70KR2VbIBJYp4A3usiS7W5" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 1 - }, - "component": "", - "_componentId": "1d85aRnV69ArJ0LTxKzip6l", - "handler": "onClickClose", - "customEventData": "" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 9 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "faVWl1HQJA3aJQNaN0DPz7" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 11 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 95, - "height": 96 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "75ucLqwhRLDZZhA2WK6a0Z" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "cbcg+jCd1Aq5RNqGXD2MxC" - }, - { - "__type__": "cc.Node", - "_name": "scrollView", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 14 - } - ], - "_active": true, - "_components": [ - { - "__id__": 70 - }, - { - "__id__": 72 - }, - { - "__id__": 74 - } - ], - "_prefab": { - "__id__": 76 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 10, - "y": -60, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "view", - "_objFlags": 0, - "_parent": { - "__id__": 13 - }, - "_children": [ - { - "__id__": 15 - } - ], - "_active": true, - "_components": [ - { - "__id__": 63 - }, - { - "__id__": 65 - }, - { - "__id__": 67 - } - ], - "_prefab": { - "__id__": 69 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "content", - "_objFlags": 0, - "_parent": { - "__id__": 14 - }, - "_children": [ - { - "__id__": 16 - } - ], - "_active": true, - "_components": [ - { - "__id__": 56 - }, - { - "__id__": 58 - }, - { - "__id__": 60 - } - ], - "_prefab": { - "__id__": 62 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 373.30999755859375, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "FishWikiItem", - "_objFlags": 0, - "_parent": { - "__id__": 15 - }, - "_children": [ - { - "__id__": 17 - }, - { - "__id__": 39 - } - ], - "_active": true, - "_components": [ - { - "__id__": 49 - }, - { - "__id__": 51 - }, - { - "__id__": 53 - } - ], - "_prefab": { - "__id__": 55 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -630, - "y": -135, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "view", - "_objFlags": 0, - "_parent": { - "__id__": 16 - }, - "_children": [ - { - "__id__": 18 - } - ], - "_active": true, - "_components": [ - { - "__id__": 34 - }, - { - "__id__": 36 - } - ], - "_prefab": { - "__id__": 38 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 13.825, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "Fish2", - "_objFlags": 0, - "_parent": { - "__id__": 17 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 19 - }, - { - "__id__": 21 - }, - { - "__id__": 23 - }, - { - "__id__": 25 - }, - { - "__id__": 27 - }, - { - "__id__": 29 - }, - { - "__id__": 31 - } - ], - "_prefab": { - "__id__": 33 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 2, - "y": 2, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 20 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486@a9841" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": { - "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "2cww98WtNJ3b24ENns2Fql" - }, - { - "__type__": "cc.BoxCollider2D", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 22 - }, - "tag": 0, - "_group": 1, - "_density": 1, - "_sensor": false, - "_friction": 0.2, - "_restitution": 0, - "_offset": { - "__type__": "cc.Vec2", - "x": -16, - "y": 0 - }, - "_size": { - "__type__": "cc.Size", - "width": 54, - "height": 20 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c5fgGVp3lKd4I9+mLqg2H1" - }, - { - "__type__": "cc.Animation", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 24 - }, - "playOnLoad": false, - "_clips": [ - { - "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" - } - ], - "_defaultClip": { - "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "77i/sDe01EIYoJDR0uSHto" - }, - { - "__type__": "bcf7fDIJDhKnaxGPja2YnSj", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "fishType": 2, - "speed": 3, - "_id": "", - "__prefab": { - "__id__": 26 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "14ixmulnRDdqMgcg80gCSo" - }, - { - "__type__": "ce1d8SdoYxBMoB8LPTW6b6l", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_id": "", - "__prefab": { - "__id__": 28 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "21CHOqrVNIDrLIok8h4yHJ" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 30 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "36zjF9PSROl5/22fVAWnCc" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "__prefab": { - "__id__": 32 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 82, - "height": 24 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3cH7W2KitJhrxlWZ4zYS6H" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "d5WwQqRQdHerIGIpScojR5" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": { - "__id__": 35 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "b07r6gTbJIKKG+sj5etKg+" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": { - "__id__": 37 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 180, - "height": 120 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e9HgRC+yhNkojDqZNHVTfc" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "48tzAuODlKjJJEWa+qN5UF" - }, - { - "__type__": "cc.Node", - "_name": "txtName", - "_objFlags": 0, - "_parent": { - "__id__": 16 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 40 - }, - { - "__id__": 42 - }, - { - "__id__": 44 - }, - { - "__id__": 46 - } - ], - "_prefab": { - "__id__": 48 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -92.469, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 39 - }, - "_enabled": true, - "__prefab": { - "__id__": 41 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 61, - "b": 0, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "sadfdfdadsd", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 30, - "_fontFamily": "Arial", - "_lineHeight": 40, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_styleFlags": 0, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e4QatGk/xF4ojCQIEY6WKD" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 39 - }, - "_enabled": true, - "__prefab": { - "__id__": 43 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c4xmUfxB5NEq/ZzchIx1If" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 39 - }, - "_enabled": true, - "__prefab": { - "__id__": 45 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a1WMH8eo1EoamI+30zNqCC" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 39 - }, - "_enabled": true, - "__prefab": { - "__id__": 47 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 169.46, - "height": 56.4 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "fdsDCJellFi5P2v4gjZc0X" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dbXecJ0s9DGoBSfOBa6teR" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "__prefab": { - "__id__": 50 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "1dcba25c-c5cd-4c04-a155-b7bcf8abdfa4@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 1, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "4aBobWI39PlLiBh28vOYj5" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "__prefab": { - "__id__": 52 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "45VUCzXtJHCqbpOtN2+Y5R" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 16 - }, - "_enabled": true, - "__prefab": { - "__id__": 54 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 210, - "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ebQJuDJMhAr5gGvrlvq+s/" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "16tWPDZEBPv4pzHoPbxeDE" - }, - { - "__type__": "cc.Layout", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 15 - }, - "_enabled": true, - "__prefab": { - "__id__": 57 - }, - "_resizeMode": 1, - "_N$layoutType": 0, - "_N$padding": 0, - "_cellSize": { - "__type__": "cc.Size", - "width": 40, - "height": 40 - }, - "_startAxis": 0, - "_paddingLeft": 15, - "_paddingRight": 0, - "_paddingTop": 0, - "_paddingBottom": 0, - "_spacingX": 40, - "_spacingY": 20, - "_verticalDirection": 1, - "_horizontalDirection": 0, - "_affectedByScale": false, - "_layoutSize": { - "__type__": "cc.Size", - "width": 1500, - "height": 270 - }, - "_layoutType": 3, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "b00k0IE3ZOdLzp+8tbmq93" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 15 - }, - "_enabled": true, - "__prefab": { - "__id__": 59 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "99Z6K095ZHqrv9NmS7QI8R" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 15 - }, - "_enabled": true, - "__prefab": { - "__id__": 61 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1500, - "height": 270 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 1 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "5ai4Lq4KJBQouufqdoSjVK" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "58wiEV2o5IxLBW5VFt4EdJ" - }, - { - "__type__": "cc.Mask", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 14 - }, - "_enabled": true, - "__prefab": { - "__id__": 64 - }, - "_materials": [], - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_type": 0, - "_inverted": false, - "_segments": 64, - "_alphaThreshold": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f7bujCnhVAXpWvlS65dtTM" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 14 - }, - "_enabled": true, - "__prefab": { - "__id__": 66 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ef9gBka+VL2ZKdIPhPelkR" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 14 - }, - "_enabled": true, - "__prefab": { - "__id__": 68 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1500, - "height": 750 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "549wFET6xBjp+EXTQHtLfq" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "998j8VvJBBjbknN/W5j+U7" - }, - { - "__type__": "cc.ScrollView", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 71 - }, - "bounceDuration": 0.23, - "brake": 0.75, - "elastic": true, - "inertia": true, - "horizontal": false, - "vertical": true, - "cancelInnerEvents": true, - "scrollEvents": [], - "_content": { - "__id__": 15 - }, - "_horizontalScrollBar": null, - "_verticalScrollBar": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f3gJWj0vBJJ5jR0o1nKALz" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 73 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "acF/IB0LtAZL5qR35SFr/J" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "__prefab": { - "__id__": 75 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1500, - "height": 750 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "d1oAewyllBF6US50fHWz4R" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "c2Tfs51jZDTYswFSK+cmQb" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 78 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "ef8d3582-c659-4ebf-b702-750b23569dbd@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "21XryDABhIvbL7/EcOJzFc" - }, - { - "__type__": "1d85aRnV69ArJ0LTxKzip6l", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "scrollView": { - "__id__": 70 - }, - "wikiItemPrefab": { - "__uuid__": "2fdbeee9-cb7d-44ab-9ce7-f73b19d0f4fc" - }, - "_id": "", - "__prefab": { - "__id__": 80 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "01KFaRBR1MQ7EOkKwetGwV" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 82 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "99fl4xDtVIfY8mumgZhqM7" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 84 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1601, - "height": 1000 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "0cswdW8/NN04gzvT+xqBXY" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "55d86J3tdLKIgCgAWBU5zL" - } +[ + { + "__type__": "cc.Prefab", + "_name": "FishWiki", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "FishWiki", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 13 + } + ], + "_active": true, + "_components": [ + { + "__id__": 77 + }, + { + "__id__": 79 + }, + { + "__id__": 81 + }, + { + "__id__": 83 + } + ], + "_prefab": { + "__id__": 85 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 22.47399999999999, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "cancelbutton", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 8 + }, + { + "__id__": 10 + } + ], + "_prefab": { + "__id__": 12 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 746.665, + "y": 381.872, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "950ca9eb-9e8a-4912-b18a-ff5ca36fb049@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "39JOqip15J86p+zAGdggjO" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "clickEvents": [ + { + "__id__": 7 + } + ], + "_interactable": true, + "_transition": 3, + "_normalColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "70KR2VbIBJYp4A3usiS7W5" + }, + { + "__type__": "cc.ClickEvent", + "target": { + "__id__": 1 + }, + "component": "", + "_componentId": "1d85aRnV69ArJ0LTxKzip6l", + "handler": "onClickClose", + "customEventData": "" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 9 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "faVWl1HQJA3aJQNaN0DPz7" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 11 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 95, + "height": 96 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "75ucLqwhRLDZZhA2WK6a0Z" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "cbcg+jCd1Aq5RNqGXD2MxC" + }, + { + "__type__": "cc.Node", + "_name": "scrollView", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [ + { + "__id__": 14 + } + ], + "_active": true, + "_components": [ + { + "__id__": 70 + }, + { + "__id__": 72 + }, + { + "__id__": 74 + } + ], + "_prefab": { + "__id__": 76 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 10, + "y": -60, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "view", + "_objFlags": 0, + "_parent": { + "__id__": 13 + }, + "_children": [ + { + "__id__": 15 + } + ], + "_active": true, + "_components": [ + { + "__id__": 63 + }, + { + "__id__": 65 + }, + { + "__id__": 67 + } + ], + "_prefab": { + "__id__": 69 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "content", + "_objFlags": 0, + "_parent": { + "__id__": 14 + }, + "_children": [ + { + "__id__": 16 + } + ], + "_active": true, + "_components": [ + { + "__id__": 56 + }, + { + "__id__": 58 + }, + { + "__id__": 60 + } + ], + "_prefab": { + "__id__": 62 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 373.30999755859375, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "FishWikiItem", + "_objFlags": 0, + "_parent": { + "__id__": 15 + }, + "_children": [ + { + "__id__": 17 + }, + { + "__id__": 39 + } + ], + "_active": true, + "_components": [ + { + "__id__": 49 + }, + { + "__id__": 51 + }, + { + "__id__": 53 + } + ], + "_prefab": { + "__id__": 55 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": -630, + "y": -135, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "view", + "_objFlags": 0, + "_parent": { + "__id__": 16 + }, + "_children": [ + { + "__id__": 18 + } + ], + "_active": true, + "_components": [ + { + "__id__": 34 + }, + { + "__id__": 36 + } + ], + "_prefab": { + "__id__": 38 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 13.825, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "Fish2", + "_objFlags": 0, + "_parent": { + "__id__": 17 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 19 + }, + { + "__id__": 21 + }, + { + "__id__": 23 + }, + { + "__id__": 25 + }, + { + "__id__": 27 + }, + { + "__id__": 29 + }, + { + "__id__": 31 + } + ], + "_prefab": { + "__id__": 33 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 2, + "y": 2, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 20 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486@a9841" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": { + "__uuid__": "9db8c528-dae8-4e5a-a35b-43406ae12486" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2cww98WtNJ3b24ENns2Fql" + }, + { + "__type__": "cc.BoxCollider2D", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 22 + }, + "tag": 0, + "_group": 1, + "_density": 1, + "_sensor": false, + "_friction": 0.2, + "_restitution": 0, + "_offset": { + "__type__": "cc.Vec2", + "x": -16, + "y": 0 + }, + "_size": { + "__type__": "cc.Size", + "width": 54, + "height": 20 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c5fgGVp3lKd4I9+mLqg2H1" + }, + { + "__type__": "cc.Animation", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 24 + }, + "playOnLoad": false, + "_clips": [ + { + "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" + } + ], + "_defaultClip": { + "__uuid__": "3d05305d-6627-4e0c-9511-cd01676d144c" + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "77i/sDe01EIYoJDR0uSHto" + }, + { + "__type__": "bcf7fDIJDhKnaxGPja2YnSj", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "fishType": 2, + "speed": 3, + "_id": "", + "__prefab": { + "__id__": 26 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "14ixmulnRDdqMgcg80gCSo" + }, + { + "__type__": "ce1d8SdoYxBMoB8LPTW6b6l", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "_id": "", + "__prefab": { + "__id__": 28 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "21CHOqrVNIDrLIok8h4yHJ" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 30 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "36zjF9PSROl5/22fVAWnCc" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 18 + }, + "_enabled": true, + "__prefab": { + "__id__": 32 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 82, + "height": 24 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3cH7W2KitJhrxlWZ4zYS6H" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "d5WwQqRQdHerIGIpScojR5" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 35 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b07r6gTbJIKKG+sj5etKg+" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 17 + }, + "_enabled": true, + "__prefab": { + "__id__": 37 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 180, + "height": 120 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e9HgRC+yhNkojDqZNHVTfc" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "48tzAuODlKjJJEWa+qN5UF" + }, + { + "__type__": "cc.Node", + "_name": "txtName", + "_objFlags": 0, + "_parent": { + "__id__": 16 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 40 + }, + { + "__id__": 42 + }, + { + "__id__": 44 + }, + { + "__id__": 46 + } + ], + "_prefab": { + "__id__": 48 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -92.469, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 41 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 61, + "b": 0, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "sadfdfdadsd", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 30, + "_fontFamily": "Arial", + "_lineHeight": 40, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_styleFlags": 0, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e4QatGk/xF4ojCQIEY6WKD" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 43 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c4xmUfxB5NEq/ZzchIx1If" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 45 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a1WMH8eo1EoamI+30zNqCC" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 39 + }, + "_enabled": true, + "__prefab": { + "__id__": 47 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 169.46, + "height": 56.4 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "fdsDCJellFi5P2v4gjZc0X" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "dbXecJ0s9DGoBSfOBa6teR" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 50 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "1dcba25c-c5cd-4c04-a155-b7bcf8abdfa4@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 1, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "4aBobWI39PlLiBh28vOYj5" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 52 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "45VUCzXtJHCqbpOtN2+Y5R" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 16 + }, + "_enabled": true, + "__prefab": { + "__id__": 54 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 210, + "height": 270 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ebQJuDJMhAr5gGvrlvq+s/" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "16tWPDZEBPv4pzHoPbxeDE" + }, + { + "__type__": "cc.Layout", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 15 + }, + "_enabled": true, + "__prefab": { + "__id__": 57 + }, + "_resizeMode": 1, + "_N$layoutType": 0, + "_N$padding": 0, + "_cellSize": { + "__type__": "cc.Size", + "width": 40, + "height": 40 + }, + "_startAxis": 0, + "_paddingLeft": 15, + "_paddingRight": 0, + "_paddingTop": 0, + "_paddingBottom": 0, + "_spacingX": 40, + "_spacingY": 20, + "_verticalDirection": 1, + "_horizontalDirection": 0, + "_affectedByScale": false, + "_layoutSize": { + "__type__": "cc.Size", + "width": 1500, + "height": 270 + }, + "_layoutType": 3, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "b00k0IE3ZOdLzp+8tbmq93" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 15 + }, + "_enabled": true, + "__prefab": { + "__id__": 59 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "99Z6K095ZHqrv9NmS7QI8R" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 15 + }, + "_enabled": true, + "__prefab": { + "__id__": 61 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1500, + "height": 270 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 1 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "5ai4Lq4KJBQouufqdoSjVK" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "58wiEV2o5IxLBW5VFt4EdJ" + }, + { + "__type__": "cc.Mask", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "__prefab": { + "__id__": 64 + }, + "_materials": [], + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_type": 0, + "_inverted": false, + "_segments": 64, + "_alphaThreshold": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f7bujCnhVAXpWvlS65dtTM" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "__prefab": { + "__id__": 66 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ef9gBka+VL2ZKdIPhPelkR" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 14 + }, + "_enabled": true, + "__prefab": { + "__id__": 68 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1500, + "height": 750 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "549wFET6xBjp+EXTQHtLfq" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "998j8VvJBBjbknN/W5j+U7" + }, + { + "__type__": "cc.ScrollView", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 71 + }, + "bounceDuration": 0.23, + "brake": 0.75, + "elastic": true, + "inertia": true, + "horizontal": false, + "vertical": true, + "cancelInnerEvents": true, + "scrollEvents": [], + "_content": { + "__id__": 15 + }, + "_horizontalScrollBar": null, + "_verticalScrollBar": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f3gJWj0vBJJ5jR0o1nKALz" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 73 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "acF/IB0LtAZL5qR35SFr/J" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "__prefab": { + "__id__": 75 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1500, + "height": 750 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "d1oAewyllBF6US50fHWz4R" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c2Tfs51jZDTYswFSK+cmQb" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 78 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "ef8d3582-c659-4ebf-b702-750b23569dbd@f9941" + }, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "21XryDABhIvbL7/EcOJzFc" + }, + { + "__type__": "1d85aRnV69ArJ0LTxKzip6l", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "scrollView": { + "__id__": 70 + }, + "wikiItemPrefab": { + "__uuid__": "2fdbeee9-cb7d-44ab-9ce7-f73b19d0f4fc" + }, + "_id": "", + "__prefab": { + "__id__": 80 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "01KFaRBR1MQ7EOkKwetGwV" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 82 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "99fl4xDtVIfY8mumgZhqM7" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 84 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1601, + "height": 1000 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0cswdW8/NN04gzvT+xqBXY" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "55d86J3tdLKIgCgAWBU5zL" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/game/dialog/FishWiki.prefab.meta b/assets/resources/FishSingle/game/dialog/FishWiki.prefab.meta index 98b7d1e..83081d1 100644 --- a/assets/resources/FishSingle/game/dialog/FishWiki.prefab.meta +++ b/assets/resources/FishSingle/game/dialog/FishWiki.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "eb51f279-fd86-4edb-b620-fd45f07875b0", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "FishWiki" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "eb51f279-fd86-4edb-b620-fd45f07875b0", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "FishWiki" + } +} diff --git a/assets/resources/FishSingle/game/prefab.meta b/assets/resources/FishSingle/game/prefab.meta index 196499a..e780160 100644 --- a/assets/resources/FishSingle/game/prefab.meta +++ b/assets/resources/FishSingle/game/prefab.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "1f0d2ff2-7ca5-4e9a-b0b6-92f6b126210d", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "1f0d2ff2-7ca5-4e9a-b0b6-92f6b126210d", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab b/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab index 510e0e8..72cf31f 100644 --- a/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab +++ b/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab @@ -1,145 +1,145 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "ResourcePrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "ResourcePrefab", - "_objFlags": 0, - "_parent": null, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 2 - }, - { - "__id__": 4 - }, - { - "__id__": 6 - } - ], - "_prefab": { - "__id__": 8 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "e0c99n+VjVMqow70WeThIMg", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "moveGripPrefab": null, - "attackGridPrefab": null, - "attackSelectGridPrefab": null, - "scorePrefab": { - "__uuid__": "463abd5d-c3b8-4354-b614-012540a2dfb8" - }, - "giftPrefab": null, - "_id": "", - "__prefab": { - "__id__": 3 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "607QrJUsVFmJf8C6YMhOMh" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 5 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "9avwcckMRGxLJOFmeSA9UA" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 7 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ea38Cc1W9L0LayRwZtLujp" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "cajC2IEY1HZ4WJu76RBe+D" - } +[ + { + "__type__": "cc.Prefab", + "_name": "ResourcePrefab", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "ResourcePrefab", + "_objFlags": 0, + "_parent": null, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 2 + }, + { + "__id__": 4 + }, + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 8 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "e0c99n+VjVMqow70WeThIMg", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "moveGripPrefab": null, + "attackGridPrefab": null, + "attackSelectGridPrefab": null, + "scorePrefab": { + "__uuid__": "463abd5d-c3b8-4354-b614-012540a2dfb8" + }, + "giftPrefab": null, + "_id": "", + "__prefab": { + "__id__": 3 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "607QrJUsVFmJf8C6YMhOMh" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 5 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "9avwcckMRGxLJOFmeSA9UA" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 7 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ea38Cc1W9L0LayRwZtLujp" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "cajC2IEY1HZ4WJu76RBe+D" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab.meta b/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab.meta index d3aaa97..315a2a0 100644 --- a/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab.meta +++ b/assets/resources/FishSingle/game/prefab/ResourcePrefab.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "64b16c88-9039-4cb9-8323-ca5c62bc60ce", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "ResourcePrefab" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "64b16c88-9039-4cb9-8323-ca5c62bc60ce", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "ResourcePrefab" + } +} diff --git a/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab b/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab index 60548ad..c928939 100644 --- a/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab +++ b/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab @@ -1,165 +1,165 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "ShaderMaterialPrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "ShaderMaterialPrefab", - "_objFlags": 0, - "_parent": null, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 2 - }, - { - "__id__": 4 - }, - { - "__id__": 6 - } - ], - "_prefab": { - "__id__": 8 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "7c56cZwawZM8aYGevYiajy2", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "default": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "grayMaterial": { - "__uuid__": "ee9df2cd-dc1c-4fa7-9ef6-b253eee81746" - }, - "oldPhoto": { - "__uuid__": "268b1aff-299a-4735-9f5c-5aa8d4d51788" - }, - "glowInner": { - "__uuid__": "647e873f-e0ed-4ce7-84cb-9e4d4f8a211f" - }, - "mosaic": { - "__uuid__": "f2651803-80c3-4665-bd81-2ad946a12dec" - }, - "roundCornerCrop": { - "__uuid__": "a86e8864-5390-443f-b41b-b38e9d584c43" - }, - "flashLight": { - "__uuid__": "43a22f18-72fc-4399-b5ae-8305705861f4" - }, - "flag": { - "__uuid__": "eec795f7-f6a2-42e1-99f6-2762f663b508" - }, - "gaussian": { - "__uuid__": "dd3d8f78-9b79-4ca7-9bf7-7a09f7b34108" - }, - "_id": "", - "__prefab": { - "__id__": 3 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "c0ncz7KJFE76wK+FaSJsRC" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 5 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "80z3IfTYhLy4X2kgeW6JPs" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 7 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "84k/CWoypHUreOnyNk0s1Z" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "77Mjb0BDlKDqvb+klDkQYh" - } +[ + { + "__type__": "cc.Prefab", + "_name": "ShaderMaterialPrefab", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "ShaderMaterialPrefab", + "_objFlags": 0, + "_parent": null, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 2 + }, + { + "__id__": 4 + }, + { + "__id__": 6 + } + ], + "_prefab": { + "__id__": 8 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "7c56cZwawZM8aYGevYiajy2", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "default": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "grayMaterial": { + "__uuid__": "ee9df2cd-dc1c-4fa7-9ef6-b253eee81746" + }, + "oldPhoto": { + "__uuid__": "268b1aff-299a-4735-9f5c-5aa8d4d51788" + }, + "glowInner": { + "__uuid__": "647e873f-e0ed-4ce7-84cb-9e4d4f8a211f" + }, + "mosaic": { + "__uuid__": "f2651803-80c3-4665-bd81-2ad946a12dec" + }, + "roundCornerCrop": { + "__uuid__": "a86e8864-5390-443f-b41b-b38e9d584c43" + }, + "flashLight": { + "__uuid__": "43a22f18-72fc-4399-b5ae-8305705861f4" + }, + "flag": { + "__uuid__": "eec795f7-f6a2-42e1-99f6-2762f663b508" + }, + "gaussian": { + "__uuid__": "dd3d8f78-9b79-4ca7-9bf7-7a09f7b34108" + }, + "_id": "", + "__prefab": { + "__id__": 3 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "c0ncz7KJFE76wK+FaSJsRC" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 5 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "80z3IfTYhLy4X2kgeW6JPs" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 7 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 0, + "height": 0 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "84k/CWoypHUreOnyNk0s1Z" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "77Mjb0BDlKDqvb+klDkQYh" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab.meta b/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab.meta index 002688d..f0799ba 100644 --- a/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab.meta +++ b/assets/resources/FishSingle/game/prefab/ShaderMaterialPrefab.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "2bf2ba61-696e-4235-ae79-27ef9e6d4117", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "ShaderMaterialPrefab" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "2bf2ba61-696e-4235-ae79-27ef9e6d4117", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "ShaderMaterialPrefab" + } +} diff --git a/assets/resources/FishSingle/music.meta b/assets/resources/FishSingle/music.meta index 606340d..cc77137 100644 --- a/assets/resources/FishSingle/music.meta +++ b/assets/resources/FishSingle/music.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "ba09bb95-af4b-46ad-8994-70e6f1ad6610", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "ba09bb95-af4b-46ad-8994-70e6f1ad6610", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/music/background_1.mp3.meta b/assets/resources/FishSingle/music/background_1.mp3.meta index 6cf6492..d9c5748 100644 --- a/assets/resources/FishSingle/music/background_1.mp3.meta +++ b/assets/resources/FishSingle/music/background_1.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "5c28a4fd-d016-43f5-8835-b68c534a97f6", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "5c28a4fd-d016-43f5-8835-b68c534a97f6", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/background_2.mp3.meta b/assets/resources/FishSingle/music/background_2.mp3.meta index 6382157..7722ab3 100644 --- a/assets/resources/FishSingle/music/background_2.mp3.meta +++ b/assets/resources/FishSingle/music/background_2.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "cf8ae5b7-4e3e-4383-a294-f2c187afe7c4", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "cf8ae5b7-4e3e-4383-a294-f2c187afe7c4", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/background_3.mp3.meta b/assets/resources/FishSingle/music/background_3.mp3.meta index f0d3648..ef7dac7 100644 --- a/assets/resources/FishSingle/music/background_3.mp3.meta +++ b/assets/resources/FishSingle/music/background_3.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "7e39c561-031c-4bf3-8caf-527cfaffd6c7", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "7e39c561-031c-4bf3-8caf-527cfaffd6c7", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/baozha.mp3.meta b/assets/resources/FishSingle/music/baozha.mp3.meta index 295ded2..ff98361 100644 --- a/assets/resources/FishSingle/music/baozha.mp3.meta +++ b/assets/resources/FishSingle/music/baozha.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "32fa3b85-4d4e-44a5-9705-aa4344ecaf55", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "32fa3b85-4d4e-44a5-9705-aa4344ecaf55", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_1.mp3.meta b/assets/resources/FishSingle/music/deadfish_1.mp3.meta index ad64a07..fe57b3d 100644 --- a/assets/resources/FishSingle/music/deadfish_1.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_1.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "ccb73e2e-ad50-4c13-9ae0-5fb92882bde3", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "ccb73e2e-ad50-4c13-9ae0-5fb92882bde3", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_10.mp3.meta b/assets/resources/FishSingle/music/deadfish_10.mp3.meta index ce88506..f8b0e97 100644 --- a/assets/resources/FishSingle/music/deadfish_10.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_10.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "cc65dd23-d01e-4745-8a7d-6215b7977acd", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "cc65dd23-d01e-4745-8a7d-6215b7977acd", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_11.mp3.meta b/assets/resources/FishSingle/music/deadfish_11.mp3.meta index c9bf0b1..0a82228 100644 --- a/assets/resources/FishSingle/music/deadfish_11.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_11.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "168882d7-518d-424f-b2ab-518d82087393", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "168882d7-518d-424f-b2ab-518d82087393", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_12.mp3.meta b/assets/resources/FishSingle/music/deadfish_12.mp3.meta index 75ebe2e..0ccaf33 100644 --- a/assets/resources/FishSingle/music/deadfish_12.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_12.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "dc44ec73-1c4f-47a1-81cc-e289cbbfad4e", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "dc44ec73-1c4f-47a1-81cc-e289cbbfad4e", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_13.mp3.meta b/assets/resources/FishSingle/music/deadfish_13.mp3.meta index b10b991..fd0eb71 100644 --- a/assets/resources/FishSingle/music/deadfish_13.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_13.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "f83843cf-9c96-428a-8215-f6f288ab7571", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "f83843cf-9c96-428a-8215-f6f288ab7571", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_14.mp3.meta b/assets/resources/FishSingle/music/deadfish_14.mp3.meta index a3ad422..d26403a 100644 --- a/assets/resources/FishSingle/music/deadfish_14.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_14.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "8cca0694-1ffd-43b8-b1d6-20dfaf6b13e0", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "8cca0694-1ffd-43b8-b1d6-20dfaf6b13e0", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_15.mp3.meta b/assets/resources/FishSingle/music/deadfish_15.mp3.meta index ef336ba..303f229 100644 --- a/assets/resources/FishSingle/music/deadfish_15.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_15.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "d793b90b-647e-4edc-8979-4cafda7656c2", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "d793b90b-647e-4edc-8979-4cafda7656c2", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_16.mp3.meta b/assets/resources/FishSingle/music/deadfish_16.mp3.meta index 30d8216..04540b3 100644 --- a/assets/resources/FishSingle/music/deadfish_16.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_16.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "fdc5672a-5430-4a47-9a85-aed2f0509341", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "fdc5672a-5430-4a47-9a85-aed2f0509341", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_17.mp3.meta b/assets/resources/FishSingle/music/deadfish_17.mp3.meta index 765ed5d..849f7e2 100644 --- a/assets/resources/FishSingle/music/deadfish_17.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_17.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "b56bb6b6-2420-42d4-873c-1c22fbe0f339", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "b56bb6b6-2420-42d4-873c-1c22fbe0f339", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_18.mp3.meta b/assets/resources/FishSingle/music/deadfish_18.mp3.meta index 273b021..bcd7c23 100644 --- a/assets/resources/FishSingle/music/deadfish_18.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_18.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "9a4aa9ec-a79e-4c4b-8743-7277a357a2f7", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "9a4aa9ec-a79e-4c4b-8743-7277a357a2f7", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_19.mp3.meta b/assets/resources/FishSingle/music/deadfish_19.mp3.meta index 982059f..1d7460c 100644 --- a/assets/resources/FishSingle/music/deadfish_19.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_19.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "edee9a0e-5b64-442a-a7bc-47a6c50f107c", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "edee9a0e-5b64-442a-a7bc-47a6c50f107c", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_2.mp3.meta b/assets/resources/FishSingle/music/deadfish_2.mp3.meta index a7c0757..c5b900d 100644 --- a/assets/resources/FishSingle/music/deadfish_2.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_2.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "27e3f4ae-fc4c-4b9f-bbd5-c5ba2f7547c2", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "27e3f4ae-fc4c-4b9f-bbd5-c5ba2f7547c2", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_20.mp3.meta b/assets/resources/FishSingle/music/deadfish_20.mp3.meta index e4ff8d6..393c71f 100644 --- a/assets/resources/FishSingle/music/deadfish_20.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_20.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "c6de1baf-101a-4c2c-b5e8-ea25cd3a24f2", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "c6de1baf-101a-4c2c-b5e8-ea25cd3a24f2", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_21.mp3.meta b/assets/resources/FishSingle/music/deadfish_21.mp3.meta index 8e5f300..475bff0 100644 --- a/assets/resources/FishSingle/music/deadfish_21.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_21.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "6daebd00-730c-4c47-aa72-acd63254dab2", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "6daebd00-730c-4c47-aa72-acd63254dab2", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_22.mp3.meta b/assets/resources/FishSingle/music/deadfish_22.mp3.meta index 9591788..8e25a07 100644 --- a/assets/resources/FishSingle/music/deadfish_22.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_22.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "234cffd8-4744-4dc6-941f-b98d4530eb24", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "234cffd8-4744-4dc6-941f-b98d4530eb24", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_23.mp3.meta b/assets/resources/FishSingle/music/deadfish_23.mp3.meta index 0078003..fcfb587 100644 --- a/assets/resources/FishSingle/music/deadfish_23.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_23.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "6046870d-9ab4-49be-bd07-88a608e96fe6", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "6046870d-9ab4-49be-bd07-88a608e96fe6", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_24.mp3.meta b/assets/resources/FishSingle/music/deadfish_24.mp3.meta index f657a59..658610c 100644 --- a/assets/resources/FishSingle/music/deadfish_24.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_24.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "8da2ed4d-1e4e-4973-b227-7927a651671d", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "8da2ed4d-1e4e-4973-b227-7927a651671d", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_25.mp3.meta b/assets/resources/FishSingle/music/deadfish_25.mp3.meta index 118763a..8972944 100644 --- a/assets/resources/FishSingle/music/deadfish_25.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_25.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "b4488025-7a09-494d-aed4-b00114c8e530", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "b4488025-7a09-494d-aed4-b00114c8e530", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_26.mp3.meta b/assets/resources/FishSingle/music/deadfish_26.mp3.meta index 157d5a9..70390d5 100644 --- a/assets/resources/FishSingle/music/deadfish_26.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_26.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "915baefe-87ed-4bb9-a2c0-996e245055c9", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "915baefe-87ed-4bb9-a2c0-996e245055c9", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_27.mp3.meta b/assets/resources/FishSingle/music/deadfish_27.mp3.meta index e1f9baa..12fd862 100644 --- a/assets/resources/FishSingle/music/deadfish_27.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_27.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "2c19eb6c-14d7-4bf9-b1f9-ded5fae1e366", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "2c19eb6c-14d7-4bf9-b1f9-ded5fae1e366", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_28.mp3.meta b/assets/resources/FishSingle/music/deadfish_28.mp3.meta index eb81419..da4c16b 100644 --- a/assets/resources/FishSingle/music/deadfish_28.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_28.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "b9ac8d55-fcfd-4b5f-b5c3-f6b5a881f7ec", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "b9ac8d55-fcfd-4b5f-b5c3-f6b5a881f7ec", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_29.mp3.meta b/assets/resources/FishSingle/music/deadfish_29.mp3.meta index cf3ca4c..368ec80 100644 --- a/assets/resources/FishSingle/music/deadfish_29.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_29.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "8b3b52b3-5679-49ac-a644-7f13535317ce", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "8b3b52b3-5679-49ac-a644-7f13535317ce", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_3.mp3.meta b/assets/resources/FishSingle/music/deadfish_3.mp3.meta index 14f92f8..64d93cd 100644 --- a/assets/resources/FishSingle/music/deadfish_3.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_3.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "b9357727-e3f4-4573-b821-973ed1131d66", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "b9357727-e3f4-4573-b821-973ed1131d66", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_30.mp3.meta b/assets/resources/FishSingle/music/deadfish_30.mp3.meta index 18ee764..36b124d 100644 --- a/assets/resources/FishSingle/music/deadfish_30.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_30.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "9ee5cd15-6e67-40b7-998f-aa0e78d3b2af", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "9ee5cd15-6e67-40b7-998f-aa0e78d3b2af", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_4.mp3.meta b/assets/resources/FishSingle/music/deadfish_4.mp3.meta index 7052552..1ab86b7 100644 --- a/assets/resources/FishSingle/music/deadfish_4.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_4.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "8e72fd0d-a79c-4931-94e7-fdef6f279750", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "8e72fd0d-a79c-4931-94e7-fdef6f279750", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_5.mp3.meta b/assets/resources/FishSingle/music/deadfish_5.mp3.meta index 0d89e13..a30c039 100644 --- a/assets/resources/FishSingle/music/deadfish_5.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_5.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "6dc65b2a-a101-451b-a230-929333bc97bc", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "6dc65b2a-a101-451b-a230-929333bc97bc", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_6.mp3.meta b/assets/resources/FishSingle/music/deadfish_6.mp3.meta index 73e85e4..d54e145 100644 --- a/assets/resources/FishSingle/music/deadfish_6.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_6.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "757264ac-1638-431d-afa3-12a191837cc1", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "757264ac-1638-431d-afa3-12a191837cc1", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_7.mp3.meta b/assets/resources/FishSingle/music/deadfish_7.mp3.meta index 4b76e80..312e5c6 100644 --- a/assets/resources/FishSingle/music/deadfish_7.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_7.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "15afe22a-bfd0-422f-9cc5-22ab256eb8e9", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "15afe22a-bfd0-422f-9cc5-22ab256eb8e9", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_8.mp3.meta b/assets/resources/FishSingle/music/deadfish_8.mp3.meta index b7a181e..776f932 100644 --- a/assets/resources/FishSingle/music/deadfish_8.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_8.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "9fa5ab4f-161c-47e8-ae45-61cf95935185", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "9fa5ab4f-161c-47e8-ae45-61cf95935185", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/deadfish_9.mp3.meta b/assets/resources/FishSingle/music/deadfish_9.mp3.meta index dee0302..eb4694b 100644 --- a/assets/resources/FishSingle/music/deadfish_9.mp3.meta +++ b/assets/resources/FishSingle/music/deadfish_9.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "d2ec3cc9-a741-4b4c-ae6d-cd7c9b4373ba", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "d2ec3cc9-a741-4b4c-ae6d-cd7c9b4373ba", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/music/fire.mp3.meta b/assets/resources/FishSingle/music/fire.mp3.meta index 35d1e92..7cd1f8a 100644 --- a/assets/resources/FishSingle/music/fire.mp3.meta +++ b/assets/resources/FishSingle/music/fire.mp3.meta @@ -1,14 +1,14 @@ -{ - "ver": "1.0.0", - "importer": "audio-clip", - "imported": true, - "uuid": "e25f2589-289e-4716-9bee-2bb82cf394d1", - "files": [ - ".json", - ".mp3" - ], - "subMetas": {}, - "userData": { - "downloadMode": 0 - } -} +{ + "ver": "1.0.0", + "importer": "audio-clip", + "imported": true, + "uuid": "e25f2589-289e-4716-9bee-2bb82cf394d1", + "files": [ + ".json", + ".mp3" + ], + "subMetas": {}, + "userData": { + "downloadMode": 0 + } +} diff --git a/assets/resources/FishSingle/share.meta b/assets/resources/FishSingle/share.meta index cfdd1be..92a7015 100644 --- a/assets/resources/FishSingle/share.meta +++ b/assets/resources/FishSingle/share.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "0a9e2c13-be63-4a00-a02b-e3040188f553", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "0a9e2c13-be63-4a00-a02b-e3040188f553", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/share/uicomponent.meta b/assets/resources/FishSingle/share/uicomponent.meta index 3940c4c..6cb8a12 100644 --- a/assets/resources/FishSingle/share/uicomponent.meta +++ b/assets/resources/FishSingle/share/uicomponent.meta @@ -1,12 +1,12 @@ -{ - "ver": "1.2.0", - "importer": "directory", - "imported": true, - "uuid": "f4819d0d-1ee0-4853-a634-f23709aca18e", - "files": [], - "subMetas": {}, - "userData": { - "compressionType": {}, - "isRemoteBundle": {} - } -} +{ + "ver": "1.2.0", + "importer": "directory", + "imported": true, + "uuid": "f4819d0d-1ee0-4853-a634-f23709aca18e", + "files": [], + "subMetas": {}, + "userData": { + "compressionType": {}, + "isRemoteBundle": {} + } +} diff --git a/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab b/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab index 6f99b9a..8637e4f 100644 --- a/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab +++ b/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab @@ -1,534 +1,534 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "CommonTips", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "CommonTips", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 10 - } - ], - "_active": true, - "_components": [ - { - "__id__": 20 - }, - { - "__id__": 22 - }, - { - "__id__": 24 - }, - { - "__id__": 26 - } - ], - "_prefab": { - "__id__": 28 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -50, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "tipsbg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 7 - } - ], - "_prefab": { - "__id__": 9 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "3832782c-3213-48e7-954d-7a4faba8c748@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "16ELr+VN5Jho66Dnvbgg/I" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "0ekyA4jG5J7onByq7RrrL+" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 8 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 900, - "height": 60 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8cw5EYdURMqYPpIf0efoFY" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "89cfkJooROd4if9TPEqgbw" - }, - { - "__type__": "cc.Node", - "_name": "txtContent", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 11 - }, - { - "__id__": 13 - }, - { - "__id__": 15 - }, - { - "__id__": 17 - } - ], - "_prefab": { - "__id__": 19 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 12 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_useOriginalSize": false, - "_string": "网络异常", - "_horizontalAlign": 1, - "_verticalAlign": 1, - "_actualFontSize": 0, - "_fontSize": 30, - "_fontFamily": "Arial", - "_lineHeight": 50, - "_overflow": 0, - "_enableWrapText": true, - "_font": null, - "_isSystemFontUsed": true, - "_isItalic": false, - "_isBold": false, - "_isUnderline": false, - "_underlineHeight": 0, - "_cacheMode": 0, - "_spacingX": 0, - "_batchAsBitmap": false, - "_id": "", - "_enableOutline": true, - "_outlineColor": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "93pZSnNupL6LoBv0lEIM0Q" - }, - { - "__type__": "cc.LabelOutline", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 14 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e3KvL0dgBIq6LpEnLqOOGv" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 16 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "2a3+vsI7FNGJy5U7SVjy0m" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "__prefab": { - "__id__": 18 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 128, - "height": 71 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "50oZYHB71Gt6oTL65Cyhuc" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "1emQksmmBBELDHFy3K6kf9" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": false, - "__prefab": { - "__id__": 21 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": null, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "00S0sbhGdAA5KvdU3PIxNz" - }, - { - "__type__": "4524fDvMZpPIJ1i/jWbvLxx", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "txtContent": { - "__id__": 11 - }, - "_id": "", - "__prefab": { - "__id__": 23 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "bfrDTkjZxL2otb+QCUOQeZ" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 25 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "1fdThHXZNHOY/ENa1zm2Ic" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 27 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 900, - "height": 92 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "02lJl6aBhGyoDXrN8Dqrwc" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "9foBeMuZpE2rJNA4Ic4XEu" - } +[ + { + "__type__": "cc.Prefab", + "_name": "CommonTips", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "CommonTips", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + }, + { + "__id__": 10 + } + ], + "_active": true, + "_components": [ + { + "__id__": 20 + }, + { + "__id__": 22 + }, + { + "__id__": 24 + }, + { + "__id__": 26 + } + ], + "_prefab": { + "__id__": 28 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": -50, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "tipsbg", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "3832782c-3213-48e7-954d-7a4faba8c748@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "16ELr+VN5Jho66Dnvbgg/I" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "0ekyA4jG5J7onByq7RrrL+" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 900, + "height": 60 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8cw5EYdURMqYPpIf0efoFY" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "89cfkJooROd4if9TPEqgbw" + }, + { + "__type__": "cc.Node", + "_name": "txtContent", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 11 + }, + { + "__id__": 13 + }, + { + "__id__": 15 + }, + { + "__id__": 17 + } + ], + "_prefab": { + "__id__": 19 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Label", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 12 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_useOriginalSize": false, + "_string": "网络异常", + "_horizontalAlign": 1, + "_verticalAlign": 1, + "_actualFontSize": 0, + "_fontSize": 30, + "_fontFamily": "Arial", + "_lineHeight": 50, + "_overflow": 0, + "_enableWrapText": true, + "_font": null, + "_isSystemFontUsed": true, + "_isItalic": false, + "_isBold": false, + "_isUnderline": false, + "_underlineHeight": 0, + "_cacheMode": 0, + "_spacingX": 0, + "_batchAsBitmap": false, + "_id": "", + "_enableOutline": true, + "_outlineColor": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "93pZSnNupL6LoBv0lEIM0Q" + }, + { + "__type__": "cc.LabelOutline", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 14 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e3KvL0dgBIq6LpEnLqOOGv" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 16 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "2a3+vsI7FNGJy5U7SVjy0m" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 10 + }, + "_enabled": true, + "__prefab": { + "__id__": 18 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 128, + "height": 71 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "50oZYHB71Gt6oTL65Cyhuc" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "1emQksmmBBELDHFy3K6kf9" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": false, + "__prefab": { + "__id__": 21 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": null, + "_type": 1, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "00S0sbhGdAA5KvdU3PIxNz" + }, + { + "__type__": "4524fDvMZpPIJ1i/jWbvLxx", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "txtContent": { + "__id__": 11 + }, + "_id": "", + "__prefab": { + "__id__": 23 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "bfrDTkjZxL2otb+QCUOQeZ" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 25 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "1fdThHXZNHOY/ENa1zm2Ic" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 27 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 900, + "height": 92 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "02lJl6aBhGyoDXrN8Dqrwc" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "9foBeMuZpE2rJNA4Ic4XEu" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab.meta b/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab.meta index 5723d19..d476364 100644 --- a/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab.meta +++ b/assets/resources/FishSingle/share/uicomponent/CommonTips.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "a76e6f94-f9a2-47a8-bdf2-ccb9662d5d69", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "CommonTips" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "a76e6f94-f9a2-47a8-bdf2-ccb9662d5d69", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "CommonTips" + } +} diff --git a/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab b/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab index c620f40..db42383 100644 --- a/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab +++ b/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab @@ -1,285 +1,285 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "DarkLayer", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "DarkLayer", - "_objFlags": 0, - "_parent": null, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 2 - }, - { - "__id__": 4 - }, - { - "__id__": 6 - }, - { - "__id__": 8 - }, - { - "__id__": 10 - }, - { - "__id__": 12 - } - ], - "_prefab": { - "__id__": 14 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 480, - "y": 320, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 3 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a4ugtwuc9AEaNXlAIwBZNP" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 5 - }, - "clickEvents": [], - "_interactable": false, - "_transition": 0, - "_normalColor": { - "__type__": "cc.Color", - "r": 214, - "g": 214, - "b": 214, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": null, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": { - "__id__": 1 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "3e2S21Q+BIE7UKWEXgKDlt" - }, - { - "__type__": "4fa81G9nNVKxq2H1o9KQdzf", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "_id": "", - "__prefab": { - "__id__": 7 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8c8Y1fxCVG1pjJiXzXPih/" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 9 - }, - "_alignFlags": 45, - "_target": null, - "_left": -480, - "_right": -480, - "_top": -220, - "_bottom": -220, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1920, - "_originalHeight": 1080, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "12ztu1TlxF55CHA0ZSb312" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 11 - }, - "_opacity": 100 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "ce8AdVXLRDYJhyMFWyVCxp" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 13 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1920, - "height": 1080 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "abg12zF9hJU7YCeScoBWb0" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "2bTbhrKK1DZI5lz26QHOZs" - } +[ + { + "__type__": "cc.Prefab", + "_name": "DarkLayer", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "DarkLayer", + "_objFlags": 0, + "_parent": null, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 2 + }, + { + "__id__": 4 + }, + { + "__id__": 6 + }, + { + "__id__": 8 + }, + { + "__id__": 10 + }, + { + "__id__": 12 + } + ], + "_prefab": { + "__id__": 14 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 480, + "y": 320, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 3 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 0, + "g": 0, + "b": 0, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "a4ugtwuc9AEaNXlAIwBZNP" + }, + { + "__type__": "cc.Button", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 5 + }, + "clickEvents": [], + "_interactable": false, + "_transition": 0, + "_normalColor": { + "__type__": "cc.Color", + "r": 214, + "g": 214, + "b": 214, + "a": 255 + }, + "_hoverColor": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_pressedColor": { + "__type__": "cc.Color", + "r": 211, + "g": 211, + "b": 211, + "a": 255 + }, + "_disabledColor": { + "__type__": "cc.Color", + "r": 124, + "g": 124, + "b": 124, + "a": 255 + }, + "_normalSprite": null, + "_hoverSprite": null, + "_pressedSprite": null, + "_disabledSprite": null, + "_duration": 0.1, + "_zoomScale": 1.2, + "_target": { + "__id__": 1 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "3e2S21Q+BIE7UKWEXgKDlt" + }, + { + "__type__": "4fa81G9nNVKxq2H1o9KQdzf", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "_id": "", + "__prefab": { + "__id__": 7 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "8c8Y1fxCVG1pjJiXzXPih/" + }, + { + "__type__": "cc.Widget", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 9 + }, + "_alignFlags": 45, + "_target": null, + "_left": -480, + "_right": -480, + "_top": -220, + "_bottom": -220, + "_horizontalCenter": 0, + "_verticalCenter": 0, + "_isAbsLeft": true, + "_isAbsRight": true, + "_isAbsTop": true, + "_isAbsBottom": true, + "_isAbsHorizontalCenter": true, + "_isAbsVerticalCenter": true, + "_originalWidth": 1920, + "_originalHeight": 1080, + "_alignMode": 2, + "_lockFlags": 0, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "12ztu1TlxF55CHA0ZSb312" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 11 + }, + "_opacity": 100 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "ce8AdVXLRDYJhyMFWyVCxp" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 13 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1920, + "height": 1080 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "abg12zF9hJU7YCeScoBWb0" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "2bTbhrKK1DZI5lz26QHOZs" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab.meta b/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab.meta index 8f6c33d..c24dc54 100644 --- a/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab.meta +++ b/assets/resources/FishSingle/share/uicomponent/DarkLayer.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "72d37b61-0ae8-4139-9e96-dfa248678beb", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "DarkLayer" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "72d37b61-0ae8-4139-9e96-dfa248678beb", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "DarkLayer" + } +} diff --git a/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab b/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab index aec3424..1365b45 100644 --- a/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab +++ b/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab @@ -1,319 +1,319 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "LoadingPrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "LoadingPrefab", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - } - ], - "_active": true, - "_components": [ - { - "__id__": 10 - }, - { - "__id__": 12 - }, - { - "__id__": 14 - }, - { - "__id__": 16 - } - ], - "_prefab": { - "__id__": 18 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "loadingSp", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 7 - } - ], - "_prefab": { - "__id__": 9 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "27q5EnTAFIJanTPnRXD7jl" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "6bb1HygjJO05EDyNTm5xKQ" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 8 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 50, - "height": 50 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "58lxwQX9tORp6b8Xdq6ElG" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "0eqIiqr/NOgIBU6KZpZ/uR" - }, - { - "__type__": "17255n0balMXaC0r59RFvAh", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "loadingSp": { - "__id__": 2 - }, - "_id": "", - "__prefab": { - "__id__": 11 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e7M4LMP/5CbLnDL+3R/yD2" - }, - { - "__type__": "cc.BlockInputEvents", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 13 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "77zOzFADZDY4c8kiZBzFNC" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 15 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "f7b4VitTxB/pqni++vF1kJ" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "__prefab": { - "__id__": 17 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 1920, - "height": 1080 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "29k08q6vJMpppqvrsAslRB" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "c42lH8bGBFqIB1IyWjcYn8" - } +[ + { + "__type__": "cc.Prefab", + "_name": "LoadingPrefab", + "_objFlags": 0, + "_native": "", + "data": { + "__id__": 1 + }, + "optimizationPolicy": 0, + "asyncLoadAssets": false, + "readonly": false, + "persistent": false + }, + { + "__type__": "cc.Node", + "_name": "LoadingPrefab", + "_objFlags": 0, + "_parent": null, + "_children": [ + { + "__id__": 2 + } + ], + "_active": true, + "_components": [ + { + "__id__": 10 + }, + { + "__id__": 12 + }, + { + "__id__": 14 + }, + { + "__id__": 16 + } + ], + "_prefab": { + "__id__": 18 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Node", + "_name": "loadingSp", + "_objFlags": 0, + "_parent": { + "__id__": 1 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 3 + }, + { + "__id__": 5 + }, + { + "__id__": 7 + } + ], + "_prefab": { + "__id__": 9 + }, + "_lpos": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_lrot": { + "__type__": "cc.Quat", + "x": 0, + "y": 0, + "z": 0, + "w": 1 + }, + "_lscale": { + "__type__": "cc.Vec3", + "x": 1, + "y": 1, + "z": 1 + }, + "_layer": 1, + "_euler": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 4 + }, + "_customMaterial": { + "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" + }, + "_visFlags": 0, + "_srcBlendFactor": 2, + "_dstBlendFactor": 4, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_spriteFrame": { + "__uuid__": "4f24361b-88e7-43c8-9824-9b4e1ff3224d@f9941" + }, + "_type": 0, + "_fillType": 0, + "_sizeMode": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_useGrayscale": false, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "27q5EnTAFIJanTPnRXD7jl" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 6 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "6bb1HygjJO05EDyNTm5xKQ" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 2 + }, + "_enabled": true, + "__prefab": { + "__id__": 8 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 50, + "height": 50 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "58lxwQX9tORp6b8Xdq6ElG" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "0eqIiqr/NOgIBU6KZpZ/uR" + }, + { + "__type__": "17255n0balMXaC0r59RFvAh", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "loadingSp": { + "__id__": 2 + }, + "_id": "", + "__prefab": { + "__id__": 11 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "e7M4LMP/5CbLnDL+3R/yD2" + }, + { + "__type__": "cc.BlockInputEvents", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 13 + }, + "_id": "" + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "77zOzFADZDY4c8kiZBzFNC" + }, + { + "__type__": "cc.UIOpacity", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 15 + }, + "_opacity": 255 + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "f7b4VitTxB/pqni++vF1kJ" + }, + { + "__type__": "cc.UITransform", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 1 + }, + "_enabled": true, + "__prefab": { + "__id__": 17 + }, + "_priority": 0, + "_contentSize": { + "__type__": "cc.Size", + "width": 1920, + "height": 1080 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + } + }, + { + "__type__": "cc.CompPrefabInfo", + "fileId": "29k08q6vJMpppqvrsAslRB" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "c42lH8bGBFqIB1IyWjcYn8" + } ] \ No newline at end of file diff --git a/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab.meta b/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab.meta index a762e61..11727a2 100644 --- a/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab.meta +++ b/assets/resources/FishSingle/share/uicomponent/LoadingPrefab.prefab.meta @@ -1,13 +1,13 @@ -{ - "ver": "1.1.50", - "importer": "prefab", - "imported": true, - "uuid": "13dd169b-ffe3-494e-94cd-1f45016f639e", - "files": [ - ".json" - ], - "subMetas": {}, - "userData": { - "syncNodeName": "LoadingPrefab" - } -} +{ + "ver": "1.1.50", + "importer": "prefab", + "imported": true, + "uuid": "13dd169b-ffe3-494e-94cd-1f45016f639e", + "files": [ + ".json" + ], + "subMetas": {}, + "userData": { + "syncNodeName": "LoadingPrefab" + } +} diff --git a/assets/resources/FishSingle/share/uicomponent/LoadingScenePrefab.prefab b/assets/resources/FishSingle/share/uicomponent/LoadingScenePrefab.prefab index fc17363..3907701 100644 --- a/assets/resources/FishSingle/share/uicomponent/LoadingScenePrefab.prefab +++ b/assets/resources/FishSingle/share/uicomponent/LoadingScenePrefab.prefab @@ -1,1082 +1,1082 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "LoadingScenePrefab", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false, - "persistent": false - }, - { - "__type__": "cc.Node", - "_name": "LoadingScenePrefab", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 16 - } - ], - "_active": true, - "_components": [ - { - "__id__": 52 - }, - { - "__id__": 54 - }, - { - "__id__": 56 - } - ], - "_prefab": { - "__id__": 58 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 480, - "y": 320, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "DarkLayer", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 5 - }, - { - "__id__": 7 - }, - { - "__id__": 9 - }, - { - "__id__": 11 - }, - { - "__id__": 13 - } - ], - "_prefab": { - "__id__": 15 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 4 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "7d8f9b89-4fd1-4c9f-a3ab-38ec7cded7ca@f9941" - }, - "_type": 0, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "5bdLo+LrNHPpvWgTlsazMc" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 6 - }, - "clickEvents": [], - "_interactable": false, - "_transition": 0, - "_normalColor": { - "__type__": "cc.Color", - "r": 214, - "g": 214, - "b": 214, - "a": 255 - }, - "_hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_normalSprite": null, - "_hoverSprite": null, - "_pressedSprite": null, - "_disabledSprite": null, - "_duration": 0.1, - "_zoomScale": 1.2, - "_target": { - "__id__": 2 - }, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "41/BMXT4FAjYHgZn11uzGw" - }, - { - "__type__": "4fa81G9nNVKxq2H1o9KQdzf", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_id": "", - "__prefab": { - "__id__": 8 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "98ugibxxFKr5x7PEOW41Vp" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 10 - }, - "_alignFlags": 45, - "_target": null, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_horizontalCenter": 0, - "_verticalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1920, - "_originalHeight": 1080, - "_alignMode": 2, - "_lockFlags": 0, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "41RdOg/pdOh4nNS7n4hhjr" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 12 - }, - "_opacity": 100 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "a8dI1+WYRA04B59V1yfHk+" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "__prefab": { - "__id__": 14 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 960, - "height": 540 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "03MkjlNkROb63geKQzmB8t" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b0OGQzfAZLVo32r6+oO6Ba" - }, - { - "__type__": "cc.Node", - "_name": "ProgressPrefab", - "_objFlags": 512, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 17 - }, - { - "__id__": 25 - }, - { - "__id__": 33 - } - ], - "_active": true, - "_components": [ - { - "__id__": 43 - }, - { - "__id__": 45 - }, - { - "__id__": 47 - }, - { - "__id__": 49 - } - ], - "_prefab": { - "__id__": 51 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": -222, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 16 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 18 - }, - { - "__id__": 20 - }, - { - "__id__": 22 - } - ], - "_prefab": { - "__id__": 24 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "bg", - "_objFlags": 0, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": { - "__id__": 19 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "74d83879-8162-4333-b05a-9773f866baf7@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "83K0iwml5KFaNzM5J9IYcb" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": { - "__id__": 21 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e6cJQt3nRDlqMh7KD1MwcT" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 17 - }, - "_enabled": true, - "__prefab": { - "__id__": 23 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 852, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "8blS4thJhHKLjYGCalYcao" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "acTrl4ykJBP6WDI2+7vtIf" - }, - { - "__type__": "cc.Node", - "_name": "bar", - "_objFlags": 0, - "_parent": { - "__id__": 16 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 26 - }, - { - "__id__": 28 - }, - { - "__id__": 30 - } - ], - "_prefab": { - "__id__": 32 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": -425.5, - "y": -0.10000000149011612, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "bar", - "_objFlags": 0, - "node": { - "__id__": 25 - }, - "_enabled": true, - "__prefab": { - "__id__": 27 - }, - "_customMaterial": { - "__uuid__": "fda095cb-831d-4601-ad94-846013963de8" - }, - "_visFlags": 0, - "_srcBlendFactor": 2, - "_dstBlendFactor": 4, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_spriteFrame": { - "__uuid__": "2873a640-2652-44bc-9cf2-e74e7499dbf1@f9941" - }, - "_type": 1, - "_fillType": 0, - "_sizeMode": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_useGrayscale": false, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "26mUBwG4pLoLsJ+tYATlzI" - }, - { - "__type__": "cc.UIOpacity", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 25 - }, - "_enabled": true, - "__prefab": { - "__id__": 29 - }, - "_opacity": 255 - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "e1s7iSkHtGXL1ISbZT1plz" - }, - { - "__type__": "cc.UITransform", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 25 - }, - "_enabled": true, - "__prefab": { - "__id__": 31 - }, - "_priority": 0, - "_contentSize": { - "__type__": "cc.Size", - "width": 850, - "height": 20 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0.5 - } - }, - { - "__type__": "cc.CompPrefabInfo", - "fileId": "200BnznSZDX7yPlpEG8MHh" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "98bBBbp9NMKocq6Fg1VqsB" - }, - { - "__type__": "cc.Node", - "_name": "label", - "_objFlags": 0, - "_parent": { - "__id__": 16 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 34 - }, - { - "__id__": 36 - }, - { - "__id__": 38 - }, - { - "__id__": 40 - } - ], - "_prefab": { - "__id__": 42 - }, - "_lpos": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_lrot": { - "__type__": "cc.Quat", - "x": 0, - "y": 0, - "z": 0, - "w": 1 - }, - "_lscale": { - "__type__": "cc.Vec3", - "x": 1, - "y": 1, - "z": 1 - }, - "_layer": 1, - "_euler": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_id": "" - }, - { - "__type__": "cc.Label", - "_name": "label