diff --git a/assets/GameplayIntro/compressed.meta b/assets/GameplayIntro/compressed.meta deleted file mode 100644 index 4c96a1d0..00000000 --- a/assets/GameplayIntro/compressed.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "491356dd-e7a1-43b9-8d71-79a8ae4c56a5", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Scene/GameScene.fire b/assets/Scene/GameScene.fire index a6eec5ab..0e4cd060 100644 --- a/assets/Scene/GameScene.fire +++ b/assets/Scene/GameScene.fire @@ -5170,18 +5170,7 @@ "MapBlockPrefab": { "__uuid__": "6023e99b-9806-44e9-8325-487a6cfdf3e5" }, - "VinePrefab": { - "__uuid__": "044002ff-89b0-43b1-9f05-2b64c057b755" - }, - "hourglassPrefab": { - "__uuid__": "54e4d6f7-56a9-4a9a-ac1b-5fe8f0c19b08" - }, - "rocketPrefab": { - "__uuid__": "856d5b25-8b93-4463-92fd-348ff7ae798c" - }, - "rocketBoxPrefab": { - "__uuid__": "6790907b-e558-4c95-b3a2-3f87485e3d48" - }, + "VinePrefab": null, "Wall_Prefab": [ null ], @@ -14600,12 +14589,6 @@ "__id__": 2 }, "_enabled": true, - "threeWinsPrefab": { - "__uuid__": "abc8f49b-e719-4eb4-8b01-8f7ed6a909c9" - }, - "threeWinsFont": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, "label": null, "text": "hello", "freeze": { diff --git a/assets/Script/Block.ts b/assets/Script/Block.ts index 3d2adb7d..7fb456a5 100644 --- a/assets/Script/Block.ts +++ b/assets/Script/Block.ts @@ -1506,7 +1506,7 @@ export default class Block extends cc.Component { // ============================================ touchStart(event) { if (this.spawnLocked || this.over || MapConroler._instance.gameOver || MapConroler._instance.touchIng - || MapConroler._instance.oldRainbowPreparing || MapConroler._instance.startBoostPreparing) return; + || MapConroler._instance.oldRainbowPreparing) return; if (this.oldRainbow) this.refreshOldRainbowVisual(); // 返回世界坐标 let touchLoc = event.getLocation(); diff --git a/assets/Script/GameManager.ts b/assets/Script/GameManager.ts index a5b93fe3..30b12a58 100644 --- a/assets/Script/GameManager.ts +++ b/assets/Script/GameManager.ts @@ -19,7 +19,6 @@ import ClientUpdate from "./module/Config/ClientUpdate"; import DailyTaskProgressTracker from "./module/Task/DailyTaskProgressTracker"; import ServerEnvironment from "./module/Config/ServerEnvironment"; import ServerSwitch from "./module/Config/ServerSwitch"; -import ThreeWinStreak from "./ThreeWinStreak"; const { ccclass, property } = cc._decorator; @@ -84,7 +83,6 @@ export default class GameManager extends cc.Component { // }); this.startTimeCutDown(); cc.fx.GameConfig.init(true); - ThreeWinStreak.restore(); ClientUpdate.initialize(); cc.fx.GameConfig.GM_INFO.sceneValue = "loadScene"; cc.fx.GameConfig.GM_INFO.gameState = false; @@ -485,7 +483,6 @@ export default class GameManager extends cc.Component { } // console.log("服务器强制刷新状态__________", data.data.forcedUpdate); //如果有连胜记录,就赋值 - ThreeWinStreak.restore(data.data, data.data.forcedUpdate === true); if (cc.fx.GameConfig.forceOldRainbowWinStreakC || cc.fx.GameConfig.forceRainbowWinStreakB) { cc.fx.GameConfig.GM_INFO.winStreak = 10; cc.fx.GameConfig.GM_INFO.winState = true; diff --git a/assets/Script/Map.ts b/assets/Script/Map.ts index fbea85a2..0ea9cc0d 100644 --- a/assets/Script/Map.ts +++ b/assets/Script/Map.ts @@ -4,9 +4,6 @@ import RainbowOldVisual from "./RainbowOldVisual"; import RainbowOldOpening from "./RainbowOldOpening"; import { oldRainbowPool, chooseOldRainbowTarget } from "./RainbowOldRules"; import { applyRainbowElimination } from "./RainbowCut"; -import StartBoostOpening from "./StartBoostOpening"; -import ThreeWinStreak from "./ThreeWinStreak"; -import { StartBoostLoadout, startBoostRewards, consumeCarriedStartBoost } from "./StartBoostLoadout"; // Learn TypeScript: // - https://docs.cocos.com/creator/manual/en/scripting/typescript.html // Learn Attribute: @@ -58,22 +55,6 @@ export default class MapConroler extends cc.Component { @property({ type: cc.Prefab, tooltip: "藤蔓预制体(未单独绑定时使用 Block_Prop[22])" }) VinePrefab: cc.Prefab = null; - @property(cc.Prefab) - hourglassPrefab: cc.Prefab = null; - @property(cc.Prefab) - rocketPrefab: cc.Prefab = null; - @property(cc.Prefab) - rocketBoxPrefab: cc.Prefab = null; - startBoostPreparing = false; - private startBoostOpening: StartBoostOpening = null; - private startBoostsApplied = false; - private startBoostLoadout: StartBoostLoadout = null; - private startBoostPanelOpening = false; - private startBoostKey = ""; - private static startBoostReplay: { key: string; loadout: StartBoostLoadout } = null; - threeWinStreak: ThreeWinStreak; - private startBoostAssetsLoading = false; - private startBoostAssets: cc.Prefab[] = []; private blockAssetsReady = false; oldRainbowPreparing = false; private oldRainbowEntryBlocker: cc.Node = null; @@ -338,15 +319,8 @@ export default class MapConroler extends cc.Component { cc.fx.GameConfig.GM_INFO.winState = true; } this.oldRainbowPreparing = cc.fx.GameConfig.isOldRainbowRewardActive(); - this.startBoostPreparing = cc.fx.GameConfig.isStartBoostersUnlocked(); - this.threeWinStreak = new ThreeWinStreak(this.startBoostPreparing); - const info = cc.fx.GameConfig.GM_INFO; - this.startBoostKey = `${info.level}:${info.GameplayType}:${info.otherLevel}`; - const replay = MapConroler.startBoostReplay; - if (this.startBoostPreparing && replay && replay.key === this.startBoostKey) this.startBoostLoadout = replay.loadout; - MapConroler.startBoostReplay = null; this.initBottomLayout(); - if (this.oldRainbowPreparing && !this.startBoostPreparing) { + if (this.oldRainbowPreparing) { this.oldRainbowEntryBlocker = new cc.Node("OldRainbowEntryBlocker"); this.oldRainbowEntryBlocker.setContentSize(cc.winSize); this.oldRainbowEntryBlocker.addComponent(cc.BlockInputEvents); @@ -446,7 +420,6 @@ export default class MapConroler extends cc.Component { const SceneManager = canvasTemp.getComponent("SceneManager"); if (SceneManager) { MapConroler._instance.SceneManager = SceneManager - if (this.startBoostPreparing) SceneManager.beginDynamicPopupLoad("startBoosters"); } else { // console.log("SceneManager 组件未找到"); } @@ -655,10 +628,6 @@ export default class MapConroler extends cc.Component { } onDestroy() { - if (this.startBoostOpening) this.startBoostOpening.dispose(); - this.startBoostAssets.forEach(prefab => prefab.decRef()); - this.startBoostAssets = []; - if (this.startBoostPreparing || this.startBoostsApplied) this.SceneManager?.finishDynamicPopupLoad("startBoosters"); if (this.oldRainbowOpening) this.oldRainbowOpening.dispose(); this.oldRainbowOpening = null; this.oldRainbowEntryReady = null; @@ -1125,7 +1094,7 @@ export default class MapConroler extends cc.Component { // 10. 发送游戏开始事件到服务器 // ============================================ startUpdate() { - if (this.oldRainbowPreparing || this.startBoostPreparing) return; + if (this.oldRainbowPreparing) return; // 停止冰冻外圈特效 this.onBlockClick(); if (this.iceTrue() == true) { @@ -1137,7 +1106,6 @@ export default class MapConroler extends cc.Component { } if (this.gameStart == false) { this.gameStart = true; - this.threeWinStreak.begin(); let power = cc.fx.GameTool.getUserPowerTime(); if (!power) { cc.fx.GameTool.setUserHealth(-1, (data) => { @@ -1164,7 +1132,6 @@ export default class MapConroler extends cc.Component { "is_frenzy": this.is_frenzy, "infinity": endLevel, "win_streak": cc.fx.GameConfig.GM_INFO.winStreak, - "pilot_drop": this.startBoostLoadout ? this.startBoostLoadout.streak : 0, } if (cc.fx.GameConfig.GM_INFO.winStreak >= 10 && cc.fx.GameConfig.GM_INFO.otherLevel == 0) { cc.fx.GameConfig.GM_INFO.winState = cc.fx.GameConfig.forceOldRainbowWinStreakC || cc.fx.GameConfig.forceRainbowWinStreakB; @@ -1193,28 +1160,6 @@ export default class MapConroler extends cc.Component { // ============================================ rainbowStreak: RainbowStreak = null; - private updateStartBoostOpening(dt: number): void { - const transition = this.node.parent.parent.parent.getChildByName("zhuanchang"); - if (transition && transition.active) return; - if (!this.startBoostsApplied) { - if (!this.startBoostLoadout) return; - const rewards = startBoostRewards(this.startBoostLoadout.streak); - const hasBoosts = rewards.hourglass + rewards.rocket + Number(this.startBoostLoadout.hourglass) + Number(this.startBoostLoadout.rocket) > 0; - if (hasBoosts && (!this.startBoostOpening || !this.startBoostOpening.update(dt, false))) return; - if (this.startBoostOpening) { - this.startBoostOpening.dispose(); - this.startBoostOpening = null; - } - this.startBoostsApplied = true; - if (this.rainbowStreak) { - this.rainbowStreak.startOpening(); - return; - } - } else if (this.rainbowStreak && !this.rainbowStreak.updateOpening(dt)) return; - this.startBoostPreparing = false; - if (this.oldRainbowEntryReady) this.oldRainbowEntryReady(); - } - /** 同一地图只在初始化完成时调用;空池也完成本次机会,复活不重发。 */ private applyOldRainbowAtStart(): void { if (!this.oldRainbowPreparing || this.oldRainbowOpening) return; @@ -1453,78 +1398,19 @@ export default class MapConroler extends cc.Component { const schedulePopupWarmup = () => { if (!wallReady || !blockReady || popupWarmupScheduled) return; if (!this.isMapRuntimeAlive()) return; - if (this.oldRainbowPreparing || this.startBoostPreparing) { + if (this.oldRainbowPreparing) { this.oldRainbowEntryReady = schedulePopupWarmup; // 首次进关先揭幕;飞行时钟会等待转场真正结束。 if (this.waitingForFirstEntry) this.finishFirstGameplayEntry(true); } try { - if (this.startBoostPreparing) { - if (!this.startBoostLoadout) { - if (this.startBoostPanelOpening) return; - this.SceneManager.openThreeWins(selection => { - if (!this.isMapRuntimeAlive()) return; - this.startBoostLoadout = { streak: cc.fx.GameConfig.GM_INFO.threeWinStreak, ...selection }; - this.SceneManager.beginDynamicPopupLoad("startBoosters"); - schedulePopupWarmup(); - }); - this.startBoostPanelOpening = true; - return; - } - const rewards = startBoostRewards(this.startBoostLoadout.streak); - if (!rewards.hourglass && !rewards.rocket && !this.startBoostLoadout.hourglass && !this.startBoostLoadout.rocket) return; - // 编辑器可能继续预览旧场景缓存;缺少新绑定时加载同一组指定预制体。 - if (!this.hourglassPrefab || !this.rocketPrefab || !this.rocketBoxPrefab) { - if (this.startBoostAssetsLoading) return; - this.startBoostAssetsLoading = true; - cc.assetManager.loadAny([ - "54e4d6f7-56a9-4a9a-ac1b-5fe8f0c19b08", "856d5b25-8b93-4463-92fd-348ff7ae798c", - "6790907b-e558-4c95-b3a2-3f87485e3d48" - ], { type: cc.Prefab }, (error, prefabs: cc.Prefab[]) => { - this.startBoostAssetsLoading = false; - if (error) { - if (this.isMapRuntimeAlive()) cc.fx.GameConfig.showBlockLoadError(error, - schedulePopupWarmup, "开场道具资源加载失败\n点击重试"); - return; - } - prefabs.forEach(prefab => prefab.addRef()); - if (!this.isMapRuntimeAlive()) { prefabs.forEach(prefab => prefab.decRef()); return; } - this.startBoostAssets = prefabs; - [this.hourglassPrefab, this.rocketPrefab, this.rocketBoxPrefab] = prefabs; - schedulePopupWarmup(); - }); - return; - } - if (!this.startBoostOpening) this.startBoostOpening = new StartBoostOpening(this, this.startBoostLoadout, prop => { - if (!consumeCarriedStartBoost(this.startBoostLoadout, prop, cc.fx.GameConfig.GM_INFO)) return; - cc.fx.GameTool.saveStartBoostInventory(prop); - cc.fx.GameTool.shushu_Track("resource_cost", { - change_reason: "使用道具", - id: prop === "hourglass" ? "2006" : "2007", - num: -1, - }); - }); - return; - } this.applyOldRainbowAtStart(); } catch (error) { - cc.fx.GameConfig.showBlockLoadError(error, schedulePopupWarmup, - this.startBoostPreparing ? "开场道具资源加载失败\n点击重试" : "彩虹资源加载失败\n点击重试"); + cc.fx.GameConfig.showBlockLoadError(error, schedulePopupWarmup, "彩虹资源加载失败\n点击重试"); return; } if (this.oldRainbowPreparing) return; this.oldRainbowEntryReady = null; - if (this.startBoostsApplied) { - this.SceneManager.finishDynamicPopupLoad("startBoosters"); - if (this.oldRainbowEntryGuidesPending) { - this.oldRainbowEntryGuidesPending = false; - this.showMapEntryGuides(); - } - if (this.oldRainbowIntroPending) { - this.oldRainbowIntroPending = false; - this.showEnterNewModeIfNeeded(); - } - } if (!this.spawnGatesInitialized) this.initSpawnGates(); popupWarmupScheduled = true; // console.log(`[进关耗时][地图资源确认及生成] 完成,独立耗时=${Date.now() - this.mapPreparationStartedAt}ms,从开始累计=${Date.now() - this.entryStartedAt}ms`); @@ -1562,7 +1448,7 @@ export default class MapConroler extends cc.Component { schedulePopupWarmup(); }); this.blockInit(() => { - if (!this.oldRainbowPreparing && !this.startBoostPreparing) this.initSpawnGates(); + if (!this.oldRainbowPreparing) this.initSpawnGates(); if (cc.fx.GameConfig.isRainbowRewardActive()) { this.rainbowStreak = new RainbowStreak(this, cc.find("Canvas/Game/GameNode/Bottom/rainbow")); } @@ -1656,7 +1542,7 @@ export default class MapConroler extends cc.Component { }, 100); - if (this.oldRainbowPreparing || this.startBoostPreparing) this.oldRainbowEntryGuidesPending = true; + if (this.oldRainbowPreparing) this.oldRainbowEntryGuidesPending = true; else this.showMapEntryGuides(); } @@ -4090,10 +3976,10 @@ export default class MapConroler extends cc.Component { } //时间增加 - addTime(time, refreshDisplay = true) { + addTime(time) { if (this.gameOver == true || this.timeNumber <= 0) return; this.timeNumber += time; - if (refreshDisplay) NumberToImage.getTimeMargi3((this.timeNumber), 45, "company_", this.timeLabel) + NumberToImage.getTimeMargi3((this.timeNumber), 45, "company_", this.timeLabel) } // ============================================ @@ -4669,7 +4555,6 @@ export default class MapConroler extends cc.Component { if (this.canCompleteLevel() && !this.gameWin && !this.gameOver) { // console.log("获胜了成功了!!!!!!") this.gameWin = true; - this.threeWinStreak.win(); CloudRiseService.finish(true); cc.fx.GameTool.recordStarterPackLevelResult(true); this.gameStart = false; @@ -4840,7 +4725,7 @@ export default class MapConroler extends cc.Component { } showEnterNewModeIfNeeded() { - if (this.oldRainbowPreparing || this.startBoostPreparing) { + if (this.oldRainbowPreparing) { this.oldRainbowIntroPending = true; return; } @@ -5297,11 +5182,6 @@ export default class MapConroler extends cc.Component { this.SceneManager.releasePausePanel(); } - if (!this.gameStart && !this.gameWin && !this.gameOver && this.startBoostLoadout) { - MapConroler.startBoostReplay = { key: this.startBoostKey, loadout: this.startBoostLoadout }; - } else { - this.threeWinStreak.fail(); - } this.gameStart = false; this.againCanTouch = false; @@ -5667,7 +5547,6 @@ export default class MapConroler extends cc.Component { return; } // 没有需提示的损失时,直接显示原有 Health 结果页。 - this.threeWinStreak.fail(); this.hideLoseReasonPanels(lose); if (!cc.fx.GameConfig.isWinStreakUnlocked() && cc.fx.GameConfig.GM_INFO.otherLevel == 0) { cc.fx.GameTool.setWinStreak("fail"); @@ -5694,7 +5573,6 @@ export default class MapConroler extends cc.Component { if (!lose) return; if (!await this.settleCloudRiseLoss(false)) return; if (!cc.isValid(lose, true)) return; - this.threeWinStreak.fail(); if (cc.fx.GameConfig.GM_INFO.otherLevel == 0) { if (this.revive) this.revive.getComponent("Revive").offShow(); if (this.node) { @@ -5763,7 +5641,6 @@ export default class MapConroler extends cc.Component { } // MiniGameSdk.API.showToast("体力值减少"); cc.fx.GameConfig.LEVEL_INFO_init(false, 0, false); - if (!this.gameWin) this.threeWinStreak.fail(); if (cc.fx.GameConfig.GM_INFO.otherLevel == 0 && customEventData == false) { cc.fx.GameTool.setWinStreak("fail"); DailyTaskProgressTracker.invalidateAttempt(); @@ -6101,7 +5978,7 @@ export default class MapConroler extends cc.Component { // 6. 时间归零时触发游戏失败 // ============================================ startTimeCutDown() { - if (this.oldRainbowPreparing || this.startBoostPreparing) return; + if (this.oldRainbowPreparing) return; // 保证始终只有一个游戏倒计时回调,避免多次启动后时间成倍减少。 this.stopTimeCutDown(); this.startBoom(); @@ -8557,10 +8434,6 @@ export default class MapConroler extends cc.Component { // ============================================ update(dt) { if (!this.blockAssetsReady) return; - if (this.startBoostPreparing) { - this.updateStartBoostOpening(dt); - return; - } this.updateOldRainbowOpening(dt); if (this.oldRainbowPreparing) return; if (this.rainbowStreak) this.rainbowStreak.update(dt); diff --git a/assets/Script/RainbowCut.ts b/assets/Script/RainbowCut.ts index 23ad2be1..b012b444 100644 --- a/assets/Script/RainbowCut.ts +++ b/assets/Script/RainbowCut.ts @@ -104,7 +104,7 @@ function reshapeProps(map: any, block: any, cut: RainbowCut): void { } } -export function reshape(map: any, block: any, cut: RainbowCut, template: cc.Node, upper: boolean): void { +function reshape(map: any, block: any, cut: RainbowCut, template: cc.Node, upper: boolean): void { const node: cc.Node = block.node; if (!upper) { // 只清理由自己占用的格子,不调用会触发机关判定的接口。 @@ -156,7 +156,7 @@ export function reshape(map: any, block: any, cut: RainbowCut, template: cc.Node } /** 原节点身份不变,重新生成联动碰撞代理,不解除组合或重置连接计数。 */ -export function refreshLinks(map: any, changed: any[]): void { +function refreshLinks(map: any, changed: any[]): void { const linksOf = (block: any): cc.Node[] => { const nodes = (block.teamBlocks || []).slice(); if ((block.type === 9 || block.type === 1 || block.type === 10) && block.block_Info.node) { diff --git a/assets/Script/RainbowStreak.ts b/assets/Script/RainbowStreak.ts index d0fbe386..ea1831e3 100644 --- a/assets/Script/RainbowStreak.ts +++ b/assets/Script/RainbowStreak.ts @@ -8,7 +8,6 @@ export default class RainbowStreak { readonly energy = new RainbowEnergy(); casting = false; private first = true; - private opening = false; private hidden = false; private credited = new Set(); private bottle: cc.Node; @@ -68,7 +67,6 @@ export default class RainbowStreak { } private counting(): boolean { - if (this.opening) return !this.hidden && !this.map.gameOver && !this.map.gameWin; return !this.hidden && this.map.gameStart && this.map.scheduleCallback != null && !this.map.pause && !this.map.gameOver && !this.map.gameWin && !this.map.shopPause && !this.map.isPauseOpen() && !this.map.iceTrue() && this.map.timeNumber > 0; @@ -136,22 +134,6 @@ export default class RainbowStreak { this.render(); } - /** 沙漏/火箭测试开场结束后施放首次彩虹,不提前开始计时或扣体力。 */ - startOpening(): void { - this.first = false; - this.opening = true; - const candidates = this.refreshAvailability(); - if (this.energy.consume()) this.begin(candidates); - this.render(); - } - - updateOpening(dt: number): boolean { - this.update(dt); - if (this.casting || this.fadingFlights.length) return false; - this.opening = false; - return true; - } - eliminated(node: cc.Node): void { if (this.credited.has(node)) return; this.credited.add(node); @@ -188,8 +170,8 @@ export default class RainbowStreak { if (t >= 1) this.finish(true); } const candidates = this.refreshAvailability(); - this.energy.tick(dt, !this.opening && !this.first && this.counting()); - if (!this.opening && !this.first && !this.casting && this.counting() && !this.map.touchIng + this.energy.tick(dt, !this.first && this.counting()); + if (!this.first && !this.casting && this.counting() && !this.map.touchIng && !this.map.ishammer && !this.map.ismagic && !this.map.magicMask.active && !this.map.node.children.some(node => cc.isValid(node, true) && node.getComponent("Block")?.isTouch) && !this.settling() diff --git a/assets/Script/RocketCut.ts b/assets/Script/RocketCut.ts deleted file mode 100644 index b7de9647..00000000 --- a/assets/Script/RocketCut.ts +++ /dev/null @@ -1,74 +0,0 @@ -import { reshape, refreshLinks } from "./RainbowCut"; -import { RAINBOW_SHAPES } from "./RainbowRules"; -import { RocketCut } from "./RocketRules"; - -/** 不调用消除入口:不推进机关、计数、彩虹能量,也不生成替代方块。 */ -export function applyRocketCut(map: any, block: any, cut: RocketCut): void { - const origin = block.rocketOrigin || block.node.uuid; - const x = block.posX, y = block.posY; - if (!cut.fragments.length) { - block.allBlocks.forEach(p => { - const cell = map.mapBlocksWall[x + p.x][y + p.y].getComponent("MapBlock"); - if (cell.block_Id === block.node.uuid) { cell.block_Id = ""; cell.nowColor = -1; } - }); - map.blocks.splice(map.blocks.indexOf(block.node), 1); - block.node.active = false; - block.node.removeFromParent(); - block.node.destroy(); - } else { - const first = cut.fragments[0]; - const upper = block.type === 1 && block.block_Info.node?.getComponent("Block"); - const template = cc.instantiate(map.Block_Array[first.shape]); - const floors = block.node.children.filter(node => node.getComponent("Floor")).map(node => ({ - node, x: Math.round((node.x + 65) / 120), y: Math.round((node.y - 60) / 120), - time: node.getComponent("Floor").time - })); - // 只有普通块及其普通地板/问号覆盖允许分裂,因此没有钥匙等附件归属转移。 - const info = cut.fragments.length > 1 ? JSON.parse(JSON.stringify(block.block_Info)) : null; - if (info) { - const question = block.node.getChildByName("question"); - if (question) info.questionTime = question.getComponent("Question").time; - floors.forEach(floor => { - if (!RAINBOW_SHAPES[first.shape].some(p => p.x + first.offset.x === floor.x && p.y + first.offset.y === floor.y)) { - floor.node.active = false; - floor.node.removeFromParent(); - floor.node.destroy(); - } - }); - } - if (upper) { upper.posX = x; upper.posY = y; } - reshape(map, block, first, template, false); - block.rocketOrigin = origin; - if (upper) { - reshape(map, upper, first, template, true); - const offset = upper.getStackingPos(); - upper.node.setPosition(block.node.x + offset.x, block.node.y + offset.y); - upper.stacking = cc.v2(offset.x, offset.y); - upper.startPos = upper.node.position.clone(); - } - template.destroy(); - for (const fragment of cut.fragments.slice(1)) { - const node = cc.instantiate(map.Block_Array[fragment.shape]); - const cell = map.mapBlocksWall[x + fragment.offset.x][y + fragment.offset.y]; - node.parent = map.node; - node.setPosition(cell.x + 65, cell.y - 60); - const ids = map.blocks.map(n => Number(n.getComponent("Block").blockId) || 0); - const extra = node.getComponent("Block"); - extra.init({ ...info, id: Math.max(0, ...ids) + 1, block: fragment.shape, - position: { x: node.x, y: node.y } }, null, null, null, null); - extra.rocketOrigin = origin; - node.children.forEach(child => { - const floor = child.getComponent("Floor"); - if (!floor) return; - const px = Math.round((child.x + 65) / 120), py = Math.round((child.y - 60) / 120); - const old = floors.find(p => p.x === px + fragment.offset.x && p.y === py + fragment.offset.y); - floor.init(old.time, extra.posX + px, extra.posY + py); - }); - map.blocks.push(node); - extra.cmupdate(); - } - refreshLinks(map, upper ? [block, upper] : [block]); - block.cmupdate(); - } - map.blockNum = map.blocks.length; -} diff --git a/assets/Script/RocketCut.ts.meta b/assets/Script/RocketCut.ts.meta deleted file mode 100644 index 23050fe1..00000000 --- a/assets/Script/RocketCut.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "5e70396e-5d38-4ec6-b448-30df1f56e43a", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/RocketRules.ts b/assets/Script/RocketRules.ts deleted file mode 100644 index 1028a1a9..00000000 --- a/assets/Script/RocketRules.ts +++ /dev/null @@ -1,114 +0,0 @@ -import { RainbowCell, RainbowCut, RAINBOW_SHAPES, rainbowPriority } from "./RainbowRules"; - -export interface RocketCut { cell: RainbowCell; fragments: RainbowCut[]; } - -function key(cells: RainbowCell[]): string { - const x = Math.min(...cells.map(p => p.x)), y = Math.min(...cells.map(p => p.y)); - return cells.map(p => (p.x - x) + "," + (p.y - y)).sort().join(";"); -} - -/** 每次仅删除一格;其余四邻接连通片各自匹配已有形状。 */ -export function rocketCuts(cells: RainbowCell[], edgeOnly = false): RocketCut[] { - return cells.map(cell => { - const pending = cells.filter(p => p !== cell).slice(); - const fragments: RainbowCut[] = []; - while (pending.length) { - const group = [pending.pop()]; - for (let i = 0; i < group.length; i++) { - for (let j = pending.length - 1; j >= 0; j--) { - if (Math.abs(pending[j].x - group[i].x) + Math.abs(pending[j].y - group[i].y) === 1) { - group.push(pending.splice(j, 1)[0]); - } - } - } - const shape = RAINBOW_SHAPES.findIndex(points => points.length === group.length && key(points) === key(group)); - if (shape < 0) throw new Error("火箭残块缺少对应形状: " + key(group)); - fragments.push({ cell, shape, offset: { - x: Math.min(...group.map(p => p.x)) - Math.min(...RAINBOW_SHAPES[shape].map(p => p.x)), - y: Math.min(...group.map(p => p.y)) - Math.min(...RAINBOW_SHAPES[shape].map(p => p.y)) - } }); - } - return { cell, fragments }; - }).filter(cut => !edgeOnly || cut.fragments.length === 1); -} - -export const ROCKET_CUTS = RAINBOW_SHAPES.map(shape => rocketCuts(shape)); - -export function rocketEdgeOnly(block: any, protectedColors: Set): boolean { - const info = block.block_Info; - return protectedColors.has(block.color) || (block.type !== 0 && block.type !== 16) - || !!block.flowerType || info.lock != null || info.colorArray != null || info.colorChange != null - || !!info.horizontal || !!info.vertical || info.floorMove === true - || (block.teamBlocks || []).length > 1; -} - -export function rocketCandidates(map: any): any[] { - const blocks = map.blocks.filter(node => cc.isValid(node, true) && node.active) - .map(node => node.getComponent("Block")).filter(Boolean); - const buttons = new Set((map.buttonBlock || []).map(node => node.getComponent("MapBlock").color)); - const protectedColors = new Set(); - (map.wallArray || []).forEach(node => { - const wall = node.getChildByName("wall").getComponent("Wall"); - (wall.colorStartArray || []).forEach(color => protectedColors.add(color)); - if (wall.special === 2) protectedColors.add(wall.color); - }); - const glued = new Set(); - blocks.forEach(block => { - if (block.type === 9 || block.type === 19) { - glued.add(block.node); - if (block.block_Info.node) glued.add(block.block_Info.node); - } - if ((block.adhesiveNode || []).some(node => cc.isValid(node, true) && node.active - && node.getComponent("Adhesive")?.target)) glued.add(block.node); - }); - return blocks.filter(block => !block.spawnLocked && !block.over && !block.rainbowEliminating - && !block.oldRainbow && block.color !== 100 && block.color !== 11 - && [10, 11, 22].indexOf(block.type) < 0 && !!ROCKET_CUTS[block.block_Info.block]) - .map(block => { - const upper = block.type === 1 && block.block_Info.node?.getComponent("Block"); - const layers = upper ? [block, upper] : [block]; - if (layers.some(layer => glued.has(layer.node) || buttons.has(layer.color))) return null; - const edgeOnly = layers.some(layer => rocketEdgeOnly(layer, protectedColors)); - const cuts = ROCKET_CUTS[block.block_Info.block].filter(cut => !edgeOnly || cut.fragments.length === 1); - return { block, cuts, edgeOnly, origin: block.rocketOrigin || block.node.uuid, - priority: block.allBlocks.length === 1 ? 2 : layers.some(layer => rainbowPriority(layer) > 0) ? 1 : 0 }; - }).filter(candidate => candidate && candidate.cuts.length); -} - -export function chooseRocketTarget(candidates: any[], hit: Set, remaining: number, - random: () => number = Math.random): any { - if (!candidates.length) return null; - const priority = Math.min(...candidates.map(candidate => candidate.priority)); - let pool = candidates.filter(candidate => candidate.priority === priority); - const fresh = pool.filter(candidate => !hit.has(candidate.origin)); - if (fresh.length) pool = fresh; - const target = pool[Math.floor(random() * pool.length)]; - // 1932 等候选不足的开局,重复从边缘裁切,保留主体供后续火箭命中。 - const edges = target.cuts.filter(cut => cut.fragments.length === 1); - const cuts = candidates.length < remaining && edges.length ? edges : target.cuts; - return { target, cut: cuts[Math.floor(random() * cuts.length)] }; -} - -export interface RocketShot { x: number; y: number; origin: string; cut: RocketCut; } - -/** 只在候选快照上模拟逐发裁切;同一原块的实际命中须保持规划顺序。 */ -export function planRocketShots(map: any, count = 3, random: () => number = Math.random): RocketShot[] { - let pool = rocketCandidates(map).map(candidate => ({ ...candidate, - x: candidate.block.posX, y: candidate.block.posY })); - const shots: RocketShot[] = [], hit = new Set(); - for (let remaining = count; remaining > 0; remaining--) { - const choice = chooseRocketTarget(pool, hit, remaining, random); - if (!choice) break; - const { target, cut } = choice; - shots.push({ x: target.x + cut.cell.x, y: target.y + cut.cell.y, origin: target.origin, cut }); - hit.add(target.origin); - pool = pool.filter(candidate => candidate !== target); - for (const fragment of cut.fragments) { - const cuts = ROCKET_CUTS[fragment.shape].filter(next => !target.edgeOnly || next.fragments.length === 1); - if (cuts.length) pool.push({ ...target, cuts, - x: target.x + fragment.offset.x, y: target.y + fragment.offset.y, - priority: RAINBOW_SHAPES[fragment.shape].length === 1 ? 2 : target.priority }); - } - } - return shots; -} diff --git a/assets/Script/RocketRules.ts.meta b/assets/Script/RocketRules.ts.meta deleted file mode 100644 index 5e3ff3dc..00000000 --- a/assets/Script/RocketRules.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "93746ec7-0a81-4f9c-95d8-18bc8c4b3e17", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/SceneManager.ts b/assets/Script/SceneManager.ts index 9ddc57f5..bca54062 100644 --- a/assets/Script/SceneManager.ts +++ b/assets/Script/SceneManager.ts @@ -13,8 +13,6 @@ import LoadingCatAnimation from "./LoadingCatAnimation"; import Utils from "./module/Pay/Utils"; import { starterPackRemaining } from "./module/Config/StarterPack"; import NumberToImage from "./NumberToImage"; -import ThreeWinsPanel, { ThreeWinsSelection } from "./ThreeWinsPanel"; -import { canCarryStartBoost, infiniteStartBoost, StartBoostProp } from "./StartBoostLoadout"; import { MiniGameSdk } from "./Sdk/MiniGameSdk"; const { ccclass, property } = cc._decorator; @@ -34,76 +32,6 @@ export default class SceneManager extends cc.Component { private static activeInstance: SceneManager = null; - @property(cc.Prefab) - threeWinsPrefab: cc.Prefab = null; - - @property(cc.SpriteAtlas) - threeWinsFont: cc.SpriteAtlas = null; - - private threeWinsRoot: cc.Node = null; - private threeWinsPanel: ThreeWinsPanel = null; - - private threeWinsData() { - const info = cc.fx.GameConfig.GM_INFO; - const level = cc.fx.GameTool.maxLevel() && info.GameplayType === 1 ? info.endLevelNum : info.level + 1; - return { level, threeWinStreak: info.threeWinStreak, tenWinStreak: info.winStreak, - hourglassAmount: info.hourglassAmount, rocketAmount: info.rocketAmount, - infiniteHourglass: infiniteStartBoost(info, "hourglass"), infiniteRocket: infiniteStartBoost(info, "rocket") }; - } - - getStartBoostBoxFrame(streak: number): cc.SpriteFrame { - return this.threeWinsPrefab.data.getChildByName("box").getChildByName("box" + Math.min(3, streak)) - .getComponent(cc.Sprite).spriteFrame; - } - - openThreeWins(onStart: (selection: ThreeWinsSelection) => void) { - if (!this.isPopupRuntimeAlive() || this.threeWinsRoot) return; - if (!this.threeWinsPrefab || !this.threeWinsFont) throw new Error("GameScene 未绑定 threeWins 预制体或字体"); - const root = this.threeWinsRoot = new cc.Node("threeWinsModal"); - root.setContentSize(cc.winSize); - root.addComponent(cc.BlockInputEvents); - this.node.addChild(root); - root.zIndex = 1000; - try { - const view = cc.instantiate(this.threeWinsPrefab); - root.addChild(view); - view.setPosition(0, 0); - const mask = view.getChildByName("New Sprite(Splash)"); - mask.parent = root; - mask.setSiblingIndex(0); - const panel = this.threeWinsPanel = view.addComponent(ThreeWinsPanel); - panel.init(this.threeWinsFont, this.threeWinsData(), { - onProp: (prop, selected) => { - cc.fx.AudioManager._instance.playEffect("anniu_little", null); - if (selected && !canCarryStartBoost(cc.fx.GameConfig.GM_INFO, prop)) { - this.openPropBuy(prop); - } else panel.setSelected(prop, selected); - }, - onStart: selection => { - for (const prop of ["hourglass", "rocket"] as StartBoostProp[]) { - if (selection[prop] && !canCarryStartBoost(cc.fx.GameConfig.GM_INFO, prop)) { - panel.setSelected(prop, false); - this.openPropBuy(prop); - return; - } - } - cc.fx.AudioManager._instance.playEffect("anniu_Big", null); - this.threeWinsRoot = null; - this.threeWinsPanel = null; - root.active = false; - root.destroy(); - onStart(selection); - }, - }); - this.finishDynamicPopupLoad("startBoosters"); - } catch (error) { - this.threeWinsRoot = null; - this.threeWinsPanel = null; - root.destroy(); - throw error; - } - } - private isPopupRuntimeAlive(): boolean { return cc.isValid(this, true) && SceneManager.activeInstance === this @@ -1441,7 +1369,6 @@ export default class SceneManager extends cc.Component { if (continueControl && continueControl._touch && MapConroler && MapConroler._instance) { continueControl.setTouch(false); if (!await MapConroler._instance.settleCloudRiseLoss(true) || !this.isPopupRuntimeAlive()) return; - MapConroler._instance.threeWinStreak.fail(); this.closePause(); if (MapConroler._instance.gameStart == true) { // MiniGameSdk.API.showToast("体力值减少"); @@ -1911,14 +1838,10 @@ export default class SceneManager extends cc.Component { const target = prop && prop.getChildByName(name); if (!target) throw new Error(`propWindow item is missing: ${name}`); - ["freeze", "hammer", "magic", "hourglass", "rocket"].forEach((itemName) => { + ["freeze", "hammer", "magic"].forEach((itemName) => { prop.getChildByName(itemName).active = itemName === name; }); - prop.getChildByName("buy_Btn").active = name !== "hourglass" && name !== "rocket"; - this.propBuyButton(prop).getComponent("btnControl").setTouch(true); - const overOpening = this.threeWinsRoot && this.threeWinsRoot.active; - propRoot.parent = overOpening ? this.node : gameRoot; - propRoot.zIndex = overOpening ? this.threeWinsRoot.zIndex + 1 : 1000; + prop.getChildByName("buy_Btn").getComponent("btnControl").setTouch(true); propRoot.active = true; prop.scale = 0.3; cc.tween(prop) @@ -1948,7 +1871,7 @@ export default class SceneManager extends cc.Component { cc.fx.AudioManager._instance.playEffect("anniu_Big", null); const propRoot = this.getDynamicPopup("propWindow"); const prop = propRoot && propRoot.getChildByName("prop"); - const buyBtn = this.propBuyButton(prop); + const buyBtn = prop && prop.getChildByName("buy_Btn"); const buyControl = buyBtn && buyBtn.getComponent("btnControl"); const map = MapConroler && MapConroler._instance; if (buyControl && buyControl._touch && map && cc.isValid(map, true)) { @@ -1959,45 +1882,14 @@ export default class SceneManager extends cc.Component { map.buyHammer(); else if (this.btnName == "magic") map.buyMagic(); - else if (this.btnName === "hourglass" || this.btnName === "rocket") - this.buyStartBoost(this.btnName); } } - private propBuyButton(prop: cc.Node): cc.Node { - if (!prop) return null; - if (this.btnName === "hourglass" || this.btnName === "rocket") { - return prop.getChildByName(this.btnName).getChildByName("buy_Btn"); - } - return prop.getChildByName("buy_Btn"); - } - - private buyStartBoost(prop: StartBoostProp) { - const cost = prop === "hourglass" ? 200 : 800; - if (cc.fx.GameConfig.GM_INFO.coin < cost) { - MiniGameSdk.API.showToast("金币不足,无法购买道具"); - this.resetBtn(); - const popup = this.getDynamicPopup("propWindow"); - const canOpen = () => this.isPopupRuntimeAlive() && popup === this.getDynamicPopup("propWindow") - && !!popup && popup.active && this.btnName === prop; - this.scheduleOnce(() => { - if (canOpen()) this.openShop(null, undefined, canOpen); - }, 0.5); - return; - } - cc.fx.GameTool.buyProp(prop === "hourglass" ? 2006 : 2007, () => { - if (!this.isPopupRuntimeAlive()) return; - this.updateCoin(); - this.closePropBuy(false); - if (this.threeWinsPanel) this.threeWinsPanel.setSelected(prop, true); - }); - } - resetBtn() { if (!this.isPopupRuntimeAlive()) return; const propRoot = this.getDynamicPopup("propWindow"); const prop = propRoot && propRoot.getChildByName("prop"); - const buyBtn = this.propBuyButton(prop); + const buyBtn = prop && prop.getChildByName("buy_Btn"); const buyControl = buyBtn && buyBtn.getComponent("btnControl"); if (buyControl) buyControl.setTouch(true); } @@ -2048,10 +1940,9 @@ export default class SceneManager extends cc.Component { } //打开商店 - openShop(event, customEventData?: string, canOpen?: () => boolean) { + openShop(event, customEventData?: string) { if (event) cc.fx.AudioManager._instance.playEffect("anniu_little", null); if (!this.isPopupRuntimeAlive()) return; - if (canOpen && !canOpen()) return; console.log("进入sceneManager openShop"); if (!cc.fx.GameConfig.GM_INFO.canIos) { return; @@ -2067,7 +1958,6 @@ export default class SceneManager extends cc.Component { const onShopDouble = (res) => { if (!this.isPopupRuntimeAlive()) return; - if (canOpen && !canOpen()) return; if (shopPath !== cc.fx.GameConfig.getShopPrefabPath()) return; if (res.code === 1) { let eventName = ""; @@ -2186,10 +2076,6 @@ export default class SceneManager extends cc.Component { } this.releasePropWindowPanel(); - if (this.threeWinsRoot && this.threeWinsPanel) { - this.threeWinsPanel.refresh(this.threeWinsData()); - this.threeWinsRoot.active = true; - } } openRewardWindow(data, callBack) { @@ -2328,11 +2214,7 @@ export default class SceneManager extends cc.Component { // this.node.addChild(reddemCodeNode); } update(dt) { - if (this.threeWinsPanel) { - this.threeWinsPanel.refreshInventory(this.threeWinsData()); - const transition = this.node.getChildByName("zhuanchang"); - if (!transition || !transition.active) this.threeWinsPanel.playEntry(); - } + } public setPic(url, node) { diff --git a/assets/Script/StartBoostLoadout.ts b/assets/Script/StartBoostLoadout.ts deleted file mode 100644 index 9474c2dc..00000000 --- a/assets/Script/StartBoostLoadout.ts +++ /dev/null @@ -1,32 +0,0 @@ -export type StartBoostProp = "hourglass" | "rocket"; - -export interface StartBoostLoadout { - streak: number; - hourglass: boolean; - rocket: boolean; - spentHourglass?: boolean; - spentRocket?: boolean; -} - -export function startBoostRewards(streak: number): { hourglass: number; rocket: number } { - return { hourglass: streak >= 3 ? 3 : streak > 0 ? 2 : 0, - rocket: streak >= 3 ? 2 : streak >= 2 ? 1 : 0 }; -} - -export function infiniteStartBoost(info: any, prop: StartBoostProp): boolean { - return Number(info[prop === "hourglass" ? "infiniteHourglassTime" : "infiniteRocketTime"]) > Date.now() / 1000; -} - -export function canCarryStartBoost(info: any, prop: StartBoostProp): boolean { - return infiniteStartBoost(info, prop) || info[prop + "Amount"] > 0; -} - -/** 原配置只在未开始的重开中复用;已使用的自选道具不重复扣。 */ -export function consumeCarriedStartBoost(loadout: StartBoostLoadout, prop: StartBoostProp, info: any): boolean { - const spent = prop === "hourglass" ? "spentHourglass" : "spentRocket"; - if (!loadout[prop] || loadout[spent]) return false; - loadout[spent] = true; - if (infiniteStartBoost(info, prop)) return false; - info[prop + "Amount"] = Math.max(0, (Number(info[prop + "Amount"]) || 0) - 1); - return true; -} diff --git a/assets/Script/StartBoostLoadout.ts.meta b/assets/Script/StartBoostLoadout.ts.meta deleted file mode 100644 index 82b483ec..00000000 --- a/assets/Script/StartBoostLoadout.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "9dc02e21-5db2-42ed-bdf9-9bf7a9dd23d1", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/StartBoostOpening.ts b/assets/Script/StartBoostOpening.ts deleted file mode 100644 index 1050770b..00000000 --- a/assets/Script/StartBoostOpening.ts +++ /dev/null @@ -1,460 +0,0 @@ -import { planRocketShots, RocketShot } from "./RocketRules"; -import { applyRocketCut } from "./RocketCut"; -import NumberToImage from "./NumberToImage"; -import { StartBoostLoadout, StartBoostProp, startBoostRewards } from "./StartBoostLoadout"; - -const ENTRY_SECONDS = 0.65; -const ENTRY_HOLD_SECONDS = 0.3; -const LAUNCH_CLOUD_SECONDS = 0.65; -const HOURGLASS_SPEED = 1320; -const ROCKET_SPEED = 950; -const ROCKET_ARC_HEIGHT = 480; -// 复用炸弹的爆炸段,跳过火箭命中后不需要的引爆前摇。 -const ROCKET_IMPACT_START_SECONDS = 0.3333; -const HOURGLASS_FLIGHT_SCALE = 0.7; - -function flightPoint(from: cc.Vec2, control: cc.Vec2, to: cc.Vec2, t: number): cc.Vec2 { - const u = 1 - t; - return cc.v2(u * u * from.x + 2 * u * t * control.x + t * t * to.x, - u * u * from.y + 2 * u * t * control.y + t * t * to.y); -} - -function flightDistances(from: cc.Vec2, control: cc.Vec2, to: cc.Vec2): number[] { - const distances = [0]; - let previous = from; - for (let sample = 1; sample <= 64; sample++) { - const point = flightPoint(from, control, to, sample / 64); - distances.push(distances[sample - 1] + Math.hypot(point.x - previous.x, point.y - previous.y)); - previous = point; - } - return distances; -} - -interface OpeningFlight { - node: cc.Node; - from: cc.Vec2; - to: cc.Vec2; - control: cc.Vec2; - distances: number[]; - shot: RocketShot; - trail: cc.ParticleSystem; - timeText: cc.Node; - landed: boolean; - impact: cc.Node; - impactElapsed: number; - impactSeconds: number; -} - -interface CarriedEntry { - node: cc.Node; - rocket: boolean; - from: cc.Vec2; - to: cc.Vec2; - trail: cc.ParticleSystem; - arrived: boolean; -} - -/** 按本局连胜奖励与自选道具播放开场,携带道具实际发射时通知扣除。 */ -export default class StartBoostOpening { - private root = new cc.Node("startBoostOpening"); - private box: cc.Node; - private items: cc.Node[] = []; - private flights: OpeningFlight[] = []; - private carriedEntries: CarriedEntry[] = []; - private hourglassCount: number; - private hourglassHeight: number; - private rocketCount: number; - private boxScale: cc.Vec2; - private elapsed = 0; - private launched = false; - private smokeTexture: cc.Texture2D; - private smokeFrame: cc.SpriteFrame; - private cloudTexture: cc.Texture2D; - private cloudFrame: cc.SpriteFrame; - private sparkleTexture: cc.Texture2D; - private sparkleFrame: cc.SpriteFrame; - private launchCloud: cc.Node; - private displayedTime: number = null; - private timeTarget: number = null; - private hidden = false; - private disposed = false; - private hide = () => { this.hidden = true; this.root.active = false; }; - private show = () => { this.hidden = false; }; - - constructor(private map: any, loadout: StartBoostLoadout, private onUseCarried: (prop: StartBoostProp) => void) { - if (!map.hourglassPrefab || !map.rocketPrefab || !map.rocketBoxPrefab) throw new Error("缺少沙漏、火箭或 rocketBox 预制体"); - const canvas = cc.find("Canvas"); - canvas.addChild(this.root); - this.root.zIndex = cc.macro.MAX_ZINDEX - 1; - this.root.setPosition(canvas.convertToNodeSpaceAR(cc.v2(cc.winSize.width / 2, cc.winSize.height / 2))); - this.box = cc.instantiate(map.rocketBoxPrefab); - this.box.setPosition(0, 160); - const free = startBoostRewards(loadout.streak); - this.box.active = free.hourglass + free.rocket > 0; - if (this.box.active) { - const sprite = this.box.getComponent(cc.Sprite); - const frame = map.SceneManager.getStartBoostBoxFrame(loadout.streak); - if (frame && frame !== sprite.spriteFrame) { - const height = sprite.sizeMode === cc.Sprite.SizeMode.CUSTOM ? this.box.height : sprite.spriteFrame.getRect().height; - const size = frame.getRect(); - sprite.sizeMode = cc.Sprite.SizeMode.CUSTOM; - sprite.spriteFrame = frame; - this.box.setContentSize(height * size.width / size.height, height); - } - } - this.boxScale = cc.v2(this.box.scaleX, this.box.scaleY); - this.hourglassCount = free.hourglass + (loadout.hourglass ? 1 : 0); - this.rocketCount = free.rocket + (loadout.rocket ? 1 : 0); - if (!this.hourglassCount) { - const reference = cc.instantiate(map.hourglassPrefab); - this.root.addChild(reference); - this.hourglassHeight = reference.height; - reference.active = false; - reference.destroy(); - } - for (let i = 0; i < this.hourglassCount + this.rocketCount; i++) { - const rocket = i >= this.hourglassCount; - const node = cc.instantiate(rocket ? map.rocketPrefab : map.hourglassPrefab); - node.parent = this.root; - if (!rocket) this.hourglassHeight = node.height; - node.setScale(rocket ? this.hourglassHeight * 0.65 / node.height : 0.65); - node.setPosition(rocket ? -42 + (i - this.hourglassCount) * 84 : -54 + i * 54, this.box.y + 24); - // 箱子贴图已经绘有道具;实体在飞出时显示,避免重复叠放图案。 - node.active = false; - this.items.push(node); - if ((!rocket && i === free.hourglass) || (rocket && i === this.hourglassCount + free.rocket)) { - const from = this.root.convertToNodeSpaceAR(cc.v2(rocket ? cc.winSize.width - 60 : 60, -80)); - this.carriedEntries.push({ node, rocket, from, to: cc.v2(rocket ? 280 : -280, -500), - trail: null, arrived: false }); - node.setPosition(from); - } - } - this.root.addChild(this.box); - this.box.opacity = 0; - this.root.active = false; - cc.game.on(cc.game.EVENT_HIDE, this.hide); - cc.game.on(cc.game.EVENT_SHOW, this.show); - } - - update(dt: number, paused: boolean): boolean { - if (this.disposed) return true; - this.root.active = !this.hidden && !paused; - if (!this.root.active) return false; - this.elapsed += dt; - if (!this.launched) { - this.updateEntry(); - // 三个入场动画同时结束,原地停顿 0.3 秒并出现烟团,再一起飞出。 - if (this.elapsed >= ENTRY_SECONDS) this.updateLaunchCloud( - Math.min(1, (this.elapsed - ENTRY_SECONDS) / ENTRY_HOLD_SECONDS), false); - if (this.elapsed >= ENTRY_SECONDS + ENTRY_HOLD_SECONDS) this.beginFlights(); - return false; - } - this.updateLaunchCloud(Math.min(1, this.elapsed / LAUNCH_CLOUD_SECONDS), true); - this.updateTimeDisplay(dt); - for (const flight of this.flights) { - if (flight.landed) { - flight.impactElapsed += dt; - continue; - } - const rocket = !!flight.shot; - const distances = flight.distances; - const distance = Math.min(distances[distances.length - 1], this.elapsed * (rocket ? ROCKET_SPEED : HOURGLASS_SPEED)); - const end = distances.findIndex((value, index) => index > 0 && value >= distance); - const fraction = (distance - distances[end - 1]) / (distances[end] - distances[end - 1]); - const t = (end - 1 + fraction) / (distances.length - 1); - const u = 1 - t; - const control = flight.control; - const node = flight.node; - node.setPosition(flightPoint(flight.from, control, flight.to, t)); - if (rocket) { - // 沙漏本轮只缩小飞行显示,火箭沿用原有的尺寸变化。 - const referenceScale = this.hourglassCount ? this.items[0].scaleY / HOURGLASS_FLIGHT_SCALE : 0.65 - 0.25 * t; - node.setScale(this.hourglassHeight * referenceScale / node.height); - const dx = u * (control.x - flight.from.x) + t * (flight.to.x - control.x); - const dy = u * (control.y - flight.from.y) + t * (flight.to.y - control.y); - node.angle = Math.atan2(dy, dx) * 180 / Math.PI - 90; - } else { - node.setScale((0.65 - 0.25 * t) * HOURGLASS_FLIGHT_SCALE); - flight.timeText.setPosition(node.x - node.width * node.scaleX / 4, - node.y + node.height * node.scaleY / 2 - 8); - } - flight.trail.node.setPosition(this.root.convertToNodeSpaceAR( - node.convertToWorldSpaceAR(cc.v2(0, rocket ? -node.height : 0)))); - if (t === 1) this.land(flight); - } - return this.elapsed >= LAUNCH_CLOUD_SECONDS && this.displayedTime === this.timeTarget && - this.carriedEntries.every(entry => this.elapsed + ENTRY_HOLD_SECONDS >= entry.trail.life + entry.trail.lifeVar) && - this.flights.every(flight => flight.landed && flight.impactElapsed >= flight.impactSeconds); - } - - private updateEntry(): void { - const progress = Math.min(1, this.elapsed / ENTRY_SECONDS); - const back = progress - 1; - const scale = 0.6 + 0.4 * (1 + 2.70158 * back * back * back + 1.70158 * back * back); - this.box.setScale(this.boxScale.x * scale, this.boxScale.y * scale); - this.box.opacity = Math.round(255 * Math.min(1, progress * 4)); - const v = progress * progress * (3 - 2 * progress), u = 1 - v; - for (const entry of this.carriedEntries) { - if (entry.arrived) continue; - if (!entry.trail) { - entry.node.active = true; - entry.trail = this.makeTrail(entry.rocket); - entry.node.setSiblingIndex(this.root.childrenCount - 1); - } - const control = cc.v2(entry.to.x, entry.from.y + (entry.to.y - entry.from.y) * 0.55); - entry.node.setPosition(u * u * entry.from.x + 2 * u * v * control.x + v * v * entry.to.x, - u * u * entry.from.y + 2 * u * v * control.y + v * v * entry.to.y); - if (entry.rocket) { - const dx = u * (control.x - entry.from.x) + v * (entry.to.x - control.x); - const dy = u * (control.y - entry.from.y) + v * (entry.to.y - control.y); - entry.node.angle = Math.atan2(dy, dx) * 180 / Math.PI - 90; - } - entry.trail.node.setPosition(this.root.convertToNodeSpaceAR(entry.node.convertToWorldSpaceAR( - cc.v2(0, entry.rocket ? -entry.node.height * entry.node.anchorY : 0)))); - if (progress === 1) { - entry.arrived = true; - entry.node.angle = 0; - entry.trail.stopSystem(); - } - } - } - - private beginFlights(): void { - const shots = planRocketShots(this.map, this.rocketCount); - const rocketDistances = new Map(); - this.elapsed = 0; - this.launched = true; - this.box.active = false; - for (let i = this.hourglassCount + shots.length; i < this.items.length; i++) this.items[i].active = false; - for (let i = 0; i < this.hourglassCount + shots.length; i++) { - const node = this.items[i], shot = i >= this.hourglassCount ? shots[i - this.hourglassCount] : null; - const destination = shot ? this.map.mapBlocksWall[shot.x][shot.y] - : this.map.timeLabel.parent.getChildByName("time_icon"); - const to = this.root.convertToNodeSpaceAR(destination.convertToWorldSpaceAR(cc.v2(0, 0))); - node.active = true; - if (shot) { - // 用火箭尖端作飞行锚点,爆炸落点精确落在被裁掉的格子上。 - const tip = node.convertToWorldSpaceAR(cc.v2(0, node.height * (1 - node.anchorY))); - node.anchorY = 1; - node.setPosition(this.root.convertToNodeSpaceAR(tip)); - } else { - node.setScale(node.scaleX * HOURGLASS_FLIGHT_SCALE); - } - const trail = this.makeTrail(!!shot); - trail.node.setPosition(this.root.convertToNodeSpaceAR( - node.convertToWorldSpaceAR(cc.v2(0, shot ? -node.height : 0)))); - node.setSiblingIndex(this.root.childrenCount - 1); - let timeText: cc.Node = null; - if (!shot) { - timeText = new cc.Node("hourglassPlusTen"); - this.root.addChild(timeText); - timeText.anchorX = 1; - const label = timeText.addComponent(cc.Label); - label.string = "+10"; - label.fontSize = 54; - label.lineHeight = 60; - label.enableBold = true; - const outline = timeText.addComponent(cc.LabelOutline); - outline.color = cc.color(55, 45, 35); - outline.width = 3; - timeText.setPosition(node.x - node.width * node.scaleX / 4, - node.y + node.height * node.scaleY / 2 - 8); - } - const from = cc.v2(node.x, node.y); - const control = shot ? cc.v2((from.x + to.x) / 2, Math.max(from.y, to.y) + ROCKET_ARC_HEIGHT) - // 沙漏交替绕左、绕右,后续沙漏使用更宽、不同高度的弧线,最后汇入时钟。 - : cc.v2((from.x + to.x) / 2 + (i % 2 === 0 ? -1 : 1) * (240 + Math.floor(i / 2) * 180), - from.y + (to.y - from.y) * (0.4 + i * 0.12)); - let distances = flightDistances(from, control, to); - if (shot) { - const previous = rocketDistances.get(shot.origin); - // 同一原块后续命中至少晚 0.1 秒;延长弧线,保持同时起飞和同速。 - const minimum = previous === undefined ? 0 : previous + ROCKET_SPEED * 0.1; - if (distances[distances.length - 1] < minimum) { - let low = control.y, high = control.y + minimum; - for (let step = 0; step < 12; step++) { - control.y = (low + high) / 2; - const trial = flightDistances(from, control, to); - if (trial[trial.length - 1] < minimum) low = control.y; - else high = control.y; - } - control.y = high; - distances = flightDistances(from, control, to); - } - rocketDistances.set(shot.origin, distances[distances.length - 1]); - } - this.flights.push({ node, shot, to, from, control, distances, trail, timeText, - landed: false, impact: null, impactElapsed: 0, impactSeconds: trail.life + trail.lifeVar }); - if (this.carriedEntries.some(entry => entry.node === node)) this.onUseCarried(shot ? "rocket" : "hourglass"); - } - } - - private land(flight: OpeningFlight): void { - flight.node.active = false; - flight.landed = true; - flight.trail.stopSystem(); - if (!flight.shot) { - flight.timeText.active = false; - if (this.displayedTime === null) this.displayedTime = this.map.timeNumber; - this.map.addTime(10, false); - this.timeTarget = this.map.timeNumber; - return; - } else { - const bomb = cc.instantiate(this.map.Block_Prop[6]); - flight.impact = cc.instantiate(bomb.getChildByName("zhandan")); - bomb.destroy(); - flight.impact.active = true; - const skeleton = flight.impact.getComponent(sp.Skeleton); - this.root.addChild(flight.impact); - flight.impact.setPosition(flight.to); - const track = skeleton.setAnimation(0, "eff", false); - track.trackTime = Math.min(ROCKET_IMPACT_START_SECONDS, track.animation.duration); - flight.impactSeconds = Math.max(flight.impactSeconds, track.animation.duration - track.trackTime); - const shot = flight.shot; - const id = this.map.mapBlocksWall[shot.x][shot.y].getComponent("MapBlock").block_Id; - const block = this.map.blocks.find(node => node.uuid === id).getComponent("Block"); - applyRocketCut(this.map, block, shot.cut); - } - if (!flight.impact.parent) this.root.addChild(flight.impact); - flight.impact.setPosition(flight.to); - } - - private updateTimeDisplay(dt: number): void { - if (this.displayedTime === null || this.displayedTime === this.timeTarget) return; - const previous = Math.floor(this.displayedTime); - this.displayedTime = Math.min(this.timeTarget, this.displayedTime + dt * 30); - const current = Math.floor(this.displayedTime); - if (current !== previous) NumberToImage.getTimeMargi3(current, 45, "company_", this.map.timeLabel); - } - - private updateLaunchCloud(progress: number, dispersing: boolean): void { - if (!this.launchCloud) { - const size = 64, pixels = new Uint8Array(size * size * 4); - for (let y = 0; y < size; y++) for (let x = 0; x < size; x++) { - const radius = Math.hypot(x + 0.5 - size / 2, y + 0.5 - size / 2) / (size / 2); - const softness = Math.max(0, 1 - radius * radius); - const offset = (y * size + x) * 4; - pixels[offset] = pixels[offset + 1] = pixels[offset + 2] = 255; - pixels[offset + 3] = Math.round(160 * softness * softness); - } - this.cloudTexture = new cc.Texture2D(); - this.cloudTexture.initWithData(pixels, cc.Texture2D.PixelFormat.RGBA8888, size, size); - this.cloudFrame = new cc.SpriteFrame(this.cloudTexture); - this.launchCloud = new cc.Node("launchCloud"); - this.root.addChild(this.launchCloud); - // 箱子和实际携带的道具各有独立烟团,中心固定,散开时也留出间隔。 - const targets = [...(this.box.active ? [this.box] : []), ...this.carriedEntries.map(entry => entry.node)]; - targets.forEach(target => { - const cloud = new cc.Node("cloud"); - this.launchCloud.addChild(cloud); - cloud.setPosition(this.root.convertToNodeSpaceAR(target.convertToWorldSpaceAR( - cc.v2(target.width * (0.5 - target.anchorX), target.height * (0.5 - target.anchorY))))); - // 统一圆形轮廓,只按包围圆调整大小,不跟随物品的长宽比例拉伸。 - cloud.setScale((Math.hypot(target.width * target.scaleX, target.height * target.scaleY) + 20) / 300 - * (target === this.box ? 0.7 : 1)); - for (let i = 0; i < 19; i++) { - const puff = new cc.Node("puff"); - cloud.addChild(puff); - puff.addComponent(cc.Sprite).spriteFrame = this.cloudFrame; - } - }); - } - this.launchCloud.active = !(dispersing && progress === 1); - if (!this.launchCloud.active) return; - this.launchCloud.opacity = Math.round(255 * (dispersing ? 1 : Math.min(1, progress * 2))); - this.launchCloud.children.forEach(cloud => cloud.children.forEach((puff, i) => { - const layer = i === 0 ? 0 : i <= 6 ? 1 : 2; - const radius = layer * 55; - const angle = i <= 6 ? (i - 1) * Math.PI / 3 : (i - 7) * Math.PI / 6; - // 外层先散,内层稍后散;同层也略微错开,避免整团一起消失。 - const delay = (2 - layer) * 0.1 + i % 3 * 0.025; - const phase = dispersing ? Math.min(1, Math.max(0, (progress - delay) / (0.8 - layer * 0.1))) : 0; - const fade = phase * phase * (3 - 2 * phase); - puff.opacity = Math.round((155 - layer * 20 - i % 3 * 9) * (1 - fade)); - const spread = dispersing ? 1 + fade * (0.07 + layer * 0.04) : 0.6 + progress * 0.4; - puff.setPosition(Math.cos(angle) * radius * spread, Math.sin(angle) * radius * spread); - puff.setScale((2.5 + i % 3 * 0.05) * (dispersing ? 1 + fade * 0.1 : 0.5 + progress * 0.5)); - })); - } - - private ensureSmokeFrame(): void { - if (!this.smokeFrame) { - const size = 32, pixels = new Uint8Array(size * size * 4); - for (let y = 0; y < size; y++) for (let x = 0; x < size; x++) { - const radius = Math.hypot(x + 0.5 - size / 2, y + 0.5 - size / 2) / (size / 2); - const offset = (y * size + x) * 4; - pixels[offset] = pixels[offset + 1] = pixels[offset + 2] = 255; - pixels[offset + 3] = Math.round(255 * Math.pow(Math.max(0, 1 - radius), 2)); - } - this.smokeTexture = new cc.Texture2D(); - this.smokeTexture.initWithData(pixels, cc.Texture2D.PixelFormat.RGBA8888, size, size); - this.smokeFrame = new cc.SpriteFrame(this.smokeTexture); - } - } - - private makeTrail(rocket: boolean): cc.ParticleSystem { - if (rocket) this.ensureSmokeFrame(); - else this.ensureSparkleFrame(); - const node = new cc.Node(rocket ? "rocketSmoke" : "hourglassGlow"); - this.root.addChild(node); - const smoke = node.addComponent(cc.ParticleSystem); - smoke.custom = true; - smoke.playOnLoad = false; - smoke.spriteFrame = rocket ? this.smokeFrame : this.sparkleFrame; - smoke.duration = -1; - smoke.positionType = cc.ParticleSystem.PositionType.FREE; - smoke.totalParticles = rocket ? 180 : 40; - smoke.emissionRate = rocket ? 180 : 35; - smoke.life = rocket ? 0.65 : 0.5; - smoke.lifeVar = 0.1; - smoke.startSize = rocket ? 48 : 32; - smoke.startSizeVar = rocket ? 10 : 12; - smoke.endSize = rocket ? 100 : 10; - smoke.endSizeVar = rocket ? 16 : 4; - smoke.speed = rocket ? 12 : 8; - smoke.speedVar = rocket ? 5 : 4; - smoke.angleVar = 180; - smoke.gravity = cc.v2(0, rocket ? -12 : 0); - smoke.startColor = rocket ? cc.color(190, 190, 190, 235) : cc.color(255, 255, 255, 255); - smoke.endColor = rocket ? cc.color(130, 130, 130, 0) : cc.color(255, 255, 255, 0); - smoke.srcBlendFactor = cc.macro.SRC_ALPHA; - smoke.dstBlendFactor = rocket ? cc.macro.ONE_MINUS_SRC_ALPHA : cc.macro.ONE; - smoke.resetSystem(); - return smoke; - } - - private ensureSparkleFrame(): void { - if (this.sparkleFrame) return; - // 白色亮点、柔光和短星芒;与烟雾分开,避免影响火箭及开箱烟团。 - const size = 64, pixels = new Uint8Array(size * size * 4); - for (let y = 0; y < size; y++) for (let x = 0; x < size; x++) { - const dx = Math.abs((x + 0.5 - size / 2) / (size / 2)); - const dy = Math.abs((y + 0.5 - size / 2) / (size / 2)); - const radiusSquared = dx * dx + dy * dy; - const glow = Math.exp(-radiusSquared * 24) + 0.18 * Math.exp(-radiusSquared * 5); - const rays = 0.7 * (Math.exp(-dx * 45) * Math.pow(1 - dy, 2) - + Math.exp(-dy * 45) * Math.pow(1 - dx, 2)); - const offset = (y * size + x) * 4; - pixels[offset] = pixels[offset + 1] = pixels[offset + 2] = 255; - pixels[offset + 3] = Math.round(255 * Math.min(1, Math.max(glow, rays))); - } - this.sparkleTexture = new cc.Texture2D(); - this.sparkleTexture.initWithData(pixels, cc.Texture2D.PixelFormat.RGBA8888, size, size); - this.sparkleFrame = new cc.SpriteFrame(this.sparkleTexture); - } - - dispose(): void { - if (this.disposed) return; - this.disposed = true; - cc.game.off(cc.game.EVENT_HIDE, this.hide); - cc.game.off(cc.game.EVENT_SHOW, this.show); - this.root.active = false; - this.root.destroy(); - if (this.smokeFrame) this.smokeFrame.destroy(); - if (this.smokeTexture) this.smokeTexture.destroy(); - if (this.cloudFrame) this.cloudFrame.destroy(); - if (this.cloudTexture) this.cloudTexture.destroy(); - if (this.sparkleFrame) this.sparkleFrame.destroy(); - if (this.sparkleTexture) this.sparkleTexture.destroy(); - } -} diff --git a/assets/Script/StartBoostOpening.ts.meta b/assets/Script/StartBoostOpening.ts.meta deleted file mode 100644 index 22674447..00000000 --- a/assets/Script/StartBoostOpening.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "9a5d604d-0a4c-4cbb-9b15-563d71edbc5b", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/ThreeWinStreak.ts b/assets/Script/ThreeWinStreak.ts deleted file mode 100644 index 62444892..00000000 --- a/assets/Script/ThreeWinStreak.ts +++ /dev/null @@ -1,81 +0,0 @@ -import Utils from "./module/Pay/Utils"; - -/** 独立于十连胜;一局的资格在创建时固定,失败在确定放弃时结算。 */ -export default class ThreeWinStreak { - private started = false; - private settled = false; - - constructor(private enabled: boolean) {} - - private static count(value: any): number { - const number = Number(value); - return Number.isFinite(number) ? Math.min(3, Math.max(0, Math.floor(number))) : 0; - } - - /** 无参数先恢复本地;登录后传服务器数据,旧账号缺失字段从零开始。 */ - static restore(serverData?: { threeWinStreak?: number }, forced = false) { - if (cc.fx.GameConfig.forceThreeWinStreak) { - cc.fx.GameConfig.GM_INFO.threeWinStreak = 3; - return; - } - const storage = cc.fx.StorageMessage; - if (serverData && forced) { - storage.setStorage("threeWinStreakPending", false); - storage.setStorage("threeWinStreakUnsynced", null); - } else if (storage.getStorage("threeWinStreakPending") === true) { - // 上局开始后未正常结算就杀端,保留待同步的清零结果。 - storage.setStorage("threeWinStreak", 0); - storage.setStorage("threeWinStreakPending", false); - storage.setStorage("threeWinStreakUnsynced", 0); - } - const unsynced = storage.getStorage("threeWinStreakUnsynced"); - const hasUnsynced = typeof unsynced === "number" && Number.isFinite(unsynced); - const value = hasUnsynced ? unsynced : serverData - ? serverData.threeWinStreak : storage.getStorage("threeWinStreak"); - const count = this.count(value); - cc.fx.GameConfig.GM_INFO.threeWinStreak = count; - storage.setStorage("threeWinStreak", count); - if (serverData && hasUnsynced) this.sync(count); - } - - begin() { - if (!this.enabled || this.started || this.settled) return; - this.started = true; - if (cc.fx.GameConfig.forceThreeWinStreak) return; - cc.fx.StorageMessage.setStorage("threeWinStreakPending", true); - } - - win() { - if (!this.enabled || this.settled) return; - this.finish(ThreeWinStreak.count(cc.fx.GameConfig.GM_INFO.threeWinStreak) + 1); - } - - fail() { - if (!this.enabled || !this.started || this.settled) return; - this.finish(0); - } - - private finish(value: number) { - this.settled = true; - if (cc.fx.GameConfig.forceThreeWinStreak) { - cc.fx.GameConfig.GM_INFO.threeWinStreak = 3; - return; - } - const count = ThreeWinStreak.count(value); - const storage = cc.fx.StorageMessage; - cc.fx.GameConfig.GM_INFO.threeWinStreak = count; - storage.setStorage("threeWinStreak", count); - storage.setStorage("threeWinStreakPending", false); - storage.setStorage("threeWinStreakUnsynced", count); - ThreeWinStreak.sync(count); - } - - private static sync(count: number) { - Utils.setWinStreak((data) => { - const storage = cc.fx.StorageMessage; - if (data && data.code === 1 && storage.getStorage("threeWinStreakUnsynced") === count) { - storage.setStorage("threeWinStreakUnsynced", null); - } - }, { threeWinStreak: count }); - } -} diff --git a/assets/Script/ThreeWinStreak.ts.meta b/assets/Script/ThreeWinStreak.ts.meta deleted file mode 100644 index cbb6edf7..00000000 --- a/assets/Script/ThreeWinStreak.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "e47a4504-0ef5-4ba3-8316-24108d877f88", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/ThreeWinsPanel.ts b/assets/Script/ThreeWinsPanel.ts deleted file mode 100644 index fc58d065..00000000 --- a/assets/Script/ThreeWinsPanel.ts +++ /dev/null @@ -1,161 +0,0 @@ -import NumberToImage from "./NumberToImage"; - -const { ccclass } = cc._decorator; - -export type ThreeWinsProp = "hourglass" | "rocket"; - -export interface ThreeWinsSelection { - hourglass: boolean; - rocket: boolean; -} - -export interface ThreeWinsPanelData { - level: number; - threeWinStreak: number; - tenWinStreak: number; - hourglassAmount: number; - rocketAmount: number; - infiniteHourglass?: boolean; - infiniteRocket?: boolean; -} - -export interface ThreeWinsPanelCallbacks { - onProp: (prop: ThreeWinsProp, selected: boolean) => void; - onStart: (selection: ThreeWinsSelection) => void; -} - -/** 只管理预制体显示和选择;库存检查、购买及开局由 SceneManager 处理。 */ -@ccclass -export default class ThreeWinsPanel extends cc.Component { - private atlas: cc.SpriteAtlas = null; - private data: ThreeWinsPanelData = null; - private callbacks: ThreeWinsPanelCallbacks = null; - private selected: ThreeWinsSelection = { hourglass: false, rocket: false }; - private bound = false; - private entryScale: cc.Vec2 = null; - - init(atlas: cc.SpriteAtlas, data: ThreeWinsPanelData, callbacks: ThreeWinsPanelCallbacks) { - this.atlas = atlas; - this.callbacks = callbacks; - this.selected = { hourglass: false, rocket: false }; - if (!this.bound) { - this.node.getChildByName("hourglass").on("click", this.onHourglass, this); - this.node.getChildByName("rocket").on("click", this.onRocket, this); - this.node.getChildByName("begin").on("click", this.onStart, this); - this.bound = true; - } - this.refresh(data); - this.entryScale = cc.v2(this.node.scaleX, this.node.scaleY); - this.node.setScale(0); - } - - playEntry() { - if (!this.entryScale) return; - const scale = this.entryScale; - this.entryScale = null; - cc.tween(this.node) - .to(0.28, { scaleX: scale.x * 1.06, scaleY: scale.y * 1.06 }, { easing: "cubicOut" }) - .to(0.10, { scaleX: scale.x * 0.97, scaleY: scale.y * 0.97 }, { easing: "sineInOut" }) - .to(0.12, { scaleX: scale.x, scaleY: scale.y }, { easing: "sineOut" }) - .start(); - } - - refresh(data: ThreeWinsPanelData) { - this.data = data; - const tier = Math.min(3, Math.max(0, Math.floor(data.threeWinStreak || 0))); - const tenWins = Math.min(10, Math.max(0, Math.floor(data.tenWinStreak || 0))); - const box = this.node.getChildByName("box"); - for (let i = 0; i <= 3; i++) box.getChildByName("box" + i).active = i === tier; - - const three = this.node.getChildByName("three"); - three.getChildByName("progress").getComponent(cc.Sprite).spriteFrame = this.atlas.getSpriteFrame("progress_" + tier); - for (let i = 1; i <= 3; i++) three.getChildByName("progress" + i).active = i <= tier; - this.node.getChildByName("progress").getComponent(cc.Sprite).fillRange = tenWins / 10; - - this.renderNumber(this.node.getChildByName("custom"), data.level, "custom_", 44); - this.renderNumber(this.node.getChildByName("rainbowNumber"), tenWins, "rainbow", 34, true); - this.renderProp("hourglass"); - this.renderProp("rocket"); - } - - refreshInventory(data: ThreeWinsPanelData) { - const previous = this.data; - this.data = data; - if (!previous || previous.hourglassAmount !== data.hourglassAmount || previous.infiniteHourglass !== data.infiniteHourglass) { - this.renderProp("hourglass"); - } - if (!previous || previous.rocketAmount !== data.rocketAmount || previous.infiniteRocket !== data.infiniteRocket) { - this.renderProp("rocket"); - } - } - - setSelected(prop: ThreeWinsProp, selected: boolean) { - this.selected[prop] = selected; - this.renderProp(prop); - } - - private onHourglass() { - if (this.callbacks) this.callbacks.onProp("hourglass", !this.selected.hourglass); - } - - private onRocket() { - if (this.callbacks) this.callbacks.onProp("rocket", !this.selected.rocket); - } - - private onStart() { - if (this.callbacks) this.callbacks.onStart({ ...this.selected }); - } - - private renderProp(prop: ThreeWinsProp) { - const node = this.node.getChildByName(prop); - const count = prop === "hourglass" ? this.data.hourglassAmount : this.data.rocketAmount; - const infinite = prop === "hourglass" ? this.data.infiniteHourglass : this.data.infiniteRocket; - const available = count > 0 || !!infinite; - if (!available) this.selected[prop] = false; - const selected = this.selected[prop]; - node.getChildByName("add").active = !available; - node.getChildByName("select").active = selected; - const remaining = node.getChildByName("remaining"); - remaining.active = available && !selected; - - const amount = remaining.getChildByName("number"); - if (infinite) { - this.clearNumber(amount); - this.addCountSymbol(amount, "∞", 0); - return; - } - - this.renderNumber(amount, count, "prop_", 30); - } - - private renderNumber(target: cc.Node, value: number, prefix: string, spacing: number, right = false) { - this.clearNumber(target); - const number = Math.max(0, Math.floor(value || 0)); - NumberToImage.numberToImageNodesPublic(this.atlas, number, spacing, 0, prefix, target, false); - const offset = right ? (target.childrenCount - 1) * spacing : (target.childrenCount - 1) * spacing / 2; - for (const digit of target.children) digit.x -= offset; - } - - private clearNumber(target: cc.Node) { - for (const child of target.children.slice()) child.destroy(); - target.removeAllChildren(); - } - - private addCountSymbol(target: cc.Node, text: string, x: number) { - const node = new cc.Node("symbol"); - node.parent = target; - node.x = x; - const label = node.addComponent(cc.Label); - label.string = text; - label.fontSize = 36; - label.lineHeight = 44; - label.enableBold = true; - const outline = node.addComponent(cc.LabelOutline); - outline.color = cc.color(126, 44, 20); - outline.width = 2; - } - - onDestroy() { - this.callbacks = null; - } -} diff --git a/assets/Script/ThreeWinsPanel.ts.meta b/assets/Script/ThreeWinsPanel.ts.meta deleted file mode 100644 index 0259697b..00000000 --- a/assets/Script/ThreeWinsPanel.ts.meta +++ /dev/null @@ -1,10 +0,0 @@ -{ - "ver": "1.1.0", - "uuid": "b463c761-fd6c-44bb-84ef-8fe8a792dab6", - "importer": "typescript", - "isPlugin": false, - "loadPluginInWeb": true, - "loadPluginInNative": true, - "loadPluginInEditor": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/Script/module/Config/GameConfig.ts b/assets/Script/module/Config/GameConfig.ts index 74d465d4..8191e413 100644 --- a/assets/Script/module/Config/GameConfig.ts +++ b/assets/Script/module/Config/GameConfig.ts @@ -444,13 +444,6 @@ export class GameConfig { // 临时老彩虹测试开关(默认关闭):开启后强制 C、立即解锁连胜、始终十连胜。 static forceOldRainbowWinStreakC = false; - // 临时测试:本地始终保持三连胜,不写入真实存档;false 恢复正常规则。 - static forceThreeWinStreak = false; - - static isStartBoostersUnlocked(): boolean { - return this.GM_INFO.level + 1 >= 25 && !(this.GM_INFO.otherLevel > 0); - } - static isRainbowWinStreak(): boolean { if (this.forceOldRainbowWinStreakC) return false; if (this.forceRainbowWinStreakB) return true; @@ -478,8 +471,7 @@ export class GameConfig { } static gameplayBlockExtraPaths(blocks: any[]): string[] { - return GAMEPLAY_ATLAS_PATHS.concat(this.isRainbowRewardActive() || this.isStartBoostersUnlocked() - ? rainbowTexturePaths(blocks) : []); + return GAMEPLAY_ATLAS_PATHS.concat(this.isRainbowRewardActive() ? rainbowTexturePaths(blocks) : []); } static isWinStreakUnlocked(): boolean { @@ -602,7 +594,6 @@ export class GameConfig { getItemType: number; popPassCheck: boolean; // 弹窗通行证 passCheckActivate: boolean; winStreak: number; //连胜 - threeWinStreak: number; //独立三连胜,奖励封顶三档 tasks: any; addLevel: number; //每日/周任务数据 address: string; //用户城市信息 firstTime: number; //用户注册时间 @@ -829,7 +820,6 @@ export class GameConfig { popPassCheck: false, // 弹窗通行证 passCheckActivate: false, winStreak: (this.forceOldRainbowWinStreakC || this.forceRainbowWinStreakB) ? 10 : 0, //测试模式默认十连胜 - threeWinStreak: this.forceThreeWinStreak ? 3 : 0, tasks: { levelPass: { value: 0, target: 0, state: 0 }, share: { value: 0, target: 0, state: 0 }, useEnergy: { value: 0, target: 0, state: 0 }, useProp: { value: 0, target: 0, state: 0 } }, addLevel: 0, //每日过关数 address: "", //用户城市信息 diff --git a/assets/Script/module/Pay/Utils.ts b/assets/Script/module/Pay/Utils.ts index 7a7c9cf1..bd0971de 100644 --- a/assets/Script/module/Pay/Utils.ts +++ b/assets/Script/module/Pay/Utils.ts @@ -181,8 +181,8 @@ export default class Utils { static outTradeNo: string = ""; // static httpip: string = `https://laf.nika4games.com/`; //五彩消消乐 static httpip: string = `https://q6rvwvtnga.sealoshzh.site/`; //消消王者 - // static testHttpip: string = `https://sor779u2w8.sealoshzh.site/`; //测试服务器 - static testHttpip: string = `https://q6rvwvtnga.sealoshzh.site/`; //消消王者测试服暂替 + static testHttpip: string = `https://sor779u2w8.sealoshzh.site/`; //测试服务器 + // static testHttpip: string = `https://q6rvwvtnga.sealoshzh.site/`; //消消王者测试服暂替 //#region 安卓支付 /**获取用户信息*/ static getUserInfo(callBack, from?: string, wucaiEntryId = "") { @@ -1633,7 +1633,7 @@ export default class Utils { } //设置连胜次数 - static setWinStreak(callBack, fields?: { winStreak?: number; threeWinStreak?: number }) { + static setWinStreak(callBack) { //@ts-ignore if ((typeof wx !== 'undefined' && wx !== null) || (typeof tt !== 'undefined' && tt !== null)) { let uid = cc.fx.StorageMessage.getStorage("uid"); @@ -1644,7 +1644,7 @@ export default class Utils { let setData = { uid: cc.fx.GameConfig.GM_INFO.uid, action: 'save', - ...(fields || { winStreak: cc.fx.GameConfig.GM_INFO.winStreak }), + winStreak: cc.fx.GameConfig.GM_INFO.winStreak, } Utils.POST("setWinStreak", setData, res => { if (res.code === 1) { diff --git a/assets/Script/module/Tool/GameTool.ts b/assets/Script/module/Tool/GameTool.ts index aa5e9bfb..9209505a 100644 --- a/assets/Script/module/Tool/GameTool.ts +++ b/assets/Script/module/Tool/GameTool.ts @@ -849,7 +849,7 @@ var GameTool = { //更改用户道具数 buyProp(propid, callback: Function) { //@ts-ignore - if ((typeof wx !== 'undefined' && wx !== null) || (typeof tt !== 'undefined' && tt !== null) || propid === 2006 || propid === 2007) { + if ((typeof wx !== 'undefined' && wx !== null) || (typeof tt !== 'undefined' && tt !== null)) { let num = 3; let cost = 600; @@ -861,10 +861,6 @@ var GameTool = { else if (propid == 2002) { num = 1; } - else if (propid == 2006 || propid == 2007) { - cost = propid == 2006 ? 200 : 800; - if (cc.fx.GameConfig.GM_INFO.coin < cost) return; - } //console.log("_____________新版本", num); cc.fx.GameTool.changeCoin(-cost); const dataTemp = { @@ -891,19 +887,11 @@ var GameTool = { cc.fx.GameConfig.GM_INFO.magicAmount += num; propNumber = cc.fx.GameConfig.GM_INFO.magicAmount; } - else if (propid == 2006 || propid == 2007) { - const prop = propid == 2006 ? "hourglass" : "rocket"; - _id = prop + "_in_game"; - cc.fx.GameConfig.GM_INFO[prop + "Amount"] += num; - propNumber = cc.fx.GameConfig.GM_INFO[prop + "Amount"]; - } const timestamp = Date.now(); - let propInfo = cc.fx.StorageMessage.getStorage("prop") || {}; + let propInfo = cc.fx.StorageMessage.getStorage("prop"); propInfo.hammerAmount = cc.fx.GameConfig.GM_INFO.hammerAmount; propInfo.magicAmount = cc.fx.GameConfig.GM_INFO.magicAmount; propInfo.freezeAmount = cc.fx.GameConfig.GM_INFO.freezeAmount; - propInfo.hourglassAmount = cc.fx.GameConfig.GM_INFO.hourglassAmount; - propInfo.rocketAmount = cc.fx.GameConfig.GM_INFO.rocketAmount; propInfo.timestamp = timestamp; cc.fx.StorageMessage.setStorage("prop", propInfo); @@ -949,15 +937,6 @@ var GameTool = { }, //改变用户道具 - saveStartBoostInventory(prop: "hourglass" | "rocket") { - const amount = cc.fx.GameConfig.GM_INFO[prop + "Amount"]; - const cached = cc.fx.StorageMessage.getStorage("prop") || {}; - cached[prop + "Amount"] = amount; - cached.timestamp = Date.now(); - cc.fx.StorageMessage.setStorage("prop", cached); - this.setUserProp(prop === "hourglass" ? 2006 : 2007, amount, null); - }, - setUserProp(propid, amount, callback) { //@ts-ignore if ((typeof wx !== 'undefined' && wx !== null) || (typeof tt !== 'undefined' && tt !== null)) { @@ -979,7 +958,7 @@ var GameTool = { else if (propid == 2002) { newPropData = amount; } - else if (propid == 2003 || propid == 2006 || propid == 2007) { + else if (propid == 2003) { newPropData = amount; } @@ -1567,12 +1546,10 @@ var GameTool = { stage_id: userLevel, is_frenzy: data.is_frenzy, infinity: data.infinity, - pilot_drop: data.pilot_drop || 0, } if (cc.fx.GameConfig.GM_INFO.otherLevel > 0) { eventData = { stage_id: cc.fx.GameConfig.GM_INFO.otherLevel, - pilot_drop: data.pilot_drop || 0, } } break; diff --git a/assets/UI/prop/get.png b/assets/UI/prop/get.png deleted file mode 100644 index 6353db1d..00000000 Binary files a/assets/UI/prop/get.png and /dev/null differ diff --git a/assets/UI/prop/get.png.meta b/assets/UI/prop/get.png.meta deleted file mode 100644 index 486df696..00000000 --- a/assets/UI/prop/get.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "c38df1b0-cc5a-456c-822d-445da50c1679", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 100, - "height": 82, - "platformSettings": {}, - "subMetas": { - "get": { - "ver": "1.0.6", - "uuid": "dde22b43-d679-45fc-b7ef-eb3910b15f01", - "importer": "sprite-frame", - "rawTextureUuid": "c38df1b0-cc5a-456c-822d-445da50c1679", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 100, - "height": 82, - "rawWidth": 100, - "rawHeight": 82, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/begin.png b/assets/UI/prop/threeWins/begin.png deleted file mode 100644 index 24ff2663..00000000 Binary files a/assets/UI/prop/threeWins/begin.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/begin.png.meta b/assets/UI/prop/threeWins/begin.png.meta deleted file mode 100644 index 2eda6308..00000000 --- a/assets/UI/prop/threeWins/begin.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "58458622-1e73-4bd7-a027-faa8c068d54c", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 472, - "height": 162, - "platformSettings": {}, - "subMetas": { - "begin": { - "ver": "1.0.6", - "uuid": "e96d80c7-bc9b-432a-81c1-918f0f826e45", - "importer": "sprite-frame", - "rawTextureUuid": "58458622-1e73-4bd7-a027-faa8c068d54c", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 472, - "height": 162, - "rawWidth": 472, - "rawHeight": 162, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/box0.png b/assets/UI/prop/threeWins/box0.png deleted file mode 100644 index 3bb0f285..00000000 Binary files a/assets/UI/prop/threeWins/box0.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/box0.png.meta b/assets/UI/prop/threeWins/box0.png.meta deleted file mode 100644 index 50ac534d..00000000 --- a/assets/UI/prop/threeWins/box0.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "3fce659d-4e6a-4f7b-a2dd-ce29b9c5ef25", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 336, - "height": 329, - "platformSettings": {}, - "subMetas": { - "box0": { - "ver": "1.0.6", - "uuid": "3471be78-1700-41c0-b0e8-5c9552137da8", - "importer": "sprite-frame", - "rawTextureUuid": "3fce659d-4e6a-4f7b-a2dd-ce29b9c5ef25", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": -19, - "trimX": 0, - "trimY": 38, - "width": 336, - "height": 291, - "rawWidth": 336, - "rawHeight": 329, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/box1.png b/assets/UI/prop/threeWins/box1.png deleted file mode 100644 index 907aef04..00000000 Binary files a/assets/UI/prop/threeWins/box1.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/box1.png.meta b/assets/UI/prop/threeWins/box1.png.meta deleted file mode 100644 index 907e75a5..00000000 --- a/assets/UI/prop/threeWins/box1.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "951a6a7f-2791-4ebd-a0d2-9e4a917e26a8", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 336, - "height": 329, - "platformSettings": {}, - "subMetas": { - "box1": { - "ver": "1.0.6", - "uuid": "238869a8-0e31-4242-bf93-d213c3a9de6f", - "importer": "sprite-frame", - "rawTextureUuid": "951a6a7f-2791-4ebd-a0d2-9e4a917e26a8", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 336, - "height": 329, - "rawWidth": 336, - "rawHeight": 329, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/box2.png b/assets/UI/prop/threeWins/box2.png deleted file mode 100644 index a4f4476e..00000000 Binary files a/assets/UI/prop/threeWins/box2.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/box2.png.meta b/assets/UI/prop/threeWins/box2.png.meta deleted file mode 100644 index eb0d3f15..00000000 --- a/assets/UI/prop/threeWins/box2.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "a7d68b5a-12b5-46d8-b0ff-be7d75c2323d", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 406, - "height": 378, - "platformSettings": {}, - "subMetas": { - "box2": { - "ver": "1.0.6", - "uuid": "ad4d3415-9594-44a1-8407-322777babe54", - "importer": "sprite-frame", - "rawTextureUuid": "a7d68b5a-12b5-46d8-b0ff-be7d75c2323d", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 406, - "height": 378, - "rawWidth": 406, - "rawHeight": 378, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/box3.png b/assets/UI/prop/threeWins/box3.png index 346274e4..f99a6b71 100644 Binary files a/assets/UI/prop/threeWins/box3.png and b/assets/UI/prop/threeWins/box3.png differ diff --git a/assets/UI/prop/threeWins/box3.png.meta b/assets/UI/prop/threeWins/box3.png.meta index 75ef7f07..fee07181 100644 --- a/assets/UI/prop/threeWins/box3.png.meta +++ b/assets/UI/prop/threeWins/box3.png.meta @@ -8,8 +8,8 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 483, - "height": 436, + "width": 242, + "height": 218, "platformSettings": {}, "subMetas": { "box3": { @@ -24,10 +24,10 @@ "offsetY": 0, "trimX": 0, "trimY": 0, - "width": 483, - "height": 436, - "rawWidth": 483, - "rawHeight": 436, + "width": 242, + "height": 218, + "rawWidth": 242, + "rawHeight": 218, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, diff --git a/assets/UI/prop/threeWins/daoju.png b/assets/UI/prop/threeWins/daoju.png deleted file mode 100644 index b4fe06a7..00000000 Binary files a/assets/UI/prop/threeWins/daoju.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/daoju.png.meta b/assets/UI/prop/threeWins/daoju.png.meta deleted file mode 100644 index 3192ed2e..00000000 --- a/assets/UI/prop/threeWins/daoju.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "8251ff9b-0d35-495b-a597-cbc8ed9e7d5a", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 228, - "height": 228, - "platformSettings": {}, - "subMetas": { - "daoju": { - "ver": "1.0.6", - "uuid": "c16ef371-b6e7-4645-92b8-6b0a80efb5af", - "importer": "sprite-frame", - "rawTextureUuid": "8251ff9b-0d35-495b-a597-cbc8ed9e7d5a", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 228, - "height": 228, - "rawWidth": 228, - "rawHeight": 228, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/daojukuangBg.png b/assets/UI/prop/threeWins/daojukuangBg.png deleted file mode 100644 index 87eafb46..00000000 Binary files a/assets/UI/prop/threeWins/daojukuangBg.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/daojukuangBg.png.meta b/assets/UI/prop/threeWins/daojukuangBg.png.meta deleted file mode 100644 index 41b62dc0..00000000 --- a/assets/UI/prop/threeWins/daojukuangBg.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "3b90eded-579b-47df-9cb2-5baf41ef94b4", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 214, - "height": 216, - "platformSettings": {}, - "subMetas": { - "daojukuangBg": { - "ver": "1.0.6", - "uuid": "f41af2de-2767-4631-9c28-ef74b58a9eee", - "importer": "sprite-frame", - "rawTextureUuid": "3b90eded-579b-47df-9cb2-5baf41ef94b4", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": -0.5, - "trimX": 1, - "trimY": 1, - "width": 212, - "height": 215, - "rawWidth": 214, - "rawHeight": 216, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/dik00.png b/assets/UI/prop/threeWins/dik00.png deleted file mode 100644 index b9df8ec1..00000000 Binary files a/assets/UI/prop/threeWins/dik00.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/dik00.png.meta b/assets/UI/prop/threeWins/dik00.png.meta deleted file mode 100644 index 66445c01..00000000 --- a/assets/UI/prop/threeWins/dik00.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "2a8a6f11-be5a-4abc-b1c7-67b4b7391a5f", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 190, - "height": 190, - "platformSettings": {}, - "subMetas": { - "dik00": { - "ver": "1.0.6", - "uuid": "2e0a80d2-cbe1-4c05-bcea-c7f954d910e6", - "importer": "sprite-frame", - "rawTextureUuid": "2a8a6f11-be5a-4abc-b1c7-67b4b7391a5f", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 190, - "height": 190, - "rawWidth": 190, - "rawHeight": 190, - "borderTop": 62, - "borderBottom": 76, - "borderLeft": 74, - "borderRight": 75, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/dikkkk.png b/assets/UI/prop/threeWins/dikkkk.png deleted file mode 100644 index 73200bca..00000000 Binary files a/assets/UI/prop/threeWins/dikkkk.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/dikkkk.png.meta b/assets/UI/prop/threeWins/dikkkk.png.meta deleted file mode 100644 index 6ad7ff66..00000000 --- a/assets/UI/prop/threeWins/dikkkk.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "45f7773c-8f58-47d0-bf85-a7889a4d7e86", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 862, - "height": 754, - "platformSettings": {}, - "subMetas": { - "dikkkk": { - "ver": "1.0.6", - "uuid": "3f9aa048-60dd-4f65-acfd-6780204b8c6f", - "importer": "sprite-frame", - "rawTextureUuid": "45f7773c-8f58-47d0-bf85-a7889a4d7e86", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 862, - "height": 754, - "rawWidth": 862, - "rawHeight": 754, - "borderTop": 223, - "borderBottom": 519, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/erhao.png b/assets/UI/prop/threeWins/erhao.png deleted file mode 100644 index bfb2efa4..00000000 Binary files a/assets/UI/prop/threeWins/erhao.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/erhao.png.meta b/assets/UI/prop/threeWins/erhao.png.meta deleted file mode 100644 index fa850b25..00000000 --- a/assets/UI/prop/threeWins/erhao.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "b53b3cb8-314f-486d-a1ab-a1550cc55dd5", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 177, - "height": 48, - "platformSettings": {}, - "subMetas": { - "erhao": { - "ver": "1.0.6", - "uuid": "ec780d1b-a7a3-4430-9212-8cf51119df24", - "importer": "sprite-frame", - "rawTextureUuid": "b53b3cb8-314f-486d-a1ab-a1550cc55dd5", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 177, - "height": 48, - "rawWidth": 177, - "rawHeight": 48, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/hourglass.png b/assets/UI/prop/threeWins/hourglass.png index dfe135ca..925d794a 100644 Binary files a/assets/UI/prop/threeWins/hourglass.png and b/assets/UI/prop/threeWins/hourglass.png differ diff --git a/assets/UI/prop/threeWins/hourglass.png.meta b/assets/UI/prop/threeWins/hourglass.png.meta index 9e55b63b..e6e97aff 100644 --- a/assets/UI/prop/threeWins/hourglass.png.meta +++ b/assets/UI/prop/threeWins/hourglass.png.meta @@ -8,8 +8,8 @@ "premultiplyAlpha": false, "genMipmaps": false, "packable": true, - "width": 228, - "height": 322, + "width": 88, + "height": 124, "platformSettings": {}, "subMetas": { "hourglass": { @@ -24,10 +24,10 @@ "offsetY": 0, "trimX": 0, "trimY": 0, - "width": 228, - "height": 322, - "rawWidth": 228, - "rawHeight": 322, + "width": 88, + "height": 124, + "rawWidth": 88, + "rawHeight": 124, "borderTop": 0, "borderBottom": 0, "borderLeft": 0, diff --git a/assets/UI/prop/threeWins/jiahao.png b/assets/UI/prop/threeWins/jiahao.png deleted file mode 100644 index 4e8fe74b..00000000 Binary files a/assets/UI/prop/threeWins/jiahao.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/jiahao.png.meta b/assets/UI/prop/threeWins/jiahao.png.meta deleted file mode 100644 index 908cad3d..00000000 --- a/assets/UI/prop/threeWins/jiahao.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "2bb2e70f-5aeb-4873-993f-7af2097468ba", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 68, - "height": 74, - "platformSettings": {}, - "subMetas": { - "jiahao": { - "ver": "1.0.6", - "uuid": "914ed47f-988f-40db-ae8b-66e0bf7652bd", - "importer": "sprite-frame", - "rawTextureUuid": "2bb2e70f-5aeb-4873-993f-7af2097468ba", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 68, - "height": 74, - "rawWidth": 68, - "rawHeight": 74, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/jindu01.png b/assets/UI/prop/threeWins/jindu01.png deleted file mode 100644 index 97ed0d76..00000000 Binary files a/assets/UI/prop/threeWins/jindu01.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/jindu01.png.meta b/assets/UI/prop/threeWins/jindu01.png.meta deleted file mode 100644 index d7f17cb6..00000000 --- a/assets/UI/prop/threeWins/jindu01.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "13807b51-8d00-4f0f-bc26-197928cdc656", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 98, - "height": 80, - "platformSettings": {}, - "subMetas": { - "jindu01": { - "ver": "1.0.6", - "uuid": "2e7b181e-3507-414e-97ca-f5d872274408", - "importer": "sprite-frame", - "rawTextureUuid": "13807b51-8d00-4f0f-bc26-197928cdc656", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 1, - "trimY": 0, - "width": 96, - "height": 80, - "rawWidth": 98, - "rawHeight": 80, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/jindu02.png b/assets/UI/prop/threeWins/jindu02.png deleted file mode 100644 index 6aad4082..00000000 Binary files a/assets/UI/prop/threeWins/jindu02.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/jindu02.png.meta b/assets/UI/prop/threeWins/jindu02.png.meta deleted file mode 100644 index ed5e463e..00000000 --- a/assets/UI/prop/threeWins/jindu02.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "87c3d7a4-57af-4128-add9-82410135f205", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 98, - "height": 81, - "platformSettings": {}, - "subMetas": { - "jindu02": { - "ver": "1.0.6", - "uuid": "dba01350-b43c-46a9-8c0e-5bb751eb30e7", - "importer": "sprite-frame", - "rawTextureUuid": "87c3d7a4-57af-4128-add9-82410135f205", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -0.5, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 97, - "height": 81, - "rawWidth": 98, - "rawHeight": 81, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/jindu03.png b/assets/UI/prop/threeWins/jindu03.png deleted file mode 100644 index 65b8eb6f..00000000 Binary files a/assets/UI/prop/threeWins/jindu03.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/jindu03.png.meta b/assets/UI/prop/threeWins/jindu03.png.meta deleted file mode 100644 index 71bd53bb..00000000 --- a/assets/UI/prop/threeWins/jindu03.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "299a7b76-287b-47f2-887e-4dec53c88b0d", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 98, - "height": 80, - "platformSettings": {}, - "subMetas": { - "jindu03": { - "ver": "1.0.6", - "uuid": "77b05e56-6ac4-4464-9677-e7758bc1019e", - "importer": "sprite-frame", - "rawTextureUuid": "299a7b76-287b-47f2-887e-4dec53c88b0d", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 98, - "height": 80, - "rawWidth": 98, - "rawHeight": 80, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/jinduBg.png b/assets/UI/prop/threeWins/jinduBg.png deleted file mode 100644 index ae0cf730..00000000 Binary files a/assets/UI/prop/threeWins/jinduBg.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/jinduBg.png.meta b/assets/UI/prop/threeWins/jinduBg.png.meta deleted file mode 100644 index 098ee69d..00000000 --- a/assets/UI/prop/threeWins/jinduBg.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "e7c9aca9-01ad-4e88-a9d7-839deae424e9", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 262, - "height": 85, - "platformSettings": {}, - "subMetas": { - "jinduBg": { - "ver": "1.0.6", - "uuid": "bf3beea2-1ffc-4d76-8d07-bbe83b1b9e09", - "importer": "sprite-frame", - "rawTextureUuid": "e7c9aca9-01ad-4e88-a9d7-839deae424e9", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 262, - "height": 85, - "rawWidth": 262, - "rawHeight": 85, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/lianshengjind.png b/assets/UI/prop/threeWins/lianshengjind.png deleted file mode 100644 index 6f0b4b49..00000000 Binary files a/assets/UI/prop/threeWins/lianshengjind.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/lianshengjind.png.meta b/assets/UI/prop/threeWins/lianshengjind.png.meta deleted file mode 100644 index 26d16f58..00000000 --- a/assets/UI/prop/threeWins/lianshengjind.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "758bb53b-af1d-4d32-9b28-acd56b7f911a", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 187, - "height": 43, - "platformSettings": {}, - "subMetas": { - "lianshengjind": { - "ver": "1.0.6", - "uuid": "2137246a-aabd-46ad-bfc5-d80be665e524", - "importer": "sprite-frame", - "rawTextureUuid": "758bb53b-af1d-4d32-9b28-acd56b7f911a", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 187, - "height": 43, - "rawWidth": 187, - "rawHeight": 43, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/little_rainbow.png b/assets/UI/prop/threeWins/little_rainbow.png deleted file mode 100644 index 894c0739..00000000 Binary files a/assets/UI/prop/threeWins/little_rainbow.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/little_rainbow.png.meta b/assets/UI/prop/threeWins/little_rainbow.png.meta deleted file mode 100644 index 16059763..00000000 --- a/assets/UI/prop/threeWins/little_rainbow.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "eff6312c-f0d7-4d64-bb76-49b9f9f6caad", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 145, - "height": 156, - "platformSettings": {}, - "subMetas": { - "little_rainbow": { - "ver": "1.0.6", - "uuid": "1e79f3d6-af31-4d9c-b61b-74929440537c", - "importer": "sprite-frame", - "rawTextureUuid": "eff6312c-f0d7-4d64-bb76-49b9f9f6caad", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 1, - "trimY": 0, - "width": 143, - "height": 156, - "rawWidth": 145, - "rawHeight": 156, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/rocket.png b/assets/UI/prop/threeWins/rocket.png index 9690fbc6..5c44effe 100644 Binary files a/assets/UI/prop/threeWins/rocket.png and b/assets/UI/prop/threeWins/rocket.png differ diff --git a/assets/UI/prop/threeWins/shuipdi.png b/assets/UI/prop/threeWins/shuipdi.png deleted file mode 100644 index 7b13d028..00000000 Binary files a/assets/UI/prop/threeWins/shuipdi.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/shuipdi.png.meta b/assets/UI/prop/threeWins/shuipdi.png.meta deleted file mode 100644 index 867b9373..00000000 --- a/assets/UI/prop/threeWins/shuipdi.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "c8e2a0fc-e660-4f8a-959c-f89ec9bfa218", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 198, - "height": 198, - "platformSettings": {}, - "subMetas": { - "shuipdi": { - "ver": "1.0.6", - "uuid": "1d885710-02b4-424c-b32b-df11973d0ded", - "importer": "sprite-frame", - "rawTextureUuid": "c8e2a0fc-e660-4f8a-959c-f89ec9bfa218", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 1, - "trimY": 1, - "width": 196, - "height": 196, - "rawWidth": 198, - "rawHeight": 198, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/shuziBg.png b/assets/UI/prop/threeWins/shuziBg.png deleted file mode 100644 index ca04c682..00000000 Binary files a/assets/UI/prop/threeWins/shuziBg.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/shuziBg.png.meta b/assets/UI/prop/threeWins/shuziBg.png.meta deleted file mode 100644 index 7f247951..00000000 --- a/assets/UI/prop/threeWins/shuziBg.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "6002fa76-5c47-40de-a2f1-812cdf2c7a12", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 68, - "height": 74, - "platformSettings": {}, - "subMetas": { - "shuziBg": { - "ver": "1.0.6", - "uuid": "d45452ee-6ac4-4adc-ad49-cd876b55589f", - "importer": "sprite-frame", - "rawTextureUuid": "6002fa76-5c47-40de-a2f1-812cdf2c7a12", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 68, - "height": 74, - "rawWidth": 68, - "rawHeight": 74, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/threeWinsFont.plist b/assets/UI/prop/threeWins/threeWinsFont.plist deleted file mode 100644 index 3d3d20a0..00000000 --- a/assets/UI/prop/threeWins/threeWinsFont.plist +++ /dev/null @@ -1,516 +0,0 @@ - - - - - frames - - custom_0.png - - frame - {{92,63},{45,59}} - offset - {0,0} - rotated - - sourceColorRect - {{0,2},{45,59}} - sourceSize - {45,63} - - custom_1.png - - frame - {{180,63},{27,59}} - offset - {-1,1} - rotated - - sourceColorRect - {{8,1},{27,59}} - sourceSize - {45,63} - - custom_2.png - - frame - {{139,63},{39,59}} - offset - {0,1} - rotated - - sourceColorRect - {{3,1},{39,59}} - sourceSize - {45,63} - - custom_3.png - - frame - {{176,2},{37,59}} - offset - {-1,1} - rotated - - sourceColorRect - {{3,1},{37,59}} - sourceSize - {45,63} - - custom_4.png - - frame - {{88,2},{45,59}} - offset - {0,0} - rotated - - sourceColorRect - {{0,2},{45,59}} - sourceSize - {45,63} - - custom_5.png - - frame - {{135,2},{39,59}} - offset - {0,1} - rotated - - sourceColorRect - {{3,1},{39,59}} - sourceSize - {45,63} - - custom_6.png - - frame - {{45,2},{41,61}} - offset - {-1,1} - rotated - - sourceColorRect - {{1,0},{41,61}} - sourceSize - {45,63} - - custom_7.png - - frame - {{45,65},{45,59}} - offset - {0,0} - rotated - - sourceColorRect - {{0,2},{45,59}} - sourceSize - {45,63} - - custom_8.png - - frame - {{2,65},{41,61}} - offset - {0,0} - rotated - - sourceColorRect - {{2,1},{41,61}} - sourceSize - {45,63} - - custom_9.png - - frame - {{2,2},{41,61}} - offset - {0,0} - rotated - - sourceColorRect - {{2,1},{41,61}} - sourceSize - {45,63} - - progressBg_3.png - - frame - {{470,28},{24,32}} - offset - {0,1} - rotated - - sourceColorRect - {{3,0},{24,32}} - sourceSize - {30,34} - - progressBg_guan.png - - frame - {{322,94},{30,32}} - offset - {0,0} - rotated - - sourceColorRect - {{0,0},{30,32}} - sourceSize - {30,32} - - progressBg_xiegang.png - - frame - {{385,2},{25,39}} - offset - {0,0} - rotated - - sourceColorRect - {{0,0},{25,39}} - sourceSize - {25,39} - - progress_0.png - - frame - {{290,94},{30,32}} - offset - {0,1} - rotated - - sourceColorRect - {{0,0},{30,32}} - sourceSize - {30,34} - - progress_1.png - - frame - {{209,111},{18,32}} - offset - {-1,1} - rotated - - sourceColorRect - {{5,0},{18,32}} - sourceSize - {30,34} - - progress_2.png - - frame - {{470,54},{26,30}} - offset - {0,0} - rotated - - sourceColorRect - {{2,2},{26,30}} - sourceSize - {30,34} - - progress_3.png - - frame - {{470,2},{24,32}} - offset - {0,1} - rotated - - sourceColorRect - {{3,0},{24,32}} - sourceSize - {30,34} - - prop_0.png - - frame - {{408,43},{30,37}} - offset - {0,0} - rotated - - sourceColorRect - {{0,1},{30,37}} - sourceSize - {30,39} - - prop_1.png - - frame - {{448,80},{20,37}} - offset - {0,0} - rotated - - sourceColorRect - {{5,1},{20,37}} - sourceSize - {30,39} - - prop_2.png - - frame - {{440,41},{28,37}} - offset - {-1,0} - rotated - - sourceColorRect - {{0,1},{28,37}} - sourceSize - {30,39} - - prop_3.png - - frame - {{470,82},{26,37}} - offset - {0,0} - rotated - - sourceColorRect - {{2,1},{26,37}} - sourceSize - {30,39} - - prop_4.png - - frame - {{386,84},{30,37}} - offset - {0,0} - rotated - - sourceColorRect - {{0,1},{30,37}} - sourceSize - {30,39} - - prop_5.png - - frame - {{418,82},{28,37}} - offset - {-1,1} - rotated - - sourceColorRect - {{0,0},{28,37}} - sourceSize - {30,39} - - prop_6.png - - frame - {{412,2},{28,37}} - offset - {-1,0} - rotated - - sourceColorRect - {{0,1},{28,37}} - sourceSize - {30,39} - - prop_7.png - - frame - {{354,92},{30,37}} - offset - {0,0} - rotated - - sourceColorRect - {{0,1},{30,37}} - sourceSize - {30,39} - - prop_8.png - - frame - {{378,43},{28,39}} - offset - {-1,0} - rotated - - sourceColorRect - {{0,0},{28,39}} - sourceSize - {30,39} - - prop_9.png - - frame - {{355,2},{28,39}} - offset - {0,0} - rotated - - sourceColorRect - {{1,0},{28,39}} - sourceSize - {30,39} - - rainbow0.png - - frame - {{281,48},{35,44}} - offset - {0,0} - rotated - - sourceColorRect - {{0,1},{35,44}} - sourceSize - {35,46} - - rainbow1.png - - frame - {{351,48},{25,42}} - offset - {-1,0} - rotated - - sourceColorRect - {{4,2},{25,42}} - sourceSize - {35,46} - - rainbow2.png - - frame - {{287,2},{33,44}} - offset - {-1,1} - rotated - - sourceColorRect - {{0,0},{33,44}} - sourceSize - {35,46} - - rainbow3.png - - frame - {{322,2},{31,44}} - offset - {-1,1} - rotated - - sourceColorRect - {{1,0},{31,44}} - sourceSize - {35,46} - - rainbow4.png - - frame - {{250,2},{35,44}} - offset - {0,0} - rotated - - sourceColorRect - {{0,1},{35,44}} - sourceSize - {35,46} - - rainbow5.png - - frame - {{318,48},{31,44}} - offset - {0,1} - rotated - - sourceColorRect - {{2,0},{31,44}} - sourceSize - {35,46} - - rainbow6.png - - frame - {{244,96},{33,44}} - offset - {-1,0} - rotated - - sourceColorRect - {{0,1},{33,44}} - sourceSize - {35,46} - - rainbow7.png - - frame - {{244,50},{35,44}} - offset - {0,1} - rotated - - sourceColorRect - {{0,0},{35,44}} - sourceSize - {35,46} - - rainbow8.png - - frame - {{215,2},{33,46}} - offset - {0,0} - rotated - - sourceColorRect - {{1,0},{33,46}} - sourceSize - {35,46} - - rainbow9.png - - frame - {{209,63},{33,46}} - offset - {0,0} - rotated - - sourceColorRect - {{1,0},{33,46}} - sourceSize - {35,46} - - xiegan00.png - - frame - {{442,2},{26,37}} - offset - {0,0} - rotated - - sourceColorRect - {{0,0},{26,37}} - sourceSize - {26,37} - - - metadata - - format - 2 - realTextureFileName - threeWinsFont.png - size - {504,132} - smartupdate - $TexturePacker:SmartUpdate:d314eda09df83f5a2c16c0ff9b279c60$ - textureFileName - threeWinsFont.png - - - diff --git a/assets/UI/prop/threeWins/threeWinsFont.plist.meta b/assets/UI/prop/threeWins/threeWinsFont.plist.meta deleted file mode 100644 index b7d3fe76..00000000 --- a/assets/UI/prop/threeWins/threeWinsFont.plist.meta +++ /dev/null @@ -1,887 +0,0 @@ -{ - "ver": "1.2.6", - "uuid": "7ed7640c-5fe6-4777-98f2-299424c47a92", - "importer": "asset", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "size": { - "width": 504, - "height": 132 - }, - "type": "Texture Packer", - "subMetas": { - "custom_0.png": { - "ver": "1.0.6", - "uuid": "fc777226-b812-4341-bf30-bcbe6acc34f5", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 92, - "trimY": 63, - "width": 45, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_1.png": { - "ver": "1.0.6", - "uuid": "9c7e6b23-f2a7-4e22-be62-777d4bef05ea", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 180, - "trimY": 63, - "width": 27, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_2.png": { - "ver": "1.0.6", - "uuid": "e001e2fa-b22a-4327-a048-e48691c6846a", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1, - "trimX": 139, - "trimY": 63, - "width": 39, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_3.png": { - "ver": "1.0.6", - "uuid": "c8e7f56f-8445-4596-888b-6e20285de239", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 176, - "trimY": 2, - "width": 37, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_4.png": { - "ver": "1.0.6", - "uuid": "270813d0-6bc1-4b10-aaca-de4fe664e0f7", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 88, - "trimY": 2, - "width": 45, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_5.png": { - "ver": "1.0.6", - "uuid": "1eeafac1-810c-4db2-8909-7cdc91c3e286", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1, - "trimX": 135, - "trimY": 2, - "width": 39, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_6.png": { - "ver": "1.0.6", - "uuid": "5b7befce-d4c7-412b-83f7-3505ed4e005c", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 45, - "trimY": 2, - "width": 41, - "height": 61, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_7.png": { - "ver": "1.0.6", - "uuid": "f5bd64ae-6b5f-4c8d-bfb8-95eaa0ae0301", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 45, - "trimY": 65, - "width": 45, - "height": 59, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_8.png": { - "ver": "1.0.6", - "uuid": "66bac11d-ee08-42d5-ad2a-71b7ea738b79", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 2, - "trimY": 65, - "width": 41, - "height": 61, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "custom_9.png": { - "ver": "1.0.6", - "uuid": "f38aa1e5-df48-44d6-8e0d-3cffd6004e0d", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 2, - "trimY": 2, - "width": 41, - "height": 61, - "rawWidth": 45, - "rawHeight": 63, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progressBg_3.png": { - "ver": "1.0.6", - "uuid": "32a34113-d9b4-4ce4-a820-55db829eddb6", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": true, - "offsetX": 0, - "offsetY": 1, - "trimX": 470, - "trimY": 28, - "width": 24, - "height": 32, - "rawWidth": 30, - "rawHeight": 34, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progressBg_guan.png": { - "ver": "1.0.6", - "uuid": "2cc8910f-e57f-4b1e-b2f8-19263efbecfd", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 322, - "trimY": 94, - "width": 30, - "height": 32, - "rawWidth": 30, - "rawHeight": 32, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progressBg_xiegang.png": { - "ver": "1.0.6", - "uuid": "850b2489-38fa-47b8-b402-75ab260bacde", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 385, - "trimY": 2, - "width": 25, - "height": 39, - "rawWidth": 25, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progress_0.png": { - "ver": "1.0.6", - "uuid": "2eb09278-dad4-4034-9c6a-df493c0145a6", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1, - "trimX": 290, - "trimY": 94, - "width": 30, - "height": 32, - "rawWidth": 30, - "rawHeight": 34, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progress_1.png": { - "ver": "1.0.6", - "uuid": "180ee889-2108-41f2-8410-4a85a6b47cec", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": true, - "offsetX": -1, - "offsetY": 1, - "trimX": 209, - "trimY": 111, - "width": 18, - "height": 32, - "rawWidth": 30, - "rawHeight": 34, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progress_2.png": { - "ver": "1.0.6", - "uuid": "53dea695-d0d9-484e-95a2-5810d97a38ae", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": true, - "offsetX": 0, - "offsetY": 0, - "trimX": 470, - "trimY": 54, - "width": 26, - "height": 30, - "rawWidth": 30, - "rawHeight": 34, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "progress_3.png": { - "ver": "1.0.6", - "uuid": "8f402bc1-b384-4309-be93-9a34117c98f7", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": true, - "offsetX": 0, - "offsetY": 1, - "trimX": 470, - "trimY": 2, - "width": 24, - "height": 32, - "rawWidth": 30, - "rawHeight": 34, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_0.png": { - "ver": "1.0.6", - "uuid": "3d082ede-ef1a-48e4-ad68-a3ed330840ca", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 408, - "trimY": 43, - "width": 30, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_1.png": { - "ver": "1.0.6", - "uuid": "3708bb61-b21b-4420-a02a-0f935195697c", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 448, - "trimY": 80, - "width": 20, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_2.png": { - "ver": "1.0.6", - "uuid": "587eacde-971e-441a-8549-9cf7e0fe6f36", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 0, - "trimX": 440, - "trimY": 41, - "width": 28, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_3.png": { - "ver": "1.0.6", - "uuid": "8e5f038c-6f19-447d-8d85-4fbf4218e225", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 470, - "trimY": 82, - "width": 26, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_4.png": { - "ver": "1.0.6", - "uuid": "e0d7fc1a-8e00-481a-be1d-1e7593b68623", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 386, - "trimY": 84, - "width": 30, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_5.png": { - "ver": "1.0.6", - "uuid": "72eeca6a-089d-4bb5-bc71-4252c3d81f06", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 418, - "trimY": 82, - "width": 28, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_6.png": { - "ver": "1.0.6", - "uuid": "dc873966-ca57-421b-8543-e3e2ec373ed3", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 0, - "trimX": 412, - "trimY": 2, - "width": 28, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_7.png": { - "ver": "1.0.6", - "uuid": "ae3167a6-6385-4590-b9e3-e337d4c88d29", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 354, - "trimY": 92, - "width": 30, - "height": 37, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_8.png": { - "ver": "1.0.6", - "uuid": "fba9a416-c691-4e1c-b043-df68ca0ddbe9", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 0, - "trimX": 378, - "trimY": 43, - "width": 28, - "height": 39, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "prop_9.png": { - "ver": "1.0.6", - "uuid": "91599364-8409-4afc-8dee-7865656e28f2", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 355, - "trimY": 2, - "width": 28, - "height": 39, - "rawWidth": 30, - "rawHeight": 39, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow0.png": { - "ver": "1.0.6", - "uuid": "248caf56-e3ef-41ad-9fae-51c320ff33ec", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 281, - "trimY": 48, - "width": 35, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow1.png": { - "ver": "1.0.6", - "uuid": "95431c78-5064-46a4-9825-961b7d3be2e2", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 0, - "trimX": 351, - "trimY": 48, - "width": 25, - "height": 42, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow2.png": { - "ver": "1.0.6", - "uuid": "7f539041-fc00-403f-ae96-b4a3ccc6704f", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 287, - "trimY": 2, - "width": 33, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow3.png": { - "ver": "1.0.6", - "uuid": "51869832-55c6-4cbc-8ab9-dcd873f4b8f5", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": -1, - "offsetY": 1, - "trimX": 322, - "trimY": 2, - "width": 31, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow4.png": { - "ver": "1.0.6", - "uuid": "73acc286-b85f-4c8a-ab9a-aa9116c099d0", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 250, - "trimY": 2, - "width": 35, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow5.png": { - "ver": "1.0.6", - "uuid": "6d8a77b4-bc03-4705-9814-a4330d27c6b3", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1, - "trimX": 318, - "trimY": 48, - "width": 31, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow6.png": { - "ver": "1.0.6", - "uuid": "6291ded4-b5b7-40ae-9f4c-719d8534c2af", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": true, - "offsetX": -1, - "offsetY": 0, - "trimX": 244, - "trimY": 96, - "width": 33, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow7.png": { - "ver": "1.0.6", - "uuid": "5a457d1e-7a01-491a-9d24-578afcc70be7", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 1, - "trimX": 244, - "trimY": 50, - "width": 35, - "height": 44, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow8.png": { - "ver": "1.0.6", - "uuid": "102d18ea-79c0-41d1-bb48-9470c68095c5", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 215, - "trimY": 2, - "width": 33, - "height": 46, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "rainbow9.png": { - "ver": "1.0.6", - "uuid": "17fe1abd-c47d-404f-b15f-1f83adf87dc1", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 209, - "trimY": 63, - "width": 33, - "height": 46, - "rawWidth": 35, - "rawHeight": 46, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - }, - "xiegan00.png": { - "ver": "1.0.6", - "uuid": "78ba6ea6-3f8d-44be-9716-df7fb22e18fe", - "importer": "sprite-frame", - "rawTextureUuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 442, - "trimY": 2, - "width": 26, - "height": 37, - "rawWidth": 26, - "rawHeight": 37, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "spriteType": "normal", - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/threeWinsFont.png b/assets/UI/prop/threeWins/threeWinsFont.png deleted file mode 100644 index 9a7af2f4..00000000 Binary files a/assets/UI/prop/threeWins/threeWinsFont.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/threeWinsFont.png.meta b/assets/UI/prop/threeWins/threeWinsFont.png.meta deleted file mode 100644 index bbe49c58..00000000 --- a/assets/UI/prop/threeWins/threeWinsFont.png.meta +++ /dev/null @@ -1,15 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "d570af57-fd5e-478e-a347-c287e0a6f129", - "importer": "texture", - "type": "raw", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 504, - "height": 132, - "platformSettings": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/threeWinsShine.png b/assets/UI/prop/threeWins/threeWinsShine.png deleted file mode 100644 index 80179a80..00000000 Binary files a/assets/UI/prop/threeWins/threeWinsShine.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/threeWinsShine.png.meta b/assets/UI/prop/threeWins/threeWinsShine.png.meta deleted file mode 100644 index b3b4f674..00000000 --- a/assets/UI/prop/threeWins/threeWinsShine.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "34400d9e-32ca-4686-9f67-9bf54af073c2", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 312, - "height": 290, - "platformSettings": {}, - "subMetas": { - "threeWinsShine": { - "ver": "1.0.6", - "uuid": "0156ed3b-1b76-469e-8916-1e993279f2b8", - "importer": "sprite-frame", - "rawTextureUuid": "34400d9e-32ca-4686-9f67-9bf54af073c2", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 312, - "height": 290, - "rawWidth": 312, - "rawHeight": 290, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/xiaoguan.png b/assets/UI/prop/threeWins/xiaoguan.png deleted file mode 100644 index 8df11ad9..00000000 Binary files a/assets/UI/prop/threeWins/xiaoguan.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/xiaoguan.png.meta b/assets/UI/prop/threeWins/xiaoguan.png.meta deleted file mode 100644 index 0cb5475d..00000000 --- a/assets/UI/prop/threeWins/xiaoguan.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "c306d352-de8d-4b0c-8d53-747d5da92227", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 27, - "height": 29, - "platformSettings": {}, - "subMetas": { - "xiaoguan": { - "ver": "1.0.6", - "uuid": "8cf5be7d-238e-4e1e-a608-746d6bf88bb9", - "importer": "sprite-frame", - "rawTextureUuid": "c306d352-de8d-4b0c-8d53-747d5da92227", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 27, - "height": 29, - "rawWidth": 27, - "rawHeight": 29, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/xiaojindu.png b/assets/UI/prop/threeWins/xiaojindu.png deleted file mode 100644 index 2ae606b5..00000000 Binary files a/assets/UI/prop/threeWins/xiaojindu.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/xiaojindu.png.meta b/assets/UI/prop/threeWins/xiaojindu.png.meta deleted file mode 100644 index 105b71e2..00000000 --- a/assets/UI/prop/threeWins/xiaojindu.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "42c9f24b-1cac-4e1d-a25d-04eacda4b554", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 171, - "height": 40, - "platformSettings": {}, - "subMetas": { - "xiaojindu": { - "ver": "1.0.6", - "uuid": "e7f55ead-c651-4e4d-b343-b4437bdc2f4e", - "importer": "sprite-frame", - "rawTextureUuid": "42c9f24b-1cac-4e1d-a25d-04eacda4b554", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 171, - "height": 40, - "rawWidth": 171, - "rawHeight": 40, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/xiaoshuip00.png b/assets/UI/prop/threeWins/xiaoshuip00.png deleted file mode 100644 index cef76827..00000000 Binary files a/assets/UI/prop/threeWins/xiaoshuip00.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/xiaoshuip00.png.meta b/assets/UI/prop/threeWins/xiaoshuip00.png.meta deleted file mode 100644 index 2eca2347..00000000 --- a/assets/UI/prop/threeWins/xiaoshuip00.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "68d4e4c1-b05e-48c5-949c-4b6cda49f680", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 184, - "height": 199, - "platformSettings": {}, - "subMetas": { - "xiaoshuip00": { - "ver": "1.0.6", - "uuid": "8b6a5b9e-1b21-44c1-9c7a-8901242e8c44", - "importer": "sprite-frame", - "rawTextureUuid": "68d4e4c1-b05e-48c5-949c-4b6cda49f680", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 184, - "height": 199, - "rawWidth": 184, - "rawHeight": 199, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/xuanzedaojzi.png b/assets/UI/prop/threeWins/xuanzedaojzi.png deleted file mode 100644 index 821b2585..00000000 Binary files a/assets/UI/prop/threeWins/xuanzedaojzi.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/xuanzedaojzi.png.meta b/assets/UI/prop/threeWins/xuanzedaojzi.png.meta deleted file mode 100644 index f7285069..00000000 --- a/assets/UI/prop/threeWins/xuanzedaojzi.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "f17ec12c-4173-450b-8c49-e27032c8f579", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 742, - "height": 42, - "platformSettings": {}, - "subMetas": { - "xuanzedaojzi": { - "ver": "1.0.6", - "uuid": "476ad02d-d637-499a-a511-84f7e05da8ed", - "importer": "sprite-frame", - "rawTextureUuid": "f17ec12c-4173-450b-8c49-e27032c8f579", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 742, - "height": 42, - "rawWidth": 742, - "rawHeight": 42, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/UI/prop/threeWins/ziziz.png b/assets/UI/prop/threeWins/ziziz.png deleted file mode 100644 index 6d6e6d32..00000000 Binary files a/assets/UI/prop/threeWins/ziziz.png and /dev/null differ diff --git a/assets/UI/prop/threeWins/ziziz.png.meta b/assets/UI/prop/threeWins/ziziz.png.meta deleted file mode 100644 index 88a728c8..00000000 --- a/assets/UI/prop/threeWins/ziziz.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "a5cd4d1b-8a49-4f2a-b83a-386ce141953d", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 488, - "height": 58, - "platformSettings": {}, - "subMetas": { - "ziziz": { - "ver": "1.0.6", - "uuid": "7d681c79-cc36-4b23-abe2-d1fab1b4581d", - "importer": "sprite-frame", - "rawTextureUuid": "a5cd4d1b-8a49-4f2a-b83a-386ce141953d", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 488, - "height": 58, - "rawWidth": 488, - "rawHeight": 58, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/gacha_bundle/compressed.meta b/assets/gacha_bundle/compressed.meta deleted file mode 100644 index 69862916..00000000 --- a/assets/gacha_bundle/compressed.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "0e9d3080-403b-4aee-85bc-cdd2e7b97b42", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/gacha_bundle/img/cat.meta b/assets/gacha_bundle/img/cat.meta deleted file mode 100644 index 7d3a43d2..00000000 --- a/assets/gacha_bundle/img/cat.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "d98e8c38-ed42-4ab5-bb4f-2e1060e26cb6", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/libs/dn-sdk-minigame.meta b/assets/libs/dn-sdk-minigame.meta deleted file mode 100644 index 596c33bb..00000000 --- a/assets/libs/dn-sdk-minigame.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "dc95500c-537d-42ee-9197-f4bfcae93325", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/passCheck/script.meta b/assets/passCheck/script.meta deleted file mode 100644 index 0d10c1b6..00000000 --- a/assets/passCheck/script.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "56ffd962-0771-4946-bc03-6981dbf5f019", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/prefab/pop/threeWins.prefab b/assets/prefab/pop/threeWins.prefab deleted file mode 100644 index e9c208d9..00000000 --- a/assets/prefab/pop/threeWins.prefab +++ /dev/null @@ -1,5219 +0,0 @@ -[ - { - "__type__": "cc.Prefab", - "_name": "", - "_objFlags": 0, - "_native": "", - "data": { - "__id__": 1 - }, - "optimizationPolicy": 0, - "asyncLoadAssets": false, - "readonly": false - }, - { - "__type__": "cc.Node", - "_name": "threeWins", - "_objFlags": 0, - "_parent": null, - "_children": [ - { - "__id__": 2 - }, - { - "__id__": 7 - }, - { - "__id__": 10 - }, - { - "__id__": 13 - }, - { - "__id__": 15 - }, - { - "__id__": 18 - }, - { - "__id__": 21 - }, - { - "__id__": 24 - }, - { - "__id__": 27 - }, - { - "__id__": 30 - }, - { - "__id__": 33 - }, - { - "__id__": 36 - }, - { - "__id__": 39 - }, - { - "__id__": 42 - }, - { - "__id__": 45 - }, - { - "__id__": 47 - }, - { - "__id__": 51 - }, - { - "__id__": 80 - }, - { - "__id__": 82 - }, - { - "__id__": 96 - }, - { - "__id__": 118 - } - ], - "_active": true, - "_components": [ - { - "__id__": 139 - } - ], - "_prefab": { - "__id__": 140 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 1920 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 540, - 960, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite(Splash)", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 3 - }, - { - "__id__": 4 - }, - { - "__id__": 5 - } - ], - "_prefab": { - "__id__": 6 - }, - "_opacity": 150, - "_color": { - "__type__": "cc.Color", - "r": 0, - "g": 0, - "b": 0, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 1080, - "height": 2920 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a23235d1-15db-4b95-8439-a2e005bfff91" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": -500, - "_bottom": -500, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 100, - "_originalHeight": 100, - "_id": "" - }, - { - "__type__": "cc.BlockInputEvents", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 2 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6fQXoiv7VJAIO9blQ3UyQp", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "bg", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 8 - } - ], - "_prefab": { - "__id__": 9 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 862, - "height": 1298 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 7 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "3f9aa048-60dd-4f65-acfd-6780204b8c6f" - }, - "_type": 1, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "eabW/KHM5HkqYlVOTIHnMY", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 11 - } - ], - "_prefab": { - "__id__": 12 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 488, - "height": 58 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 508.8, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 10 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "7d681c79-cc36-4b23-abe2-d1fab1b4581d" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8drYW6eihBvYhA8gvhtTGw", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "custom", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 14 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 511.722, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "98sLgUudZEK5mdOX4xJ9vI", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 16 - } - ], - "_prefab": { - "__id__": 17 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 742, - "height": 302 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 212.871, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 15 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2e0a80d2-cbe1-4c05-bcea-c7f954d910e6" - }, - "_type": 1, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "9dZKbxsRREkIndONsPUC6p", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 19 - } - ], - "_prefab": { - "__id__": 20 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 742, - "height": 42 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -5.271, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 18 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "476ad02d-d637-499a-a511-84f7e05da8ed" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "5brlnxf+1LnoznexVkjlc3", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 22 - } - ], - "_prefab": { - "__id__": 23 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 196, - "height": 196 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -367.209, - -448.031, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 21 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "1d885710-02b4-424c-b32b-df11973d0ded" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "3dnHt5bW1MLo20MdhWiz34", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 25 - } - ], - "_prefab": { - "__id__": 26 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 143, - "height": 156 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -367.315, - -446.189, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 24 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "1e79f3d6-af31-4d9c-b61b-74929440537c" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "59UEKv/2FH0YWmPbp3it/W", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 28 - } - ], - "_prefab": { - "__id__": 29 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 177, - "height": 48 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -367.315, - -535.454, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 27 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "ec780d1b-a7a3-4430-9212-8cf51119df24" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "0f2++ZRr5K16tpua5xP0/+", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "progress", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 31 - } - ], - "_prefab": { - "__id__": 32 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 171, - "height": 40 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -367.315, - -535.454, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 30 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "e7f55ead-c651-4e4d-b343-b4437bdc2f4e" - }, - "_type": 3, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e99yloFRpHipXeu4SIH7yj", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 34 - } - ], - "_prefab": { - "__id__": 35 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 26, - "height": 37 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -367.315, - -536.981, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 33 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "78ba6ea6-3f8d-44be-9716-df7fb22e18fe" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "f3vqMvHM5K/62ERxPWqtQn", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 37 - } - ], - "_prefab": { - "__id__": 38 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 25, - "height": 42 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -341.21, - -536.981, - 0, - 0, - 0, - 0, - 1, - 0.8, - 0.8, - 0.8 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 36 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "95431c78-5064-46a4-9825-961b7d3be2e2" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "83pDxXBmhMzrQ25rlSi6if", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 40 - } - ], - "_prefab": { - "__id__": 41 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 35, - "height": 44 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -316.362, - -536.981, - 0, - 0, - 0, - 0, - 1, - 0.8, - 0.8, - 0.8 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 39 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "248caf56-e3ef-41ad-9fae-51c320ff33ec" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "efo4OWZ71K+oQvOY5q3+VC", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 43 - } - ], - "_prefab": { - "__id__": 44 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 312, - "height": 290 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -205.567, - 214.352, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 42 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "0156ed3b-1b76-469e-8916-1e993279f2b8" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "32ox3ssyFD3bssGfqz7ajk", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "sprite", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 46 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 40, - "height": 36 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e4VHjoS3xF5YN6HvVVSuhi", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "begin", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 48 - }, - { - "__id__": 49 - } - ], - "_prefab": { - "__id__": 50 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 472, - "height": 162 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -465.601, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 47 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "e96d80c7-bc9b-432a-81c1-918f0f826e45" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 47 - }, - "_enabled": true, - "_normalMaterial": null, - "_grayMaterial": null, - "duration": 0.1, - "zoomScale": 1.1, - "clickEvents": [], - "_N$interactable": true, - "_N$enableAutoGrayEffect": false, - "_N$transition": 3, - "transition": 3, - "_N$normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_N$hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_N$normalSprite": null, - "_N$pressedSprite": null, - "pressedSprite": null, - "_N$hoverSprite": null, - "hoverSprite": null, - "_N$disabledSprite": null, - "_N$target": { - "__id__": 47 - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "02osfvAoNLs6QlWbXBeHlI", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "three", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 52 - }, - { - "__id__": 55 - }, - { - "__id__": 58 - }, - { - "__id__": 61 - }, - { - "__id__": 64 - }, - { - "__id__": 67 - }, - { - "__id__": 70 - }, - { - "__id__": 73 - }, - { - "__id__": 76 - } - ], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 79 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 165.651, - 212.842, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 53 - } - ], - "_prefab": { - "__id__": 54 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 187, - "height": 43 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 83.093, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 52 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2137246a-aabd-46ad-bfc5-d80be665e524" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "5ckb38r7ZHK7KrA6VGHIyJ", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 56 - } - ], - "_prefab": { - "__id__": 57 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 262, - "height": 85 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -2.71, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 55 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "bf3beea2-1ffc-4d76-8d07-bbe83b1b9e09" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b59qP0hO1F5osAyH2jKhWq", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 59 - } - ], - "_prefab": { - "__id__": 60 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 25, - "height": 39 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -76.772, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 58 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "850b2489-38fa-47b8-b402-75ab260bacde" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "f50cVISpVKzYFPeADrDjLc", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 62 - } - ], - "_prefab": { - "__id__": 63 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 24, - "height": 32 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 31.612, - -76.772, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 61 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "32a34113-d9b4-4ce4-a820-55db829eddb6" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "9892fcUqtMHZp4BpvlDcHq", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 65 - } - ], - "_prefab": { - "__id__": 66 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 30, - "height": 32 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 67.74, - -76.772, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 64 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2cc8910f-e57f-4b1e-b2f8-19263efbecfd" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b1YPX1UEBKLoROJBFwy5zU", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "progress", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 68 - } - ], - "_prefab": { - "__id__": 69 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 30, - "height": 32 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -34.833, - -74.798, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 67 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2eb09278-dad4-4034-9c6a-df493c0145a6" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "7ed7640c-5fe6-4777-98f2-299424c47a92" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "4a39sEU9lJ/Kz+4pisva1/", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "progress1", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 71 - } - ], - "_prefab": { - "__id__": 72 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 96, - "height": 80 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -81.715, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 70 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2e7b181e-3507-414e-97ca-f5d872274408" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "80gtdRmmNGtbst6ziinqPp", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "progress2", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 74 - } - ], - "_prefab": { - "__id__": 75 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 97, - "height": 81 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 73 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "dba01350-b43c-46a9-8c0e-5bb751eb30e7" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "16hUBW+PhHMJ7dgVXX+PnO", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "progress3", - "_objFlags": 0, - "_parent": { - "__id__": 51 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 77 - } - ], - "_prefab": { - "__id__": 78 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 98, - "height": 80 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 81.715, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 76 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "77b05e56-6ac4-4464-9677-e7758bc1019e" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e5pS+JEvBICbptrRcxsetN", - "sync": false - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "edPhGRHO5McZwKz/8qTGcB", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "rainbowNumber", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 81 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 35, - "height": 44 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -403.344, - -536.981, - 0, - 0, - 0, - 0, - 1, - 0.8, - 0.8, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "acE2z3ABBDpIzeE86mQPVq", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "box", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 83 - }, - { - "__id__": 86 - }, - { - "__id__": 89 - }, - { - "__id__": 92 - } - ], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 95 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -203.81, - 212.595, - 0, - 0, - 0, - 0, - 1, - 0.5, - 0.5, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "box0", - "_objFlags": 0, - "_parent": { - "__id__": 82 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 84 - } - ], - "_prefab": { - "__id__": 85 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 336, - "height": 291 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 83 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "3471be78-1700-41c0-b0e8-5c9552137da8" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "3dbdmbvfdHmoxSKRZCIy6z", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "box1", - "_objFlags": 0, - "_parent": { - "__id__": 82 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 87 - } - ], - "_prefab": { - "__id__": 88 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 336, - "height": 329 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 86 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "238869a8-0e31-4242-bf93-d213c3a9de6f" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "71rsrhjt1HcJCLWhChGtaa", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "box2", - "_objFlags": 0, - "_parent": { - "__id__": 82 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 90 - } - ], - "_prefab": { - "__id__": 91 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 406, - "height": 378 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 89 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "ad4d3415-9594-44a1-8407-322777babe54" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "78rk7/2b9GDIhCuQ5TY97K", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "box3", - "_objFlags": 0, - "_parent": { - "__id__": 82 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 93 - } - ], - "_prefab": { - "__id__": 94 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 483, - "height": 436 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 92 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "adf7d4cf-77b4-4c88-aac7-b3b03876ac13" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "eahjxWIxdPQqDsKKfTgwvc", - "sync": false - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "4c2naRqB9EyowIbcfCv7bs", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hourglass", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 97 - }, - { - "__id__": 100 - }, - { - "__id__": 103 - }, - { - "__id__": 109 - } - ], - "_active": true, - "_components": [ - { - "__id__": 114 - }, - { - "__id__": 115 - } - ], - "_prefab": { - "__id__": 117 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 212, - "height": 215 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - -140, - -156.211, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 96 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 98 - } - ], - "_prefab": { - "__id__": 99 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 228, - "height": 322 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 8.467, - 0, - 0, - 0, - 0, - 1, - 0.35, - 0.35, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 97 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "f7251357-23c6-4c00-87a3-3d34f040b5f2" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "eaLmvvAEdLGpNCcFIZsNrv", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "add", - "_objFlags": 0, - "_parent": { - "__id__": 96 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 101 - } - ], - "_prefab": { - "__id__": 102 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 68, - "height": 74 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 79.838, - -83.651, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 100 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "914ed47f-988f-40db-ae8b-66e0bf7652bd" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6ajfkKvWJBqIARyNv7XP1y", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "select", - "_objFlags": 0, - "_parent": { - "__id__": 96 - }, - "_children": [ - { - "__id__": 104 - } - ], - "_active": false, - "_components": [ - { - "__id__": 107 - } - ], - "_prefab": { - "__id__": 108 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 228, - "height": 228 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 103 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 105 - } - ], - "_prefab": { - "__id__": 106 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 82 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 104 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "dde22b43-d679-45fc-b7ef-eb3910b15f01" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "e3nD9rlnJNw7M7nNpvLZsf", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 103 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "c16ef371-b6e7-4645-92b8-6b0a80efb5af" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "094FrFsXlHSpY6XaV7MnZR", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "remaining", - "_objFlags": 0, - "_parent": { - "__id__": 96 - }, - "_children": [ - { - "__id__": 110 - } - ], - "_active": false, - "_components": [ - { - "__id__": 112 - } - ], - "_prefab": { - "__id__": 113 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 68, - "height": 74 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 78.667, - -84.617, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "number", - "_objFlags": 0, - "_parent": { - "__id__": 109 - }, - "_children": [], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 111 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 68, - "height": 74 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dfI6RjAeZEeJGfLVCol5KL", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 109 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "d45452ee-6ac4-4adc-ad49-cd876b55589f" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "88on1lyRRMK6WGzsyIYY78", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 96 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "f41af2de-2767-4631-9c28-ef74b58a9eee" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 96 - }, - "_enabled": true, - "_normalMaterial": null, - "_grayMaterial": null, - "duration": 0.1, - "zoomScale": 1.2, - "clickEvents": [ - { - "__id__": 116 - } - ], - "_N$interactable": true, - "_N$enableAutoGrayEffect": false, - "_N$transition": 0, - "transition": 0, - "_N$normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_N$hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_N$normalSprite": null, - "_N$pressedSprite": null, - "pressedSprite": null, - "_N$hoverSprite": null, - "hoverSprite": null, - "_N$disabledSprite": null, - "_N$target": { - "__id__": 96 - }, - "_id": "" - }, - { - "__type__": "cc.ClickEvent", - "target": null, - "component": "", - "_componentId": "", - "handler": "", - "customEventData": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "42Wu2LbTRA7aoD1Bc++9qK", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "rocket", - "_objFlags": 0, - "_parent": { - "__id__": 1 - }, - "_children": [ - { - "__id__": 119 - }, - { - "__id__": 122 - }, - { - "__id__": 125 - }, - { - "__id__": 131 - } - ], - "_active": true, - "_components": [ - { - "__id__": 136 - }, - { - "__id__": 137 - } - ], - "_prefab": { - "__id__": 138 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 212, - "height": 215 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 140, - -156.211, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 118 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 120 - } - ], - "_prefab": { - "__id__": 121 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 212, - "height": 361 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 8.467, - 0, - 0, - 0, - 0, - 1, - 0.35, - 0.35, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 119 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "5e1e3114-b841-4ac2-88b2-86f06b31eaa8" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "3dPuO4y/dFirOQtXISrfy9", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "add", - "_objFlags": 0, - "_parent": { - "__id__": 118 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 123 - } - ], - "_prefab": { - "__id__": 124 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 68, - "height": 74 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 79.838, - -83.651, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 122 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "914ed47f-988f-40db-ae8b-66e0bf7652bd" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "323plu3fBL/rist8auWShT", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "select", - "_objFlags": 0, - "_parent": { - "__id__": 118 - }, - "_children": [ - { - "__id__": 126 - } - ], - "_active": false, - "_components": [ - { - "__id__": 129 - } - ], - "_prefab": { - "__id__": 130 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 228, - "height": 228 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 125 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 127 - } - ], - "_prefab": { - "__id__": 128 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 100, - "height": 82 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 126 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "dde22b43-d679-45fc-b7ef-eb3910b15f01" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8bRK7V0GRH65oxBe7K9EDC", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 125 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "c16ef371-b6e7-4645-92b8-6b0a80efb5af" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "cd60XPPnNLy6ISaU5JgQcu", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "remaining", - "_objFlags": 0, - "_parent": { - "__id__": 118 - }, - "_children": [ - { - "__id__": 132 - } - ], - "_active": false, - "_components": [ - { - "__id__": 134 - } - ], - "_prefab": { - "__id__": 135 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 68, - "height": 74 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 79.398, - -83.642, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "number", - "_objFlags": 0, - "_parent": { - "__id__": 131 - }, - "_children": [], - "_active": true, - "_components": [], - "_prefab": { - "__id__": 133 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "20JyKdHpFG1r00X+Kul+Qa", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 131 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "d45452ee-6ac4-4adc-ad49-cd876b55589f" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "2a+W4C5TdABKuSIdXj1E49", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 118 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "f41af2de-2767-4631-9c28-ef74b58a9eee" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 118 - }, - "_enabled": true, - "_normalMaterial": null, - "_grayMaterial": null, - "duration": 0.1, - "zoomScale": 1.1, - "clickEvents": [], - "_N$interactable": true, - "_N$enableAutoGrayEffect": false, - "_N$transition": 3, - "transition": 3, - "_N$normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_N$hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_N$normalSprite": null, - "_N$pressedSprite": null, - "pressedSprite": null, - "_N$hoverSprite": null, - "hoverSprite": null, - "_N$disabledSprite": null, - "_N$target": { - "__id__": 118 - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "2ekAN/yXhJh6BP3JiuEJfP", - "sync": false - }, - { - "__type__": "cc.Widget", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 1 - }, - "_enabled": true, - "alignMode": 1, - "_target": null, - "_alignFlags": 45, - "_left": 0, - "_right": 0, - "_top": 0, - "_bottom": 0, - "_verticalCenter": 0, - "_horizontalCenter": 0, - "_isAbsLeft": true, - "_isAbsRight": true, - "_isAbsTop": true, - "_isAbsBottom": true, - "_isAbsHorizontalCenter": true, - "_isAbsVerticalCenter": true, - "_originalWidth": 1080, - "_originalHeight": 1920, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "", - "sync": false - } -] \ No newline at end of file diff --git a/assets/prefab/pop/threeWins.prefab.meta b/assets/prefab/pop/threeWins.prefab.meta deleted file mode 100644 index b0fbf5f3..00000000 --- a/assets/prefab/pop/threeWins.prefab.meta +++ /dev/null @@ -1,9 +0,0 @@ -{ - "ver": "1.3.2", - "uuid": "abc8f49b-e719-4eb4-8b01-8f7ed6a909c9", - "importer": "prefab", - "optimizationPolicy": "AUTO", - "asyncLoadAssets": false, - "readonly": false, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/propWindow/compressed.meta b/assets/propWindow/compressed.meta deleted file mode 100644 index fef762ea..00000000 --- a/assets/propWindow/compressed.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "70901048-9a6e-4080-97ca-5d5a7ccfc8a9", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/assets/propWindow/prefab/PropWindow.prefab b/assets/propWindow/prefab/PropWindow.prefab index 11e84180..733603d0 100644 --- a/assets/propWindow/prefab/PropWindow.prefab +++ b/assets/propWindow/prefab/PropWindow.prefab @@ -27,14 +27,14 @@ "_active": true, "_components": [ { - "__id__": 186 + "__id__": 122 }, { - "__id__": 187 + "__id__": 123 } ], "_prefab": { - "__id__": 188 + "__id__": 124 }, "_opacity": 255, "_color": { @@ -267,18 +267,12 @@ }, { "__id__": 116 - }, - { - "__id__": 148 - }, - { - "__id__": 180 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 185 + "__id__": 121 }, "_opacity": 255, "_color": { @@ -4265,2348 +4259,6 @@ "fileId": "78JrwC6KJKp7MrMcRq8D3n", "sync": false }, - { - "__type__": "cc.Node", - "_name": "rocket", - "_objFlags": 0, - "_parent": { - "__id__": 7 - }, - "_children": [ - { - "__id__": 117 - }, - { - "__id__": 120 - }, - { - "__id__": 123 - }, - { - "__id__": 126 - }, - { - "__id__": 129 - } - ], - "_active": false, - "_components": [], - "_prefab": { - "__id__": 147 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 116.199, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "hammer_Label", - "_objFlags": 0, - "_parent": { - "__id__": 116 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 118 - } - ], - "_prefab": { - "__id__": 119 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 165, - "height": 86 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 370, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 117 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "bcd560e4-a084-4f6c-b58e-69de2c6bd37a" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dfjIVRADJNuolVN8qZyqK6", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hammer_Label", - "_objFlags": 0, - "_parent": { - "__id__": 116 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 121 - } - ], - "_prefab": { - "__id__": 122 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 458, - "height": 53 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -309.002, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 120 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "805f31ac-72cc-4815-905a-aa87253b86d9" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dd3yxCThJG9qRFV1deLIQt", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hammer_Icon", - "_objFlags": 0, - "_parent": { - "__id__": 116 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 124 - } - ], - "_prefab": { - "__id__": 125 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 212, - "height": 361 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 24.943, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 123 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "bd966c86-17eb-4897-9642-3968a79988ea" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "abhRu8oaNNCY3/YODhvgwO", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 116 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 127 - } - ], - "_prefab": { - "__id__": 128 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 144, - "height": 102 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 180.858, - -84.328, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 126 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "d6dc38cb-4956-4677-8e4e-3720f0cac0e9" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8fbd3pZ9hNVZBYOVoyeV8b", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "buy_Btn", - "_objFlags": 0, - "_parent": { - "__id__": 116 - }, - "_children": [ - { - "__id__": 130 - }, - { - "__id__": 133 - }, - { - "__id__": 136 - }, - { - "__id__": 139 - } - ], - "_active": true, - "_components": [ - { - "__id__": 142 - }, - { - "__id__": 143 - }, - { - "__id__": 145 - } - ], - "_prefab": { - "__id__": 146 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 636, - "height": 173 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -548.988, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 129 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 131 - } - ], - "_prefab": { - "__id__": 132 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 32, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 52.523, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 130 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "01b33f17-a428-4b45-bd9d-6879f3e80d4d" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8fNrjFVCtBULoBj1QhtbVy", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 129 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 134 - } - ], - "_prefab": { - "__id__": 135 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 55, - "height": 63 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 118.085, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 133 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "837692cc-2850-4a36-b913-0851d05d17f8" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "7eDDbYQgdH9pT+iMnTdYMN", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 129 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 137 - } - ], - "_prefab": { - "__id__": 138 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 59, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 173.418, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 136 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a8743269-1766-4da5-a1db-aab5c3de7234" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "227ftqmrpM8Lm2yVcasjT6", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 129 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 140 - } - ], - "_prefab": { - "__id__": 141 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 59, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 230.103, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 139 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a8743269-1766-4da5-a1db-aab5c3de7234" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "a8m3nvlPVGZbBMC0U67/yt", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 129 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "0e54b4bc-f5a9-4a3f-82dc-b3c9537da2af" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 129 - }, - "_enabled": true, - "_normalMaterial": null, - "_grayMaterial": null, - "duration": 0.1, - "zoomScale": 1.1, - "clickEvents": [ - { - "__id__": 144 - } - ], - "_N$interactable": true, - "_N$enableAutoGrayEffect": false, - "_N$transition": 3, - "transition": 3, - "_N$normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_N$hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_N$normalSprite": null, - "_N$pressedSprite": null, - "pressedSprite": null, - "_N$hoverSprite": null, - "hoverSprite": null, - "_N$disabledSprite": null, - "_N$target": { - "__id__": 129 - }, - "_id": "" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 1 - }, - "component": "", - "_componentId": "18d78LkxoVIxZ6CvdHDQaL9", - "handler": "clickBtn", - "customEventData": "" - }, - { - "__type__": "6ee6czJ4eVNb4Feiqps5SIa", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 129 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6bOWZ1xMZP5boImqUNLIyB", - "sync": false - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "27kDRgoxhAm6l4gJSqv4Fa", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hourglass", - "_objFlags": 0, - "_parent": { - "__id__": 7 - }, - "_children": [ - { - "__id__": 149 - }, - { - "__id__": 152 - }, - { - "__id__": 155 - }, - { - "__id__": 158 - }, - { - "__id__": 161 - } - ], - "_active": false, - "_components": [], - "_prefab": { - "__id__": 179 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 0, - "height": 0 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 116.199, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "hammer_Label", - "_objFlags": 0, - "_parent": { - "__id__": 148 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 150 - } - ], - "_prefab": { - "__id__": 151 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 170, - "height": 87 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 370, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 149 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "016d0c2d-5f7e-4859-a83c-600caa7d2448" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "1bKtXctT9JO47Ul2IYRMaT", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hammer_Label", - "_objFlags": 0, - "_parent": { - "__id__": 148 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 153 - } - ], - "_prefab": { - "__id__": 154 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 438, - "height": 55 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -309.002, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 152 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a7e43ad5-c8df-46fe-8ae4-f536cf7a648a" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "6ag7jhLVBL+pmSGmnYdaYW", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "hammer_Icon", - "_objFlags": 0, - "_parent": { - "__id__": 148 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 156 - } - ], - "_prefab": { - "__id__": 157 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 228, - "height": 322 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 24.943, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 155 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "442be7de-cf03-4fc0-82f3-90d9d855408c" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "07VKAVridELZouzbHdNoHd", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 148 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 159 - } - ], - "_prefab": { - "__id__": 160 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 144, - "height": 102 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 214.058, - -84.328, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 158 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "d6dc38cb-4956-4677-8e4e-3720f0cac0e9" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b90x6PsR9KHKdsYYNWvjaz", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "buy_Btn", - "_objFlags": 0, - "_parent": { - "__id__": 148 - }, - "_children": [ - { - "__id__": 162 - }, - { - "__id__": 165 - }, - { - "__id__": 168 - }, - { - "__id__": 171 - } - ], - "_active": true, - "_components": [ - { - "__id__": 174 - }, - { - "__id__": 175 - }, - { - "__id__": 177 - } - ], - "_prefab": { - "__id__": 178 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 636, - "height": 173 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - -548.988, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 0 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 161 - }, - "_children": [], - "_active": false, - "_components": [ - { - "__id__": 163 - } - ], - "_prefab": { - "__id__": 164 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 32, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 52.523, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 162 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "01b33f17-a428-4b45-bd9d-6879f3e80d4d" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "dabDJtJINGeaYQyPvKQ2Jv", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 161 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 166 - } - ], - "_prefab": { - "__id__": 167 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 53, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 118.085, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 165 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "7b93a019-5dc2-4925-bb61-1226de4cc1eb" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "0f/gr0gOZL0o7oG8u+j+08", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 161 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 169 - } - ], - "_prefab": { - "__id__": 170 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 59, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 173.418, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 168 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a8743269-1766-4da5-a1db-aab5c3de7234" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "8c+HiD6H5FVbzHcrOuIBnF", - "sync": false - }, - { - "__type__": "cc.Node", - "_name": "New Sprite", - "_objFlags": 0, - "_parent": { - "__id__": 161 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 172 - } - ], - "_prefab": { - "__id__": 173 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 59, - "height": 61 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 230.103, - 6.769, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 171 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "a8743269-1766-4da5-a1db-aab5c3de7234" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": { - "__uuid__": "fa9a438e-1f24-47fe-bbcd-b75abcff2ea8" - }, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "aczzRV3cVOyq3ri7Vs6dSk", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 161 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "0e54b4bc-f5a9-4a3f-82dc-b3c9537da2af" - }, - "_type": 0, - "_sizeMode": 1, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.Button", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 161 - }, - "_enabled": true, - "_normalMaterial": null, - "_grayMaterial": null, - "duration": 0.1, - "zoomScale": 1.1, - "clickEvents": [ - { - "__id__": 176 - } - ], - "_N$interactable": true, - "_N$enableAutoGrayEffect": false, - "_N$transition": 3, - "transition": 3, - "_N$normalColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "pressedColor": { - "__type__": "cc.Color", - "r": 211, - "g": 211, - "b": 211, - "a": 255 - }, - "_N$hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "hoverColor": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_N$disabledColor": { - "__type__": "cc.Color", - "r": 124, - "g": 124, - "b": 124, - "a": 255 - }, - "_N$normalSprite": null, - "_N$pressedSprite": null, - "pressedSprite": null, - "_N$hoverSprite": null, - "hoverSprite": null, - "_N$disabledSprite": null, - "_N$target": { - "__id__": 161 - }, - "_id": "" - }, - { - "__type__": "cc.ClickEvent", - "target": { - "__id__": 1 - }, - "component": "", - "_componentId": "18d78LkxoVIxZ6CvdHDQaL9", - "handler": "clickBtn", - "customEventData": "" - }, - { - "__type__": "6ee6czJ4eVNb4Feiqps5SIa", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 161 - }, - "_enabled": true, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "b0hBh601ZDCIcRnidSJzul", - "sync": false - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "2c+es+221Iu7opY8CBRgad", - "sync": false - }, { "__type__": "cc.Node", "_name": "close", @@ -6618,14 +4270,14 @@ "_active": true, "_components": [ { - "__id__": 181 + "__id__": 117 }, { - "__id__": 182 + "__id__": 118 } ], "_prefab": { - "__id__": 184 + "__id__": 120 }, "_opacity": 255, "_color": { @@ -6679,7 +4331,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 116 }, "_enabled": true, "_materials": [ @@ -6711,7 +4363,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 116 }, "_enabled": true, "_normalMaterial": null, @@ -6720,7 +4372,7 @@ "zoomScale": 1.1, "clickEvents": [ { - "__id__": 183 + "__id__": 119 } ], "_N$interactable": true, @@ -6776,7 +4428,7 @@ "hoverSprite": null, "_N$disabledSprite": null, "_N$target": { - "__id__": 180 + "__id__": 116 }, "_id": "" }, diff --git a/assets/propWindow/texture/hourglass.png b/assets/propWindow/texture/hourglass.png deleted file mode 100644 index dfe135ca..00000000 Binary files a/assets/propWindow/texture/hourglass.png and /dev/null differ diff --git a/assets/propWindow/texture/hourglass.png.meta b/assets/propWindow/texture/hourglass.png.meta deleted file mode 100644 index 424efea8..00000000 --- a/assets/propWindow/texture/hourglass.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "f3d3081b-fcac-4345-b258-bc7dc426e166", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 228, - "height": 322, - "platformSettings": {}, - "subMetas": { - "hourglass": { - "ver": "1.0.6", - "uuid": "442be7de-cf03-4fc0-82f3-90d9d855408c", - "importer": "sprite-frame", - "rawTextureUuid": "f3d3081b-fcac-4345-b258-bc7dc426e166", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 228, - "height": 322, - "rawWidth": 228, - "rawHeight": 322, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/propWindow/texture/huojian.png b/assets/propWindow/texture/huojian.png deleted file mode 100644 index a48ea47c..00000000 Binary files a/assets/propWindow/texture/huojian.png and /dev/null differ diff --git a/assets/propWindow/texture/huojian.png.meta b/assets/propWindow/texture/huojian.png.meta deleted file mode 100644 index a71b5d0b..00000000 --- a/assets/propWindow/texture/huojian.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "00f36f74-87f4-4717-9dc0-5eef1e5902b7", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 165, - "height": 86, - "platformSettings": {}, - "subMetas": { - "huojian": { - "ver": "1.0.6", - "uuid": "bcd560e4-a084-4f6c-b58e-69de2c6bd37a", - "importer": "sprite-frame", - "rawTextureUuid": "00f36f74-87f4-4717-9dc0-5eef1e5902b7", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 165, - "height": 86, - "rawWidth": 165, - "rawHeight": 86, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/propWindow/texture/huojianTips.png b/assets/propWindow/texture/huojianTips.png deleted file mode 100644 index be3ff904..00000000 Binary files a/assets/propWindow/texture/huojianTips.png and /dev/null differ diff --git a/assets/propWindow/texture/huojianTips.png.meta b/assets/propWindow/texture/huojianTips.png.meta deleted file mode 100644 index 1da6dc59..00000000 --- a/assets/propWindow/texture/huojianTips.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "2fde04d2-8e91-42b3-91f7-c1e632c70cf8", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 458, - "height": 53, - "platformSettings": {}, - "subMetas": { - "huojianTips": { - "ver": "1.0.6", - "uuid": "805f31ac-72cc-4815-905a-aa87253b86d9", - "importer": "sprite-frame", - "rawTextureUuid": "2fde04d2-8e91-42b3-91f7-c1e632c70cf8", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 458, - "height": 53, - "rawWidth": 458, - "rawHeight": 53, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/propWindow/texture/rocket.png b/assets/propWindow/texture/rocket.png deleted file mode 100644 index 9690fbc6..00000000 Binary files a/assets/propWindow/texture/rocket.png and /dev/null differ diff --git a/assets/propWindow/texture/rocket.png.meta b/assets/propWindow/texture/rocket.png.meta deleted file mode 100644 index 737915de..00000000 --- a/assets/propWindow/texture/rocket.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "8cdcfd3d-48d9-42ec-b7b5-0c2d558a4e0d", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 212, - "height": 361, - "platformSettings": {}, - "subMetas": { - "rocket": { - "ver": "1.0.6", - "uuid": "bd966c86-17eb-4897-9642-3968a79988ea", - "importer": "sprite-frame", - "rawTextureUuid": "8cdcfd3d-48d9-42ec-b7b5-0c2d558a4e0d", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 212, - "height": 361, - "rawWidth": 212, - "rawHeight": 361, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/propWindow/texture/shalou.png b/assets/propWindow/texture/shalou.png deleted file mode 100644 index 9b681bbc..00000000 Binary files a/assets/propWindow/texture/shalou.png and /dev/null differ diff --git a/assets/propWindow/texture/shalou.png.meta b/assets/propWindow/texture/shalou.png.meta deleted file mode 100644 index 59561fd9..00000000 --- a/assets/propWindow/texture/shalou.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "26eec234-5097-45d6-9eec-43205faf4b06", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 170, - "height": 87, - "platformSettings": {}, - "subMetas": { - "shalou": { - "ver": "1.0.6", - "uuid": "016d0c2d-5f7e-4859-a83c-600caa7d2448", - "importer": "sprite-frame", - "rawTextureUuid": "26eec234-5097-45d6-9eec-43205faf4b06", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 170, - "height": 87, - "rawWidth": 170, - "rawHeight": 87, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/propWindow/texture/shalouTips.png b/assets/propWindow/texture/shalouTips.png deleted file mode 100644 index 8d3770af..00000000 Binary files a/assets/propWindow/texture/shalouTips.png and /dev/null differ diff --git a/assets/propWindow/texture/shalouTips.png.meta b/assets/propWindow/texture/shalouTips.png.meta deleted file mode 100644 index 1eca9e17..00000000 --- a/assets/propWindow/texture/shalouTips.png.meta +++ /dev/null @@ -1,38 +0,0 @@ -{ - "ver": "2.3.7", - "uuid": "0a54b5fb-aa92-4bd0-bf70-84a851f9e296", - "importer": "texture", - "type": "sprite", - "wrapMode": "clamp", - "filterMode": "bilinear", - "premultiplyAlpha": false, - "genMipmaps": false, - "packable": true, - "width": 438, - "height": 55, - "platformSettings": {}, - "subMetas": { - "shalouTips": { - "ver": "1.0.6", - "uuid": "a7e43ad5-c8df-46fe-8ae4-f536cf7a648a", - "importer": "sprite-frame", - "rawTextureUuid": "0a54b5fb-aa92-4bd0-bf70-84a851f9e296", - "trimType": "auto", - "trimThreshold": 1, - "rotated": false, - "offsetX": 0, - "offsetY": 0, - "trimX": 0, - "trimY": 0, - "width": 438, - "height": 55, - "rawWidth": 438, - "rawHeight": 55, - "borderTop": 0, - "borderBottom": 0, - "borderLeft": 0, - "borderRight": 0, - "subMetas": {} - } - } -} \ No newline at end of file diff --git a/assets/seven_day_gift/prefab/sevenDayGift.prefab b/assets/seven_day_gift/prefab/sevenDayGift.prefab index 0196e22f..45ac76ae 100644 --- a/assets/seven_day_gift/prefab/sevenDayGift.prefab +++ b/assets/seven_day_gift/prefab/sevenDayGift.prefab @@ -27,14 +27,14 @@ "_active": true, "_components": [ { - "__id__": 257 + "__id__": 246 }, { - "__id__": 258 + "__id__": 247 } ], "_prefab": { - "__id__": 259 + "__id__": 248 }, "_opacity": 255, "_color": { @@ -251,11 +251,11 @@ "_active": true, "_components": [ { - "__id__": 255 + "__id__": 244 } ], "_prefab": { - "__id__": 256 + "__id__": 245 }, "_opacity": 255, "_color": { @@ -423,28 +423,28 @@ "__id__": 12 }, { - "__id__": 43 + "__id__": 41 }, { - "__id__": 71 + "__id__": 67 }, { - "__id__": 102 + "__id__": 96 }, { - "__id__": 141 + "__id__": 133 }, { - "__id__": 172 + "__id__": 162 }, { - "__id__": 211 + "__id__": 199 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 254 + "__id__": 243 }, "_opacity": 255, "_color": { @@ -505,23 +505,23 @@ "__id__": 13 }, { - "__id__": 19 + "__id__": 17 }, { - "__id__": 35 + "__id__": 33 }, { - "__id__": 38 + "__id__": 36 } ], "_active": true, "_components": [ { - "__id__": 41 + "__id__": 39 } ], "_prefab": { - "__id__": 42 + "__id__": 40 }, "_opacity": 255, "_color": { @@ -579,17 +579,17 @@ }, "_children": [ { - "__id__": 14 + "__id__": 15 } ], "_active": true, "_components": [ { - "__id__": 17 + "__id__": 14 } ], "_prefab": { - "__id__": 18 + "__id__": 16 }, "_opacity": 255, "_color": { @@ -638,6 +638,38 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 13 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "f1d89e97-dcf0-4e71-8707-a9c4584fc170" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, { "__type__": "cc.Node", "_name": "dayNumber", @@ -649,11 +681,11 @@ "_active": true, "_components": [ { - "__id__": 15 + "__id__": 44 } ], "_prefab": { - "__id__": 16 + "__id__": 70 }, "_opacity": 255, "_color": { @@ -702,81 +734,6 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 14 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "2954f098-cc21-4648-b8e4-d645aca67861" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber1", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 13 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "f1d89e97-dcf0-4e71-8707-a9c4584fc170" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, { "__type__": "cc.PrefabInfo", "root": { @@ -797,13 +754,13 @@ }, "_children": [ { - "__id__": 20 + "__id__": 18 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 34 + "__id__": 32 }, "_opacity": 255, "_color": { @@ -857,21 +814,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 19 + "__id__": 17 }, "_children": [ { - "__id__": 21 + "__id__": 19 } ], "_active": true, "_components": [ { - "__id__": 32 + "__id__": 30 } ], "_prefab": { - "__id__": 33 + "__id__": 31 }, "_opacity": 255, "_color": { @@ -925,23 +882,23 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 20 + "__id__": 18 }, "_children": [ { - "__id__": 22 + "__id__": 20 }, { - "__id__": 25 + "__id__": 23 }, { - "__id__": 28 + "__id__": 26 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 31 + "__id__": 29 }, "_opacity": 255, "_color": { @@ -995,17 +952,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 21 + "__id__": 19 }, "_children": [], "_active": true, "_components": [ { - "__id__": 23 + "__id__": 21 } ], "_prefab": { - "__id__": 24 + "__id__": 22 }, "_opacity": 255, "_color": { @@ -1059,7 +1016,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 22 + "__id__": 20 }, "_enabled": true, "_materials": [ @@ -1102,17 +1059,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 21 + "__id__": 19 }, "_children": [], "_active": true, "_components": [ { - "__id__": 26 + "__id__": 24 } ], "_prefab": { - "__id__": 27 + "__id__": 25 }, "_opacity": 255, "_color": { @@ -1166,7 +1123,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 25 + "__id__": 23 }, "_enabled": true, "_materials": [ @@ -1209,17 +1166,17 @@ "_name": "digit2", "_objFlags": 0, "_parent": { - "__id__": 21 + "__id__": 19 }, "_children": [], "_active": true, "_components": [ { - "__id__": 29 + "__id__": 27 } ], "_prefab": { - "__id__": 30 + "__id__": 28 }, "_opacity": 255, "_color": { @@ -1273,7 +1230,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 28 + "__id__": 26 }, "_enabled": true, "_materials": [ @@ -1327,7 +1284,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 20 + "__id__": 18 }, "_enabled": true, "_materials": [ @@ -1387,11 +1344,11 @@ "_active": false, "_components": [ { - "__id__": 36 + "__id__": 34 } ], "_prefab": { - "__id__": 37 + "__id__": 35 }, "_opacity": 255, "_color": { @@ -1445,7 +1402,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 35 + "__id__": 33 }, "_enabled": true, "_materials": [ @@ -1494,11 +1451,11 @@ "_active": false, "_components": [ { - "__id__": 39 + "__id__": 37 } ], "_prefab": { - "__id__": 40 + "__id__": 38 }, "_opacity": 255, "_color": { @@ -1552,7 +1509,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 38 + "__id__": 36 }, "_enabled": true, "_materials": [ @@ -1642,26 +1599,26 @@ }, "_children": [ { - "__id__": 44 + "__id__": 42 }, { - "__id__": 50 + "__id__": 46 }, { - "__id__": 63 + "__id__": 59 }, { - "__id__": 66 + "__id__": 62 } ], "_active": true, "_components": [ { - "__id__": 69 + "__id__": 65 } ], "_prefab": { - "__id__": 70 + "__id__": 66 }, "_opacity": 255, "_color": { @@ -1715,21 +1672,21 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 43 + "__id__": 41 }, "_children": [ { - "__id__": 45 + "__id__": 99 } ], "_active": true, "_components": [ { - "__id__": 48 + "__id__": 43 } ], "_prefab": { - "__id__": 49 + "__id__": 45 }, "_opacity": 255, "_color": { @@ -1778,76 +1735,12 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Node", - "_name": "dayNumber", - "_objFlags": 0, - "_parent": { - "__id__": 44 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 46 - } - ], - "_prefab": { - "__id__": 47 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 30, - "height": 34 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 45 + "__id__": 42 }, "_enabled": true, "_materials": [ @@ -1858,7 +1751,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "57f492c7-0fa4-4af6-b552-9b4c10f2d3f3" + "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" }, "_type": 0, "_sizeMode": 0, @@ -1874,23 +1767,12 @@ "_atlas": null, "_id": "" }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber2", - "sync": false - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 44 + "__id__": 15 }, "_enabled": true, "_materials": [ @@ -1901,7 +1783,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" + "__uuid__": "2954f098-cc21-4648-b8e4-d645aca67861" }, "_type": 0, "_sizeMode": 0, @@ -1933,17 +1815,17 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 43 + "__id__": 41 }, "_children": [ { - "__id__": 51 + "__id__": 47 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 62 + "__id__": 58 }, "_opacity": 255, "_color": { @@ -1997,21 +1879,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 50 + "__id__": 46 }, "_children": [ { - "__id__": 52 + "__id__": 48 } ], "_active": true, "_components": [ { - "__id__": 60 + "__id__": 56 } ], "_prefab": { - "__id__": 61 + "__id__": 57 }, "_opacity": 255, "_color": { @@ -2065,20 +1947,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 51 + "__id__": 47 }, "_children": [ { - "__id__": 53 + "__id__": 49 }, { - "__id__": 56 + "__id__": 52 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 59 + "__id__": 55 }, "_opacity": 255, "_color": { @@ -2132,17 +2014,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 52 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 54 + "__id__": 50 } ], "_prefab": { - "__id__": 55 + "__id__": 51 }, "_opacity": 255, "_color": { @@ -2196,7 +2078,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 53 + "__id__": 49 }, "_enabled": true, "_materials": [ @@ -2239,17 +2121,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 52 + "__id__": 48 }, "_children": [], "_active": true, "_components": [ { - "__id__": 57 + "__id__": 53 } ], "_prefab": { - "__id__": 58 + "__id__": 54 }, "_opacity": 255, "_color": { @@ -2303,7 +2185,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 56 + "__id__": 52 }, "_enabled": true, "_materials": [ @@ -2357,7 +2239,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 51 + "__id__": 47 }, "_enabled": true, "_materials": [ @@ -2411,17 +2293,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 43 + "__id__": 41 }, "_children": [], "_active": false, "_components": [ { - "__id__": 64 + "__id__": 60 } ], "_prefab": { - "__id__": 65 + "__id__": 61 }, "_opacity": 255, "_color": { @@ -2475,7 +2357,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 63 + "__id__": 59 }, "_enabled": true, "_materials": [ @@ -2518,17 +2400,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 43 + "__id__": 41 }, "_children": [], "_active": false, "_components": [ { - "__id__": 67 + "__id__": 63 } ], "_prefab": { - "__id__": 68 + "__id__": 64 }, "_opacity": 255, "_color": { @@ -2582,7 +2464,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 66 + "__id__": 62 }, "_enabled": true, "_materials": [ @@ -2625,7 +2507,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 43 + "__id__": 41 }, "_enabled": true, "_materials": [ @@ -2671,27 +2553,27 @@ "__id__": 11 }, "_children": [ + { + "__id__": 68 + }, { "__id__": 72 }, { - "__id__": 78 + "__id__": 88 }, { - "__id__": 94 - }, - { - "__id__": 97 + "__id__": 91 } ], "_active": true, "_components": [ { - "__id__": 100 + "__id__": 94 } ], "_prefab": { - "__id__": 101 + "__id__": 95 }, "_opacity": 255, "_color": { @@ -2745,21 +2627,21 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 67 }, "_children": [ { - "__id__": 73 + "__id__": 202 } ], "_active": true, "_components": [ { - "__id__": 76 + "__id__": 69 } ], "_prefab": { - "__id__": 77 + "__id__": 71 }, "_opacity": 255, "_color": { @@ -2808,119 +2690,12 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Node", - "_name": "dayNumber", - "_objFlags": 0, - "_parent": { - "__id__": 72 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 74 - } - ], - "_prefab": { - "__id__": 75 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 28, - "height": 35 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 73 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "871da141-e0d9-466e-8b91-522ef3ebeea6" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber3", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 72 + "__id__": 68 }, "_enabled": true, "_materials": [ @@ -2947,6 +2722,17 @@ "_atlas": null, "_id": "" }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber1", + "sync": false + }, { "__type__": "cc.PrefabInfo", "root": { @@ -2963,17 +2749,17 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 67 }, "_children": [ { - "__id__": 79 + "__id__": 73 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 93 + "__id__": 87 }, "_opacity": 255, "_color": { @@ -3027,21 +2813,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 78 + "__id__": 72 }, "_children": [ { - "__id__": 80 + "__id__": 74 } ], "_active": true, "_components": [ { - "__id__": 91 + "__id__": 85 } ], "_prefab": { - "__id__": 92 + "__id__": 86 }, "_opacity": 255, "_color": { @@ -3095,23 +2881,23 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 79 + "__id__": 73 }, "_children": [ + { + "__id__": 75 + }, + { + "__id__": 78 + }, { "__id__": 81 - }, - { - "__id__": 84 - }, - { - "__id__": 87 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 90 + "__id__": 84 }, "_opacity": 255, "_color": { @@ -3165,17 +2951,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 80 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 82 + "__id__": 76 } ], "_prefab": { - "__id__": 83 + "__id__": 77 }, "_opacity": 255, "_color": { @@ -3229,7 +3015,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 81 + "__id__": 75 }, "_enabled": true, "_materials": [ @@ -3272,17 +3058,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 80 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 85 + "__id__": 79 } ], "_prefab": { - "__id__": 86 + "__id__": 80 }, "_opacity": 255, "_color": { @@ -3336,7 +3122,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 84 + "__id__": 78 }, "_enabled": true, "_materials": [ @@ -3379,17 +3165,17 @@ "_name": "digit2", "_objFlags": 0, "_parent": { - "__id__": 80 + "__id__": 74 }, "_children": [], "_active": true, "_components": [ { - "__id__": 88 + "__id__": 82 } ], "_prefab": { - "__id__": 89 + "__id__": 83 }, "_opacity": 255, "_color": { @@ -3443,7 +3229,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 87 + "__id__": 81 }, "_enabled": true, "_materials": [ @@ -3497,7 +3283,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 79 + "__id__": 73 }, "_enabled": true, "_materials": [ @@ -3551,17 +3337,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 67 }, "_children": [], "_active": false, "_components": [ { - "__id__": 95 + "__id__": 89 } ], "_prefab": { - "__id__": 96 + "__id__": 90 }, "_opacity": 255, "_color": { @@ -3615,7 +3401,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 94 + "__id__": 88 }, "_enabled": true, "_materials": [ @@ -3658,17 +3444,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 71 + "__id__": 67 }, "_children": [], "_active": false, "_components": [ { - "__id__": 98 + "__id__": 92 } ], "_prefab": { - "__id__": 99 + "__id__": 93 }, "_opacity": 255, "_color": { @@ -3722,7 +3508,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 97 + "__id__": 91 }, "_enabled": true, "_materials": [ @@ -3765,7 +3551,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 71 + "__id__": 67 }, "_enabled": true, "_materials": [ @@ -3812,26 +3598,26 @@ }, "_children": [ { - "__id__": 103 + "__id__": 97 }, { - "__id__": 109 + "__id__": 101 }, { - "__id__": 133 + "__id__": 125 }, { - "__id__": 136 + "__id__": 128 } ], "_active": true, "_components": [ { - "__id__": 139 + "__id__": 131 } ], "_prefab": { - "__id__": 140 + "__id__": 132 }, "_opacity": 255, "_color": { @@ -3885,21 +3671,21 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 102 + "__id__": 96 }, "_children": [ { - "__id__": 104 + "__id__": 251 } ], "_active": true, "_components": [ { - "__id__": 107 + "__id__": 98 } ], "_prefab": { - "__id__": 108 + "__id__": 100 }, "_opacity": 255, "_color": { @@ -3948,22 +3734,54 @@ "groupIndex": 0, "_id": "" }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 97 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, { "__type__": "cc.Node", "_name": "dayNumber", "_objFlags": 0, "_parent": { - "__id__": 103 + "__id__": 42 }, "_children": [], "_active": true, "_components": [ { - "__id__": 105 + "__id__": 136 } ], "_prefab": { - "__id__": 106 + "__id__": 165 }, "_opacity": 255, "_color": { @@ -3975,8 +3793,8 @@ }, "_contentSize": { "__type__": "cc.Size", - "width": 32, - "height": 35 + "width": 30, + "height": 34 }, "_anchorPoint": { "__type__": "cc.Vec2", @@ -4012,81 +3830,6 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 104 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "7dbbd3f0-3db8-4b35-80b3-9930baf2b3f5" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber4", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 103 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, { "__type__": "cc.PrefabInfo", "root": { @@ -4103,20 +3846,20 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 102 + "__id__": 96 }, "_children": [ { - "__id__": 110 + "__id__": 102 }, { - "__id__": 121 + "__id__": 113 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 132 + "__id__": 124 }, "_opacity": 255, "_color": { @@ -4170,21 +3913,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 109 + "__id__": 101 }, "_children": [ { - "__id__": 111 + "__id__": 103 } ], "_active": true, "_components": [ { - "__id__": 119 + "__id__": 111 } ], "_prefab": { - "__id__": 120 + "__id__": 112 }, "_opacity": 255, "_color": { @@ -4238,20 +3981,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 110 + "__id__": 102 }, "_children": [ { - "__id__": 112 + "__id__": 104 }, { - "__id__": 115 + "__id__": 107 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 118 + "__id__": 110 }, "_opacity": 255, "_color": { @@ -4305,17 +4048,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 111 + "__id__": 103 }, "_children": [], "_active": true, "_components": [ { - "__id__": 113 + "__id__": 105 } ], "_prefab": { - "__id__": 114 + "__id__": 106 }, "_opacity": 255, "_color": { @@ -4369,7 +4112,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 112 + "__id__": 104 }, "_enabled": true, "_materials": [ @@ -4412,17 +4155,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 111 + "__id__": 103 }, "_children": [], "_active": true, "_components": [ { - "__id__": 116 + "__id__": 108 } ], "_prefab": { - "__id__": 117 + "__id__": 109 }, "_opacity": 255, "_color": { @@ -4476,7 +4219,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 115 + "__id__": 107 }, "_enabled": true, "_materials": [ @@ -4530,7 +4273,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 110 + "__id__": 102 }, "_enabled": true, "_materials": [ @@ -4573,21 +4316,21 @@ "_name": "rewardItem1", "_objFlags": 0, "_parent": { - "__id__": 109 + "__id__": 101 }, "_children": [ { - "__id__": 122 + "__id__": 114 } ], "_active": true, "_components": [ { - "__id__": 130 + "__id__": 122 } ], "_prefab": { - "__id__": 131 + "__id__": 123 }, "_opacity": 255, "_color": { @@ -4641,20 +4384,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 121 + "__id__": 113 }, "_children": [ { - "__id__": 123 + "__id__": 115 }, { - "__id__": 126 + "__id__": 118 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 129 + "__id__": 121 }, "_opacity": 255, "_color": { @@ -4708,17 +4451,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 122 + "__id__": 114 }, "_children": [], "_active": true, "_components": [ { - "__id__": 124 + "__id__": 116 } ], "_prefab": { - "__id__": 125 + "__id__": 117 }, "_opacity": 255, "_color": { @@ -4772,7 +4515,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 123 + "__id__": 115 }, "_enabled": true, "_materials": [ @@ -4815,17 +4558,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 122 + "__id__": 114 }, "_children": [], "_active": true, "_components": [ { - "__id__": 127 + "__id__": 119 } ], "_prefab": { - "__id__": 128 + "__id__": 120 }, "_opacity": 255, "_color": { @@ -4879,7 +4622,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 126 + "__id__": 118 }, "_enabled": true, "_materials": [ @@ -4933,7 +4676,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 121 + "__id__": 113 }, "_enabled": true, "_materials": [ @@ -4987,17 +4730,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 102 + "__id__": 96 }, "_children": [], "_active": false, "_components": [ { - "__id__": 134 + "__id__": 126 } ], "_prefab": { - "__id__": 135 + "__id__": 127 }, "_opacity": 255, "_color": { @@ -5051,7 +4794,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 133 + "__id__": 125 }, "_enabled": true, "_materials": [ @@ -5094,17 +4837,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 102 + "__id__": 96 }, "_children": [], "_active": false, "_components": [ { - "__id__": 137 + "__id__": 129 } ], "_prefab": { - "__id__": 138 + "__id__": 130 }, "_opacity": 255, "_color": { @@ -5158,7 +4901,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 136 + "__id__": 128 }, "_enabled": true, "_materials": [ @@ -5201,7 +4944,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 102 + "__id__": 96 }, "_enabled": true, "_materials": [ @@ -5248,26 +4991,26 @@ }, "_children": [ { - "__id__": 142 + "__id__": 134 }, { - "__id__": 148 + "__id__": 138 }, { - "__id__": 164 + "__id__": 154 }, { - "__id__": 167 + "__id__": 157 } ], "_active": true, "_components": [ { - "__id__": 170 + "__id__": 160 } ], "_prefab": { - "__id__": 171 + "__id__": 161 }, "_opacity": 255, "_color": { @@ -5321,21 +5064,21 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 141 + "__id__": 133 }, "_children": [ { - "__id__": 143 + "__id__": 254 } ], "_active": true, "_components": [ { - "__id__": 146 + "__id__": 135 } ], "_prefab": { - "__id__": 147 + "__id__": 137 }, "_opacity": 255, "_color": { @@ -5384,76 +5127,12 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Node", - "_name": "dayNumber", - "_objFlags": 0, - "_parent": { - "__id__": 142 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 144 - } - ], - "_prefab": { - "__id__": 145 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 29, - "height": 33 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 143 + "__id__": 134 }, "_enabled": true, "_materials": [ @@ -5464,7 +5143,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5868750f-05eb-454a-80d2-38a123ff122e" + "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" }, "_type": 0, "_sizeMode": 0, @@ -5480,23 +5159,12 @@ "_atlas": null, "_id": "" }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber5", - "sync": false - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 142 + "__id__": 99 }, "_enabled": true, "_materials": [ @@ -5507,7 +5175,7 @@ "_srcBlendFactor": 770, "_dstBlendFactor": 771, "_spriteFrame": { - "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" + "__uuid__": "57f492c7-0fa4-4af6-b552-9b4c10f2d3f3" }, "_type": 0, "_sizeMode": 0, @@ -5539,17 +5207,17 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 141 + "__id__": 133 }, "_children": [ { - "__id__": 149 + "__id__": 139 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 163 + "__id__": 153 }, "_opacity": 255, "_color": { @@ -5603,21 +5271,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 148 + "__id__": 138 }, "_children": [ { - "__id__": 150 + "__id__": 140 } ], "_active": true, "_components": [ { - "__id__": 161 + "__id__": 151 } ], "_prefab": { - "__id__": 162 + "__id__": 152 }, "_opacity": 255, "_color": { @@ -5671,23 +5339,23 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 149 + "__id__": 139 }, "_children": [ { - "__id__": 151 + "__id__": 141 }, { - "__id__": 154 + "__id__": 144 }, { - "__id__": 157 + "__id__": 147 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 160 + "__id__": 150 }, "_opacity": 255, "_color": { @@ -5741,17 +5409,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 150 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 152 + "__id__": 142 } ], "_prefab": { - "__id__": 153 + "__id__": 143 }, "_opacity": 255, "_color": { @@ -5805,7 +5473,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 151 + "__id__": 141 }, "_enabled": true, "_materials": [ @@ -5848,17 +5516,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 150 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 155 + "__id__": 145 } ], "_prefab": { - "__id__": 156 + "__id__": 146 }, "_opacity": 255, "_color": { @@ -5912,7 +5580,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 154 + "__id__": 144 }, "_enabled": true, "_materials": [ @@ -5955,17 +5623,17 @@ "_name": "digit2", "_objFlags": 0, "_parent": { - "__id__": 150 + "__id__": 140 }, "_children": [], "_active": true, "_components": [ { - "__id__": 158 + "__id__": 148 } ], "_prefab": { - "__id__": 159 + "__id__": 149 }, "_opacity": 255, "_color": { @@ -6019,7 +5687,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 157 + "__id__": 147 }, "_enabled": true, "_materials": [ @@ -6073,7 +5741,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 149 + "__id__": 139 }, "_enabled": true, "_materials": [ @@ -6127,17 +5795,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 141 + "__id__": 133 }, "_children": [], "_active": false, "_components": [ { - "__id__": 165 + "__id__": 155 } ], "_prefab": { - "__id__": 166 + "__id__": 156 }, "_opacity": 255, "_color": { @@ -6191,7 +5859,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 164 + "__id__": 154 }, "_enabled": true, "_materials": [ @@ -6234,17 +5902,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 141 + "__id__": 133 }, "_children": [], "_active": false, "_components": [ { - "__id__": 168 + "__id__": 158 } ], "_prefab": { - "__id__": 169 + "__id__": 159 }, "_opacity": 255, "_color": { @@ -6298,7 +5966,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 167 + "__id__": 157 }, "_enabled": true, "_materials": [ @@ -6341,7 +6009,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 141 + "__id__": 133 }, "_enabled": true, "_materials": [ @@ -6388,26 +6056,26 @@ }, "_children": [ { - "__id__": 173 + "__id__": 163 }, { - "__id__": 179 + "__id__": 167 }, { - "__id__": 203 + "__id__": 191 }, { - "__id__": 206 + "__id__": 194 } ], "_active": true, "_components": [ { - "__id__": 209 + "__id__": 197 } ], "_prefab": { - "__id__": 210 + "__id__": 198 }, "_opacity": 255, "_color": { @@ -6461,21 +6129,21 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 172 + "__id__": 162 }, "_children": [ { - "__id__": 174 + "__id__": 257 } ], "_active": true, "_components": [ { - "__id__": 177 + "__id__": 164 } ], "_prefab": { - "__id__": 178 + "__id__": 166 }, "_opacity": 255, "_color": { @@ -6524,119 +6192,12 @@ "groupIndex": 0, "_id": "" }, - { - "__type__": "cc.Node", - "_name": "dayNumber", - "_objFlags": 0, - "_parent": { - "__id__": 173 - }, - "_children": [], - "_active": true, - "_components": [ - { - "__id__": 175 - } - ], - "_prefab": { - "__id__": 176 - }, - "_opacity": 255, - "_color": { - "__type__": "cc.Color", - "r": 255, - "g": 255, - "b": 255, - "a": 255 - }, - "_contentSize": { - "__type__": "cc.Size", - "width": 30, - "height": 35 - }, - "_anchorPoint": { - "__type__": "cc.Vec2", - "x": 0.5, - "y": 0.5 - }, - "_trs": { - "__type__": "TypedArray", - "ctor": "Float64Array", - "array": [ - 0, - 0, - 0, - 0, - 0, - 0, - 1, - 1, - 1, - 1 - ] - }, - "_eulerAngles": { - "__type__": "cc.Vec3", - "x": 0, - "y": 0, - "z": 0 - }, - "_skewX": 0, - "_skewY": 0, - "_is3DNode": false, - "_groupIndex": 0, - "groupIndex": 0, - "_id": "" - }, { "__type__": "cc.Sprite", "_name": "", "_objFlags": 0, "node": { - "__id__": 174 - }, - "_enabled": true, - "_materials": [ - { - "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" - } - ], - "_srcBlendFactor": 770, - "_dstBlendFactor": 771, - "_spriteFrame": { - "__uuid__": "260713d9-9922-49fa-a307-c9c548ec6434" - }, - "_type": 0, - "_sizeMode": 0, - "_fillType": 0, - "_fillCenter": { - "__type__": "cc.Vec2", - "x": 0, - "y": 0 - }, - "_fillStart": 0, - "_fillRange": 0, - "_isTrimmedMode": true, - "_atlas": null, - "_id": "" - }, - { - "__type__": "cc.PrefabInfo", - "root": { - "__id__": 1 - }, - "asset": { - "__id__": 0 - }, - "fileId": "sevenDayNumber6", - "sync": false - }, - { - "__type__": "cc.Sprite", - "_name": "", - "_objFlags": 0, - "node": { - "__id__": 173 + "__id__": 163 }, "_enabled": true, "_materials": [ @@ -6663,6 +6224,17 @@ "_atlas": null, "_id": "" }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber2", + "sync": false + }, { "__type__": "cc.PrefabInfo", "root": { @@ -6679,20 +6251,20 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 172 + "__id__": 162 }, "_children": [ { - "__id__": 180 + "__id__": 168 }, { - "__id__": 191 + "__id__": 179 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 202 + "__id__": 190 }, "_opacity": 255, "_color": { @@ -6746,21 +6318,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 179 + "__id__": 167 }, "_children": [ { - "__id__": 181 + "__id__": 169 } ], "_active": true, "_components": [ { - "__id__": 189 + "__id__": 177 } ], "_prefab": { - "__id__": 190 + "__id__": 178 }, "_opacity": 255, "_color": { @@ -6814,20 +6386,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 180 + "__id__": 168 }, "_children": [ { - "__id__": 182 + "__id__": 170 }, { - "__id__": 185 + "__id__": 173 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 188 + "__id__": 176 }, "_opacity": 255, "_color": { @@ -6881,17 +6453,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 181 + "__id__": 169 }, "_children": [], "_active": true, "_components": [ { - "__id__": 183 + "__id__": 171 } ], "_prefab": { - "__id__": 184 + "__id__": 172 }, "_opacity": 255, "_color": { @@ -6945,7 +6517,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 182 + "__id__": 170 }, "_enabled": true, "_materials": [ @@ -6988,17 +6560,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 181 + "__id__": 169 }, "_children": [], "_active": true, "_components": [ { - "__id__": 186 + "__id__": 174 } ], "_prefab": { - "__id__": 187 + "__id__": 175 }, "_opacity": 255, "_color": { @@ -7052,7 +6624,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 185 + "__id__": 173 }, "_enabled": true, "_materials": [ @@ -7106,7 +6678,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 180 + "__id__": 168 }, "_enabled": true, "_materials": [ @@ -7149,21 +6721,21 @@ "_name": "rewardItem1", "_objFlags": 0, "_parent": { - "__id__": 179 + "__id__": 167 }, "_children": [ { - "__id__": 192 + "__id__": 180 } ], "_active": true, "_components": [ { - "__id__": 200 + "__id__": 188 } ], "_prefab": { - "__id__": 201 + "__id__": 189 }, "_opacity": 255, "_color": { @@ -7217,20 +6789,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 191 + "__id__": 179 }, "_children": [ { - "__id__": 193 + "__id__": 181 }, { - "__id__": 196 + "__id__": 184 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 199 + "__id__": 187 }, "_opacity": 255, "_color": { @@ -7284,17 +6856,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 192 + "__id__": 180 }, "_children": [], "_active": true, "_components": [ { - "__id__": 194 + "__id__": 182 } ], "_prefab": { - "__id__": 195 + "__id__": 183 }, "_opacity": 255, "_color": { @@ -7348,7 +6920,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 193 + "__id__": 181 }, "_enabled": true, "_materials": [ @@ -7391,17 +6963,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 192 + "__id__": 180 }, "_children": [], "_active": true, "_components": [ { - "__id__": 197 + "__id__": 185 } ], "_prefab": { - "__id__": 198 + "__id__": 186 }, "_opacity": 255, "_color": { @@ -7455,7 +7027,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 196 + "__id__": 184 }, "_enabled": true, "_materials": [ @@ -7509,7 +7081,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 191 + "__id__": 179 }, "_enabled": true, "_materials": [ @@ -7563,17 +7135,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 172 + "__id__": 162 }, "_children": [], "_active": false, "_components": [ { - "__id__": 204 + "__id__": 192 } ], "_prefab": { - "__id__": 205 + "__id__": 193 }, "_opacity": 255, "_color": { @@ -7627,7 +7199,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 203 + "__id__": 191 }, "_enabled": true, "_materials": [ @@ -7670,17 +7242,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 172 + "__id__": 162 }, "_children": [], "_active": false, "_components": [ { - "__id__": 207 + "__id__": 195 } ], "_prefab": { - "__id__": 208 + "__id__": 196 }, "_opacity": 255, "_color": { @@ -7734,7 +7306,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 206 + "__id__": 194 }, "_enabled": true, "_materials": [ @@ -7777,7 +7349,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 172 + "__id__": 162 }, "_enabled": true, "_materials": [ @@ -7824,29 +7396,29 @@ }, "_children": [ { - "__id__": 212 + "__id__": 200 }, { - "__id__": 215 + "__id__": 204 }, { - "__id__": 219 + "__id__": 208 }, { - "__id__": 246 + "__id__": 235 }, { - "__id__": 249 + "__id__": 238 } ], "_active": true, "_components": [ { - "__id__": 252 + "__id__": 241 } ], "_prefab": { - "__id__": 253 + "__id__": 242 }, "_opacity": 255, "_color": { @@ -7900,17 +7472,17 @@ "_name": "dayLabel", "_objFlags": 0, "_parent": { - "__id__": 211 + "__id__": 199 }, "_children": [], "_active": true, "_components": [ { - "__id__": 213 + "__id__": 201 } ], "_prefab": { - "__id__": 214 + "__id__": 203 }, "_opacity": 255, "_color": { @@ -7964,7 +7536,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 212 + "__id__": 200 }, "_enabled": true, "_materials": [ @@ -7991,6 +7563,70 @@ "_atlas": null, "_id": "" }, + { + "__type__": "cc.Node", + "_name": "dayNumber", + "_objFlags": 0, + "_parent": { + "__id__": 68 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 249 + } + ], + "_prefab": { + "__id__": 250 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 28, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, { "__type__": "cc.PrefabInfo", "root": { @@ -8007,20 +7643,20 @@ "_name": "catGlow", "_objFlags": 0, "_parent": { - "__id__": 211 + "__id__": 199 }, "_children": [], "_active": true, "_components": [ { - "__id__": 216 + "__id__": 205 }, { - "__id__": 217 + "__id__": 206 } ], "_prefab": { - "__id__": 218 + "__id__": 207 }, "_opacity": 170, "_color": { @@ -8074,7 +7710,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 204 }, "_enabled": true, "_materials": [ @@ -8106,7 +7742,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 215 + "__id__": 204 }, "_enabled": true, "_defaultClip": { @@ -8136,20 +7772,20 @@ "_name": "rewardItems", "_objFlags": 0, "_parent": { - "__id__": 211 + "__id__": 199 }, "_children": [ { - "__id__": 220 + "__id__": 209 }, { - "__id__": 234 + "__id__": 223 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 245 + "__id__": 234 }, "_opacity": 255, "_color": { @@ -8203,21 +7839,21 @@ "_name": "rewardItem0", "_objFlags": 0, "_parent": { - "__id__": 219 + "__id__": 208 }, "_children": [ { - "__id__": 221 + "__id__": 210 } ], "_active": true, "_components": [ { - "__id__": 232 + "__id__": 221 } ], "_prefab": { - "__id__": 233 + "__id__": 222 }, "_opacity": 255, "_color": { @@ -8271,23 +7907,23 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 220 + "__id__": 209 }, "_children": [ { - "__id__": 222 + "__id__": 211 }, { - "__id__": 225 + "__id__": 214 }, { - "__id__": 228 + "__id__": 217 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 231 + "__id__": 220 }, "_opacity": 255, "_color": { @@ -8341,17 +7977,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 210 }, "_children": [], "_active": true, "_components": [ { - "__id__": 223 + "__id__": 212 } ], "_prefab": { - "__id__": 224 + "__id__": 213 }, "_opacity": 255, "_color": { @@ -8405,7 +8041,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 222 + "__id__": 211 }, "_enabled": true, "_materials": [ @@ -8448,17 +8084,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 210 }, "_children": [], "_active": true, "_components": [ { - "__id__": 226 + "__id__": 215 } ], "_prefab": { - "__id__": 227 + "__id__": 216 }, "_opacity": 255, "_color": { @@ -8512,7 +8148,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 225 + "__id__": 214 }, "_enabled": true, "_materials": [ @@ -8555,17 +8191,17 @@ "_name": "digit2", "_objFlags": 0, "_parent": { - "__id__": 221 + "__id__": 210 }, "_children": [], "_active": true, "_components": [ { - "__id__": 229 + "__id__": 218 } ], "_prefab": { - "__id__": 230 + "__id__": 219 }, "_opacity": 255, "_color": { @@ -8619,7 +8255,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 228 + "__id__": 217 }, "_enabled": true, "_materials": [ @@ -8673,7 +8309,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 220 + "__id__": 209 }, "_enabled": true, "_materials": [ @@ -8716,21 +8352,21 @@ "_name": "rewardItem1", "_objFlags": 0, "_parent": { - "__id__": 219 + "__id__": 208 }, "_children": [ { - "__id__": 235 + "__id__": 224 } ], "_active": true, "_components": [ { - "__id__": 243 + "__id__": 232 } ], "_prefab": { - "__id__": 244 + "__id__": 233 }, "_opacity": 255, "_color": { @@ -8784,20 +8420,20 @@ "_name": "amount", "_objFlags": 0, "_parent": { - "__id__": 234 + "__id__": 223 }, "_children": [ { - "__id__": 236 + "__id__": 225 }, { - "__id__": 239 + "__id__": 228 } ], "_active": true, "_components": [], "_prefab": { - "__id__": 242 + "__id__": 231 }, "_opacity": 255, "_color": { @@ -8851,17 +8487,17 @@ "_name": "digit0", "_objFlags": 0, "_parent": { - "__id__": 235 + "__id__": 224 }, "_children": [], "_active": true, "_components": [ { - "__id__": 237 + "__id__": 226 } ], "_prefab": { - "__id__": 238 + "__id__": 227 }, "_opacity": 255, "_color": { @@ -8915,7 +8551,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 236 + "__id__": 225 }, "_enabled": true, "_materials": [ @@ -8958,17 +8594,17 @@ "_name": "digit1", "_objFlags": 0, "_parent": { - "__id__": 235 + "__id__": 224 }, "_children": [], "_active": true, "_components": [ { - "__id__": 240 + "__id__": 229 } ], "_prefab": { - "__id__": 241 + "__id__": 230 }, "_opacity": 255, "_color": { @@ -9022,7 +8658,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 239 + "__id__": 228 }, "_enabled": true, "_materials": [ @@ -9076,7 +8712,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 234 + "__id__": 223 }, "_enabled": true, "_materials": [ @@ -9130,17 +8766,17 @@ "_name": "claimedOverlay", "_objFlags": 0, "_parent": { - "__id__": 211 + "__id__": 199 }, "_children": [], "_active": false, "_components": [ { - "__id__": 247 + "__id__": 236 } ], "_prefab": { - "__id__": 248 + "__id__": 237 }, "_opacity": 255, "_color": { @@ -9194,7 +8830,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 246 + "__id__": 235 }, "_enabled": true, "_materials": [ @@ -9237,17 +8873,17 @@ "_name": "claimedBadge", "_objFlags": 0, "_parent": { - "__id__": 211 + "__id__": 199 }, "_children": [], "_active": false, "_components": [ { - "__id__": 250 + "__id__": 239 } ], "_prefab": { - "__id__": 251 + "__id__": 240 }, "_opacity": 255, "_color": { @@ -9301,7 +8937,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 249 + "__id__": 238 }, "_enabled": true, "_materials": [ @@ -9344,7 +8980,7 @@ "_name": "", "_objFlags": 0, "node": { - "__id__": 211 + "__id__": 199 }, "_enabled": true, "_materials": [ @@ -9480,52 +9116,6 @@ "cardSpecial": { "__uuid__": "7d090003-0203-4a00-8b00-000000000203" }, - "dayBlue": { - "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" - }, - "dayYellow": { - "__uuid__": "f1d89e97-dcf0-4e71-8707-a9c4584fc170" - }, - "dayNumberBlue": [ - { - "__uuid__": "95c90483-cb97-4eb9-8443-d861b09f97c0" - }, - { - "__uuid__": "57f492c7-0fa4-4af6-b552-9b4c10f2d3f3" - }, - { - "__uuid__": "871da141-e0d9-466e-8b91-522ef3ebeea6" - }, - { - "__uuid__": "7dbbd3f0-3db8-4b35-80b3-9930baf2b3f5" - }, - { - "__uuid__": "5868750f-05eb-454a-80d2-38a123ff122e" - }, - { - "__uuid__": "260713d9-9922-49fa-a307-c9c548ec6434" - } - ], - "dayNumberYellow": [ - { - "__uuid__": "2954f098-cc21-4648-b8e4-d645aca67861" - }, - { - "__uuid__": "79251c02-6295-4e8d-a33a-496c542dab8e" - }, - { - "__uuid__": "839576d3-839b-44da-aa94-344425afb65f" - }, - { - "__uuid__": "201fbfd2-494b-4f93-a6c0-16c310517ca0" - }, - { - "__uuid__": "c33b2f71-adb9-4cc1-8cf9-6a4e06a24761" - }, - { - "__uuid__": "26964b70-e1ad-4f5d-85a0-3b68a03fe866" - } - ], "claimedOverlay": { "__uuid__": "7d090003-0213-4a00-8b00-000000000213" }, @@ -9595,7 +9185,53 @@ } ], "popupAnimation": 1, - "_id": "" + "_id": "", + "dayBlue": { + "__uuid__": "5653ad5a-4cc2-462d-8cb4-11386db8b633" + }, + "dayYellow": { + "__uuid__": "f1d89e97-dcf0-4e71-8707-a9c4584fc170" + }, + "dayNumberBlue": [ + { + "__uuid__": "95c90483-cb97-4eb9-8443-d861b09f97c0" + }, + { + "__uuid__": "57f492c7-0fa4-4af6-b552-9b4c10f2d3f3" + }, + { + "__uuid__": "871da141-e0d9-466e-8b91-522ef3ebeea6" + }, + { + "__uuid__": "7dbbd3f0-3db8-4b35-80b3-9930baf2b3f5" + }, + { + "__uuid__": "5868750f-05eb-454a-80d2-38a123ff122e" + }, + { + "__uuid__": "260713d9-9922-49fa-a307-c9c548ec6434" + } + ], + "dayNumberYellow": [ + { + "__uuid__": "2954f098-cc21-4648-b8e4-d645aca67861" + }, + { + "__uuid__": "79251c02-6295-4e8d-a33a-496c542dab8e" + }, + { + "__uuid__": "839576d3-839b-44da-aa94-344425afb65f" + }, + { + "__uuid__": "201fbfd2-494b-4f93-a6c0-16c310517ca0" + }, + { + "__uuid__": "c33b2f71-adb9-4cc1-8cf9-6a4e06a24761" + }, + { + "__uuid__": "26964b70-e1ad-4f5d-85a0-3b68a03fe866" + } + ] }, { "__type__": "cc.PrefabInfo", @@ -9607,5 +9243,369 @@ }, "fileId": "", "sync": false + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 202 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "871da141-e0d9-466e-8b91-522ef3ebeea6" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber3", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "dayNumber", + "_objFlags": 0, + "_parent": { + "__id__": 97 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 252 + } + ], + "_prefab": { + "__id__": 253 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 32, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 251 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "7dbbd3f0-3db8-4b35-80b3-9930baf2b3f5" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber4", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "dayNumber", + "_objFlags": 0, + "_parent": { + "__id__": 134 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 255 + } + ], + "_prefab": { + "__id__": 256 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 29, + "height": 33 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 254 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "5868750f-05eb-454a-80d2-38a123ff122e" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber5", + "sync": false + }, + { + "__type__": "cc.Node", + "_name": "dayNumber", + "_objFlags": 0, + "_parent": { + "__id__": 163 + }, + "_children": [], + "_active": true, + "_components": [ + { + "__id__": 258 + } + ], + "_prefab": { + "__id__": 259 + }, + "_opacity": 255, + "_color": { + "__type__": "cc.Color", + "r": 255, + "g": 255, + "b": 255, + "a": 255 + }, + "_contentSize": { + "__type__": "cc.Size", + "width": 30, + "height": 35 + }, + "_anchorPoint": { + "__type__": "cc.Vec2", + "x": 0.5, + "y": 0.5 + }, + "_trs": { + "__type__": "TypedArray", + "ctor": "Float64Array", + "array": [ + 0, + 0, + 0, + 0, + 0, + 0, + 1, + 1, + 1, + 1 + ] + }, + "_eulerAngles": { + "__type__": "cc.Vec3", + "x": 0, + "y": 0, + "z": 0 + }, + "_skewX": 0, + "_skewY": 0, + "_is3DNode": false, + "_groupIndex": 0, + "groupIndex": 0, + "_id": "" + }, + { + "__type__": "cc.Sprite", + "_name": "", + "_objFlags": 0, + "node": { + "__id__": 257 + }, + "_enabled": true, + "_materials": [ + { + "__uuid__": "eca5d2f2-8ef6-41c2-bbe6-f9c79d09c432" + } + ], + "_srcBlendFactor": 770, + "_dstBlendFactor": 771, + "_spriteFrame": { + "__uuid__": "260713d9-9922-49fa-a307-c9c548ec6434" + }, + "_type": 0, + "_sizeMode": 0, + "_fillType": 0, + "_fillCenter": { + "__type__": "cc.Vec2", + "x": 0, + "y": 0 + }, + "_fillStart": 0, + "_fillRange": 0, + "_isTrimmedMode": true, + "_atlas": null, + "_id": "" + }, + { + "__type__": "cc.PrefabInfo", + "root": { + "__id__": 1 + }, + "asset": { + "__id__": 0 + }, + "fileId": "sevenDayNumber6", + "sync": false } -] \ No newline at end of file +] diff --git a/assets/win/compressed.meta b/assets/win/compressed.meta deleted file mode 100644 index ae72a299..00000000 --- a/assets/win/compressed.meta +++ /dev/null @@ -1,13 +0,0 @@ -{ - "ver": "1.1.3", - "uuid": "8536fa82-6028-4b02-9d18-fd7d6f32ad81", - "importer": "folder", - "isBundle": false, - "bundleName": "", - "priority": 1, - "compressionType": {}, - "optimizeHotUpdate": {}, - "inlineSpriteFrames": {}, - "isRemoteBundle": {}, - "subMetas": {} -} \ No newline at end of file diff --git a/tools/test-finish-stage.cjs b/tools/test-finish-stage.cjs index b87861fa..d82692b7 100644 --- a/tools/test-finish-stage.cjs +++ b/tools/test-finish-stage.cjs @@ -42,17 +42,6 @@ function fixture(overrides = {}) { } const maxLevel = fixture().tool.MAX_NORMAL_LEVEL; -test('enter_stage forwards numeric pilot_drop tiers for normal, endless and shared stages', () => { - for (const scenario of [{ level: 24 }, { level: maxLevel }, { level: 24, otherLevel: 88 }]) { - for (const tier of [undefined, 0, 1, 2, 3]) { - const f = fixture(scenario); - f.tool.shushu_Track('enter_stage', { pilot_drop: tier }); - assert.equal(f.events[0].data.pilot_drop, tier || 0); - assert.equal(typeof f.events[0].data.pilot_drop, 'number'); - } - } -}); - for (const scenario of [ { name: 'first stage', level: 0, stage: 1 }, { name: 'ordinary stage', level: 41, stage: 42 }, diff --git a/tools/test-start-boosters.cjs b/tools/test-start-boosters.cjs deleted file mode 100644 index 97b20f90..00000000 --- a/tools/test-start-boosters.cjs +++ /dev/null @@ -1,576 +0,0 @@ -const test = require('node:test'); -const assert = require('node:assert/strict'); -const fs = require('node:fs'); -const path = require('node:path'); -const vm = require('node:vm'); - -// Reuse the real-prefab Cocos fixture without registering the older suite's tests. -const support = { exports: {} }; -vm.runInNewContext(fs.readFileSync(path.join(__dirname, 'test-rainbow-streak.cjs'), 'utf8') - + '\nmodule.exports = { load, method, rules, engine, block, geometry, cloneNode, cutFixture, controllerFixture };', { - require: name => name === 'node:test' ? () => {} : require(name), - module: support, __dirname, console, process, Set, Math, -}); -const { load, method, rules, engine, block, geometry, cloneNode, cutFixture, controllerFixture } = support.exports; -const rocket = load('assets/Script/RocketRules.ts', engine, { './RainbowRules': rules }); -const loadoutRules = load('assets/Script/StartBoostLoadout.ts', engine, {}); -const positions = cells => Array.from(cells, p => p.x + ',' + p.y).sort(); -const makeMap = blocks => ({ blocks: blocks.map(b => b.node), buttonBlock: [], wallArray: [] }); - -test('every cell in all 23 shapes can be cut; fragments retain every other cell exactly once', () => { - for (let shape = 0; shape < 23; shape++) { - const cells = rules.RAINBOW_SHAPES[shape], cuts = rocket.ROCKET_CUTS[shape]; - assert.equal(cuts.length, cells.length); - for (const cut of cuts) { - const remaining = cut.fragments.flatMap(f => rules.RAINBOW_SHAPES[f.shape].map(p => ({ x:p.x+f.offset.x,y:p.y+f.offset.y }))); - assert.deepEqual(positions([...remaining, cut.cell]), positions(cells)); - assert.equal(new Set(positions(remaining)).size, cells.length - 1); - } - assert.ok(rocket.rocketCuts(cells, true).every(cut => cut.fragments.length === 1)); - } - assert.ok(rocket.ROCKET_CUTS[18].some(cut => cut.fragments.length === 4)); - assert.equal(rocket.rocketCuts(rules.RAINBOW_SHAPES[0], true).length, 0); -}); - -test('ordinary, covered/mechanism and singleton tiers; edge protection also excludes special singletons', () => { - const plain = block(5), floor = block(5, 0, {floor:1}), question = block(5,16), single = block(0); - const map = makeMap([plain,floor,question,single]); - assert.deepEqual(Array.from(rocket.rocketCandidates(map), c => c.priority), [0,1,1,2]); - for (const type of [1,2,3,4,5,6,7,8,12,13,14,17,18,20,21]) { - const special = block(3,type); - const candidates = rocket.rocketCandidates(makeMap([special])); - assert.ok(candidates[0].cuts.every(c => c.fragments.length === 1)); - assert.equal(rocket.rocketCandidates(makeMap([block(0,type)])).length, 0); - } - const door = {special:2,color:2,colorStartArray:[]}; - map.wallArray = [{getChildByName:()=>({getComponent:()=>door})}]; - assert.equal(rocket.rocketCandidates(map).some(c=>c.block===single),false); - door.special=0; door.color=7; door.colorStartArray=[2,3]; - assert.equal(rocket.rocketCandidates(map).some(c=>c.block===single),false); - map.wallArray=[]; map.buttonBlock=[{getComponent:()=>({color:2})}]; - assert.equal(rocket.rocketCandidates(map).length,0); - const glue=block(5,9), partner=block(5); glue.block_Info.node=partner.node; - assert.equal(rocket.rocketCandidates(makeMap([glue,partner])).length,0); - const stack=block(5,1), upper=block(5,10); upper.color=7; stack.block_Info.node=upper.node; - const stacked=makeMap([stack,upper]); stacked.buttonBlock=[{getComponent:()=>({color:7})}]; - assert.equal(rocket.rocketCandidates(stacked).length,0); -}); - -test('pool recalculation precedes distinct-origin preference; repeated hits stay possible', () => { - const a=block(5), b=block(5), mech=block(5,2), single=block(0); - const map=makeMap([a,b,mech,single]), hit=new Set([a.node.uuid]); - assert.equal(rocket.chooseRocketTarget(rocket.rocketCandidates(map),hit,3,()=>0).target.block,b); - hit.add(b.node.uuid); - assert.equal(rocket.chooseRocketTarget(rocket.rocketCandidates(map),hit,3,()=>0).target.block,a); - map.blocks=[mech.node,single.node]; - assert.equal(rocket.chooseRocketTarget(rocket.rocketCandidates(map),hit,2,()=>0).target.block,mech); -}); - -function rocketFixture(shape,type=0) { - const f=cutFixture(shape,type); - const cc={...engine, instantiate(source) { - if(source.prefabShape===undefined) return cloneNode(source); - const extra=geometry(source.prefabShape); - extra.init=function(info) { - Object.assign(this,{block_Info:info,blockId:info.id,color:info.color,type:info.type}); - this.initBlocks(); this.posX=(this.node.x-65)/120;this.posY=(this.node.y+60)/120; - this.setMapBlock=place;place.call(this); - if(info.type===16)this.node.addChild(cover('question',info.questionTime)); - if(info.floor)for(const p of this.allBlocks){const floor=cover('floor',info.floorTime);floor.setPosition(-65+p.x*120,60+p.y*120);this.node.addChild(floor);} - }; - return extra.node; - }}; - function place(){this.allBlocks.forEach(p=>Object.assign(f.map.mapBlocksWall[this.posX+p.x][this.posY+p.y].components.MapBlock,{block_Id:this.node.uuid,nowColor:this.color}));} - f.apply=load('assets/Script/RocketCut.ts',cc,{'./RainbowCut':f.cut,'./RainbowRules':rules,'./RocketRules':rocket}).applyRocketCut; - return f; -} - -function cover(name,time){ - const node=new engine.Node(name), component=name==='floor'?'Floor':'Question'; - node.components[component]={time,init(value,x,y){this.time=value;this.posX=x;this.posY=y;}}; - const icon=new engine.Node('icon');icon.addComponent(engine.Sprite);node.addChild(icon);node.addChild(new engine.Node('time')); - return node; -} - -test('actual prefab cuts, including 2/3/4-way splits, leave correct independent colliders and occupancy without elimination events',()=>{ - for(let shape=0;shape<23;shape++)for(const cut of rocket.ROCKET_CUTS[shape]){ - const f=rocketFixture(shape), original=f.b.node.uuid; - const expected=positions(f.b.allBlocks.filter(p=>p.x!==cut.cell.x||p.y!==cut.cell.y).map(p=>({x:p.x+5,y:p.y+5}))); - f.apply(f.map,f.b,cut); - const actual=[]; - for(const node of f.map.blocks){ - const b=node.getComponent('Block'); - assert.equal(b.color,2); - assert.equal(b.rocketOrigin,original); - for(const p of b.allBlocks){ - const x=b.posX+p.x,y=b.posY+p.y;actual.push({x,y}); - assert.equal(f.map.mapBlocksWall[x][y].components.MapBlock.block_Id,node.uuid); - } - assert.deepEqual(positions(node.getComponent(engine.PolygonCollider).points),positions(geometry(b.block_Info.block).node.getComponent(engine.PolygonCollider).points)); - } - assert.deepEqual(positions(actual),expected); - assert.equal(f.map.mapBlocksWall[5+cut.cell.x][5+cut.cell.y].components.MapBlock.block_Id,''); - assert.equal(f.map.blocks.length,cut.fragments.length); - assert.equal(f.effects(),0); - } -}); - -test('1932 square can take three sequential edge hits and retains one ordinary cell',()=>{ - const f=rocketFixture(5),hit=new Set(); Object.assign(f.map,{buttonBlock:[],wallArray:[]}); - for(let left=3;left>0;left--){ - const choice=rocket.chooseRocketTarget(rocket.rocketCandidates(f.map),hit,left,()=>0.8); - assert.ok(choice);assert.equal(choice.cut.fragments.length,1); - f.apply(f.map,choice.target.block,choice.cut);hit.add(choice.target.origin); - } - assert.equal(f.map.blocks.length,1);assert.equal(f.b.allBlocks.length,1);assert.equal(f.effects(),0); -}); - -test('question and stationary floor shells follow all four remnants and preserve current counters',()=>{ - const f=rocketFixture(18,16); - Object.assign(f.b.block_Info,{floor:3,floorTime:99,questionTime:99}); - f.b.node.addChild(cover('question',4)); - for(const p of f.b.allBlocks){const floor=cover('floor',7);floor.setPosition(-65+p.x*120,60+p.y*120);f.b.node.addChild(floor);} - f.apply(f.map,f.b,rocket.ROCKET_CUTS[18].find(c=>c.fragments.length===4)); - assert.equal(f.map.blocks.length,4); - for(const node of f.map.blocks){ - const b=node.getComponent('Block'),q=node.getChildByName('question'); - assert.equal(q.getComponent('Question').time,4); - const floors=node.children.filter(n=>n.getComponent('Floor')); - assert.equal(floors.length,1);assert.equal(floors[0].getComponent('Floor').time,7); - assert.equal(floors[0].getComponent('Floor').posX,b.posX); - assert.equal(floors[0].getComponent('Floor').posY,b.posY); - } - assert.equal(f.effects(),0); -}); - -test('a stack keeps both layers aligned after the same edge cell is removed',()=>{ - const f=rocketFixture(5,1),upper=geometry(5);upper.type=10;upper.block_Info.type=10; - upper.block_Info.node=f.b.node;f.b.block_Info.node=upper.node;f.map.node.addChild(upper.node);f.map.blocks.push(upper.node); - const cut=rocket.ROCKET_CUTS[5][0];f.apply(f.map,f.b,cut); - assert.equal(f.b.allBlocks.length,3);assert.equal(upper.allBlocks.length,3); - assert.equal(upper.block_Info.node,f.b.node);assert.equal(f.b.block_Info.node,upper.node); - assert.equal(upper.block_Info.block,f.b.block_Info.block);assert.equal(upper.posX,f.b.posX);assert.equal(upper.posY,f.b.posY); - assert.equal(f.effects(),0); -}); - -test('simultaneous shot planning leaves the board untouched and all planned cuts remain legal after earlier impacts',()=>{ - for(let shape=0;shape<23;shape++)for(const value of [0,0.37,0.99]){ - const f=rocketFixture(shape);const before=positions(f.b.allBlocks); - const shots=rocket.planRocketShots(f.map,3,()=>value); - assert.deepEqual(positions(f.b.allBlocks),before);assert.equal(f.map.blocks.length,1); - assert.equal(new Set(shots.map(s=>s.x+','+s.y)).size,shots.length); - const hit=new Set(); - for(let i=0;in.uuid===id).getComponent('Block'); - const pool=rocket.rocketCandidates(f.map),candidate=pool.find(c=>c.block===target); - assert.ok(candidate);assert.equal(candidate.priority,Math.min(...pool.map(c=>c.priority))); - assert.equal(shot.origin,candidate.origin); - if(pool.some(c=>c.priority===candidate.priority&&!hit.has(c.origin)))assert.equal(hit.has(candidate.origin),false); - assert.ok(candidate.cuts.some(c=>JSON.stringify(c)===JSON.stringify(shot.cut))); - hit.add(candidate.origin);f.apply(f.map,target,shot.cut); - } - assert.equal(f.map.blocks.reduce((sum,n)=>sum+n.getComponent('Block').allBlocks.length,0),before.length-shots.length); - assert.equal(f.effects(),0); - } - // 强制先拆开 L 形,再命中其两格残块,最后转入单格池。 - const f=rocketFixture(6),others=[block(0),block(0)]; - others.forEach((b,i)=>{b.posX=1;b.posY=1+i;f.map.mapBlocksWall[1][1+i].components.MapBlock.block_Id=b.node.uuid;}); - f.map.blocks.push(...others.map(b=>b.node)); - const center=rocket.ROCKET_CUTS[6].findIndex(c=>c.fragments.length===2); - const randoms=[0,(center+0.1)/4,0,0,0,0]; - const shots=rocket.planRocketShots(f.map,3,()=>randoms.shift()); - assert.equal(shots[0].cut.fragments.length,2); - assert.equal(shots.length,3); - for(const shot of shots){ - const id=f.map.mapBlocksWall[shot.x][shot.y].components.MapBlock.block_Id; - const target=f.map.blocks.find(n=>n.uuid===id).getComponent('Block'); - assert.ok(rocket.rocketCandidates(f.map).find(c=>c.block===target).cuts.some(c=>JSON.stringify(c)===JSON.stringify(shot.cut))); - f.apply(f.map,target,shot.cut); - } - assert.equal(f.map.blocks.reduce((sum,n)=>sum+n.getComponent('Block').allBlocks.length,0),3); -}); - -function openingFixture(f=rocketFixture(5),random=()=>0.8,loadout={streak:3,hourglass:true,rocket:true}) { - engine.Node.prototype.setScale=function(x,y=x){this.scaleX=x;this.scaleY=y;}; - Object.defineProperty(engine.Node.prototype,'childrenCount',{get(){return this.children.length;},configurable:true}); - // zhandan.json 的真实 eff 长 1.4 秒,避免短 Mock 漏掉爆炸被提前截断的问题。 - class Label{};class LabelOutline{};class Skeleton{constructor(){this.track={animation:{duration:1.4},trackTime:0};this.setAnimation=()=>this.track;}} - class OpeningNode extends engine.Node { - convertToNodeSpaceAR(p){return engine.v2(p.x-this.x,p.y-this.y);} - } - const canvas=new engine.Node('Canvas'),events=[],displayed=[],impacts=[],usedCarried=[]; - Object.assign(f.map,{wallArray:[],buttonBlock:[],timeLabel:new engine.Node('time'),timeNumber:120, - addTime:method('assets/Script/Map.ts','addTime',{NumberToImage:{getTimeMargi3:n=>displayed.push(n)}}),Block_Prop:[]}); - const addTime=f.map.addTime; - f.map.addTime=function(n,refresh){events.push('time');addTime.call(this,n,refresh);}; - const top=new engine.Node('Top'),clock=new engine.Node('time_icon'); - canvas.addChild(top);top.addChild(f.map.timeLabel);top.addChild(clock);clock.setPosition(-120,620); - clock.convertToWorldSpaceAR=()=>engine.v2(-120,620); - f.map.timeLabel.setPosition(0,600); - for(const name of ['hourglass','rocket','rocketBox'])f.map[name+'Prefab']=new engine.Node(name); - f.map.hourglassPrefab.setContentSize(228,322); - f.map.rocketPrefab.setContentSize(212,361); - const boxFrames=[null,...[[336,329],[406,378],[483,436]].map(([width,height])=>({getRect:()=>({width,height})}))]; - f.map.rocketBoxPrefab.setContentSize(483,436); - f.map.rocketBoxPrefab.addComponent(engine.Sprite).spriteFrame=boxFrames[3]; - f.map.SceneManager={getStartBoostBoxFrame:streak=>boxFrames[streak]}; - const bomb=new engine.Node('boom'),effect=new engine.Node('zhandan');effect.addComponent(Skeleton);bomb.addChild(effect);f.map.Block_Prop[6]=bomb; - for(const column of f.map.mapBlocksWall)for(const cell of column) - cell.convertToWorldSpaceAR=p=>engine.v2(cell.x+p.x,cell.y+p.y); - const listeners={}; - const cc={...engine,Node:OpeningNode,macro:{...engine.macro,ONE:1},Label,LabelOutline,winSize:{width:750,height:1334},find:()=>canvas,instantiate(source){ - const node=cloneNode(source); - node.convertToWorldSpaceAR=p=>engine.v2(node.x+p.x*node.scaleX+(node.parent?.x||0), - node.y+p.y*node.scaleY+(node.parent?.y||0)); - return node; - }, - game:{EVENT_HIDE:'hide',EVENT_SHOW:'show',on:(event,fn)=>listeners[event]=fn,off:event=>delete listeners[event]}}; - const module={exports:{}}; - const ts=require('typescript'); - vm.runInNewContext(ts.transpileModule(fs.readFileSync(path.join(__dirname,'../assets/Script/StartBoostOpening.ts'),'utf8'), - {compilerOptions:{target:ts.ScriptTarget.ES2017,module:ts.ModuleKind.CommonJS}}).outputText, - {module,exports:module.exports,cc,sp:{Skeleton},require:name=>name==='./RocketRules'?{...rocket, - planRocketShots:(map,count)=>rocket.planRocketShots(map,count,random)}: - name==='./StartBoostLoadout'?loadoutRules: - name==='./NumberToImage'?{default:{getTimeMargi3:n=>displayed.push(n)}}: - {applyRocketCut(map,target,cut){ - const candidate=rocket.rocketCandidates(map).find(c=>c.block===target); - assert.ok(candidate&&candidate.cuts.some(c=>JSON.stringify(c)===JSON.stringify(cut)), - 'each impact must still be a legal cut of the current target'); - impacts.push({x:target.posX+cut.cell.x,y:target.posY+cut.cell.y,origin:candidate.origin}); - events.push('rocket');f.apply(map,target,cut); - }},Set,Math,Uint8Array}); - const opening=new module.exports.default(f.map,loadout,prop=>usedCarried.push(prop)); - return {f,opening,events,displayed,impacts,usedCarried,boxFrames,listeners,clock,Label,addTime,Opening:module.exports.default}; -} - -test('all seven props launch together with distinct trails, grant exactly 40 seconds and three cuts only on impact',()=>{ - const {f,opening,events,displayed,listeners,clock,Label,addTime,Opening}=openingFixture(); - const assertMatchingSize=()=>{ - const hourglass=opening.items[0]; - for(const rocket of opening.items.slice(opening.hourglassCount)){ - if(!rocket.active&&opening.launched)continue; - const referenceScale=opening.launched?hourglass.scaleY/0.7:hourglass.scaleY; - assert.ok(Math.abs(rocket.height*rocket.scaleY-hourglass.height*referenceScale)<1e-6); - assert.equal(rocket.scaleX,rocket.scaleY); - } - }; - assertMatchingSize(); - assert.equal(opening.update(30,true),false);assert.equal(events.length,0); - listeners.hide();assert.equal(opening.update(30,false),false);assert.equal(events.length,0);listeners.show(); - const boxScale=opening.box.scaleX,boxY=opening.box.y; - opening.update(0.25,false); - assert.equal(opening.box.x,0);assert.equal(opening.box.y,boxY);assert.notEqual(opening.box.scaleX,boxScale); - assert.ok(opening.carriedEntries.every(e=>e.node.active&&!e.arrived));assert.equal(events.length,0); - opening.update(0.3,false); - assert.equal(opening.carriedEntries.length,2); - assert.ok(opening.carriedEntries.every(e=>e.node.active&&e.trail&&!e.arrived)); - assert.ok(opening.carriedEntries[0].from.xe.from.y[e.node.x,e.node.y]); - listeners.hide();opening.update(30,false);listeners.show(); - assert.deepEqual(opening.carriedEntries.map(e=>[e.node.x,e.node.y]),entryPositions); - opening.update(0.1,false); - assert.ok(opening.carriedEntries.every(e=>e.arrived));assert.equal(opening.flights.length,0); - assert.equal(opening.box.scaleX,boxScale);assert.equal(opening.box.opacity,255); - const settledPositions=opening.carriedEntries.map(e=>[e.node.x,e.node.y]); - assert.equal(events.length,0);assert.equal(f.b.allBlocks.length,4); - opening.update(0.2,false); - assert.deepEqual(opening.carriedEntries.map(e=>[e.node.x,e.node.y]),settledPositions); - assert.ok(opening.box.active&&opening.launchCloud.active&&opening.launchCloud.opacity>0); - assert.equal(opening.flights.length,0);assert.equal(events.length,0); - opening.update(0.1,false); - assert.equal(opening.box.active,false);assert.ok(opening.launchCloud.active); - assert.equal(opening.box.x,0);assert.equal(opening.box.y,boxY); - assert.equal(opening.flights.length,7);assert.ok(opening.flights.every(f=>f.node.active&&!f.landed)); - assert.ok(opening.items.slice(0,opening.hourglassCount).every(n=>Math.abs(n.scaleY-0.65*0.7)<1e-6&&n.scaleX===n.scaleY)); - assert.ok(opening.launchCloud.children.every(n=>n.scaleX===n.scaleY),'smoke groups stay circular'); - assert.equal(events.length,0);assert.equal(f.b.allBlocks.length,4); - assert.equal(opening.flights.filter(f=>f.trail.node.name==='rocketSmoke').length,3); - assert.equal(opening.flights.filter(f=>f.trail.node.name==='hourglassGlow').length,4); - const clockTarget=opening.root.convertToNodeSpaceAR(clock.convertToWorldSpaceAR(engine.v2(0,0))); - for(const flight of opening.flights.slice(0,4))assert.deepEqual([flight.to.x,flight.to.y],[clockTarget.x,clockTarget.y]); - for(const flight of opening.flights.slice(0,4))assert.equal(flight.timeText.getComponent(Label).string,'+10'); - for(const flight of opening.flights){ - if(flight.shot){assert.ok(flight.trail.startSize>=36);assert.ok(flight.trail.endSize>=60);} - else { - assert.ok(flight.trail.startSize<36&&flight.trail.endSize!f.shot); - const bends=hourglasses.map(f=>f.control.x-(f.from.x+f.to.x)/2); - assert.ok(bends[0]<0&&bends[1]>0&&bends[2]<0&&bends[3]>0); - assert.equal(new Set(bends).size,4); - // Measure actual movement rather than trusting the precomputed length table. - const travelled=opening.flights.map(()=>0),arrivalTimes=opening.flights.map(()=>null),speeds=[]; - const rising=new Set(),falling=new Set(); - const step=1/240; - let done=false,checkedPause=false,sawStaggeredArrival=false,sawEffectsPending=false,sawDigitsPending=false; - for(let frame=1;frame<1200&&!done;frame++){ - const previous=opening.flights.map(f=>({x:f.node.x,y:f.node.y,landed:f.landed})); - const beforeTime=f.map.timeNumber; - done=opening.update(step,false); - assertMatchingSize(); - let newlyLanded=0; - opening.flights.forEach((flight,i)=>{ - if(previous[i].landed)return; - const distance=Math.hypot(flight.node.x-previous[i].x,flight.node.y-previous[i].y); - travelled[i]+=distance; - if(flight.shot&&flight.node.y>previous[i].y)rising.add(i); - if(flight.shot&&flight.node.y=1.4-track.trackTime,'the remaining real explosion must finish'); - } - assert.ok(flight.impactSeconds>=flight.trail.life+flight.trail.lifeVar,'the existing trail must finish'); - }else if(!flight.shot)speeds.push(distance/step); - }); - assert.equal(f.map.timeNumber,beforeTime+10*newlyLanded); - const landed=hourglasses.filter(f=>f.landed).length; - assert.equal(f.map.timeNumber,120+landed*10); - if(landed>0&&landed!f.landed); - const effectsPending=opening.flights.some(f=>f.landed&&f.impactElapsed=0.65)assert.equal(opening.launchCloud.active,false,'layered launch smoke finishes before opening completion'); - if(newlyLanded&&!checkedPause){ - const state=JSON.stringify([opening.elapsed,f.map.timeNumber,displayed, - opening.flights.map(f=>[f.node.x,f.node.y,f.landed,f.impactElapsed])]); - listeners.hide();assert.equal(opening.update(30,false),false);listeners.show(); - assert.equal(opening.update(30,true),false); - assert.equal(JSON.stringify([opening.elapsed,f.map.timeNumber,displayed, - opening.flights.map(f=>[f.node.x,f.node.y,f.landed,f.impactElapsed])]),state); - checkedPause=true; - } - } - assert.equal(done,true);assert.equal(checkedPause,true); - assert.ok(sawStaggeredArrival&&sawEffectsPending&&sawDigitsPending); - assert.equal(new Set(arrivalTimes.slice(0,hourglasses.length)).size,hourglasses.length); - assert.ok(Math.max(...speeds)/Math.min(...speeds)<1.02,'hourglasses keep the same speed along every curve'); - const averageSpeeds=travelled.map((distance,i)=>distance/arrivalTimes[i]); - for(const [first,last,expected] of [[0,hourglasses.length,1320],[hourglasses.length,opening.flights.length,950]]){ - const group=averageSpeeds.slice(first,last); - assert.ok(Math.max(...group)/Math.min(...group)<1.02,'each prop type keeps one travel speed'); - assert.ok(group.every(speed=>Math.abs(speed/expected-1)<0.02),'rocket timing must not change hourglass speed'); - } - assert.equal(rising.size,3);assert.equal(falling.size,3); - assert.equal(events.filter(event=>event==='time').length,4); - assert.equal(events.filter(event=>event==='rocket').length,3); - assert.equal(opening.launchCloud.active,false); - assert.equal(f.map.timeNumber,160);assert.equal(f.b.allBlocks.length,1); - assert.deepEqual(displayed,Array.from({length:40},(_,i)=>121+i)); - // 普通道具调用仍立即更新数字;只有开场演出显式延迟显示。 - addTime.call(f.map,10);assert.equal(displayed[displayed.length-1],170); - opening.dispose();assert.equal(Object.keys(listeners).length,0); - assert.equal(opening.update(10,false),true);assert.equal(events.length,7); - for(const carried of [{hourglass:true,rocket:false},{hourglass:false,rocket:true},{hourglass:false,rocket:false}]){ - const next=rocketFixture(5); - Object.assign(next.map,{timeLabel:f.map.timeLabel,Block_Prop:f.map.Block_Prop, - hourglassPrefab:f.map.hourglassPrefab,rocketPrefab:f.map.rocketPrefab,rocketBoxPrefab:f.map.rocketBoxPrefab, - SceneManager:f.map.SceneManager}); - const entry=new Opening(next.map,{streak:3,...carried},()=>{}); - entry.update(0.65,false); - assert.equal(entry.carriedEntries.length,Number(carried.hourglass)+Number(carried.rocket)); - assert.equal(entry.carriedEntries.some(e=>!e.rocket),carried.hourglass); - assert.equal(entry.carriedEntries.some(e=>e.rocket),carried.rocket); - entry.update(0.3,false); - assert.equal(entry.flights.filter(f=>!f.shot).length,3+Number(carried.hourglass)); - assert.equal(entry.flights.filter(f=>f.shot).length,2+Number(carried.rocket)); - entry.dispose();assert.equal(Object.keys(listeners).length,0); - } -}); - -test('real streak tiers and carried selections determine counts, box frame and actual-use callbacks',()=>{ - const rewards=[[0,0],[2,0],[2,1],[3,2]]; - for(let streak=0;streak<=3;streak++)for(const hourglass of [false,true])for(const rocket of [false,true]){ - const loadout={streak,hourglass,rocket}; - const {f,opening,usedCarried,boxFrames}=openingFixture(rocketFixture(5),()=>0.8,loadout); - const [freeHourglass,freeRocket]=rewards[streak]; - assert.equal(opening.hourglassCount,freeHourglass+Number(hourglass)); - assert.equal(opening.rocketCount,freeRocket+Number(rocket)); - assert.equal(opening.box.active,streak>0); - assert.equal(opening.carriedEntries.length,Number(hourglass)+Number(rocket)); - if(streak>0){ - assert.equal(opening.box.getComponent(engine.Sprite).spriteFrame,boxFrames[streak]); - const rect=boxFrames[streak].getRect(); - assert.equal(opening.box.height,436,'box height remains stable'); - assert.ok(Math.abs(opening.box.width/opening.box.height-rect.width/rect.height)<1e-8,'box aspect ratio is preserved'); - } - for(const entry of opening.carriedEntries){ - const expectedIndex=entry.rocket?opening.hourglassCount+freeRocket:freeHourglass; - assert.equal(entry.node,opening.items[expectedIndex]); - } - for(const node of opening.items.slice(opening.hourglassCount)){ - assert.ok(Math.abs(node.height*node.scaleY-322*0.65)<1e-6,'rocket-only loadouts keep the same initial size'); - assert.equal(node.scaleX,node.scaleY); - } - opening.update(0.85,false); - assert.deepEqual(usedCarried,[],'selection and entry do not consume inventory'); - assert.equal(opening.launchCloud.children.length,Number(streak>0)+Number(hourglass)+Number(rocket)); - opening.update(0.11,false); - assert.equal(opening.flights.filter(f=>!f.shot).length,freeHourglass+Number(hourglass)); - assert.equal(opening.flights.filter(f=>f.shot).length,freeRocket+Number(rocket)); - assert.deepEqual(usedCarried,[...(hourglass?['hourglass']:[]),...(rocket?['rocket']:[])]); - let done=false; - for(let frame=0;frame<1200&&!done;frame++)done=opening.update(1/120,false); - assert.equal(done,true,JSON.stringify(loadout)); - assert.equal(f.map.timeNumber,120+10*(freeHourglass+Number(hourglass))); - assert.deepEqual(usedCarried,[...(hourglass?['hourglass']:[]),...(rocket?['rocket']:[])],'each carried item is reported only once'); - opening.dispose(); - } -}); - -test('empty rocket pools finish without consuming carried rockets, including rocket-only openings',()=>{ - for(const loadout of [{streak:0,hourglass:false,rocket:true},{streak:1,hourglass:true,rocket:true},{streak:3,hourglass:false,rocket:true}]){ - const {f,opening,usedCarried,events}=openingFixture(rocketFixture(0,2),()=>0,loadout); - opening.update(1.21,false); - assert.equal(opening.flights.some(f=>f.shot),false); - assert.deepEqual(usedCarried,loadout.hourglass?['hourglass']:[]); - if(!opening.hourglassCount)assert.equal(opening.update(0.26,false),false,'finish waits for the existing entry trail to fade'); - let done=false; - for(let frame=0;frame<1200&&!done;frame++)done=opening.update(1/120,false); - assert.equal(done,true); - assert.equal(events.includes('rocket'),false); - assert.equal(f.map.blocks.length,1); - assert.equal(opening.launchCloud.active,false); - opening.dispose(); - } -}); - -test('longer arcs preserve repeated square and protected-edge impacts even when all shots land in one update',()=>{ - for(const [shape,type,count] of [[5,0,3],[3,2,2]])for(const step of [1/240,0.25,10]){ - const f=rocketFixture(shape,type),shots=rocket.planRocketShots(f.map,3,()=>0); - const {opening,impacts,usedCarried}=openingFixture(f,()=>0); - assert.equal(shots.length,count); - // The later targets are much closer, so their original arcs would overtake the first shot. - shots.forEach((shot,i)=>f.map.mapBlocksWall[shot.x][shot.y].convertToWorldSpaceAR= - ()=>engine.v2(500,i===0?-1000:600)); - opening.update(1.21,false); - const flights=opening.flights.filter(f=>f.shot); - assert.equal(usedCarried.includes('rocket'),count>2,'free rockets are used before consuming a carried rocket'); - assert.ok(flights.every(f=>!f.landed&&f.node.active)); - assert.equal(new Set(flights.map(f=>f.shot.origin)).size,1); - for(let i=1;i=previous+95-1e-6,'same-origin arrivals retain at least 0.1 seconds separation'); - assert.ok(flights[i].control.y>Math.max(flights[i].from.y,flights[i].to.y)+480, - 'only the otherwise-too-short later arc is extended'); - } - let done=false; - for(let frame=0;frame<3000&&!done;frame++){ - done=opening.update(step,false); - if(opening.flights.some(f=>!f.landed||f.impactElapsed[s.x,s.y,s.origin]),Array.from(shots,s=>[s.x,s.y,s.origin])); - assert.equal(f.map.blocks.length,1);assert.equal(f.b.allBlocks.length,1); - assert.equal(f.effects(),0);opening.dispose(); - } -}); - -test('different original blocks may land out of planning order and finish only after the last explosion',()=>{ - const f=rocketFixture(5); - for(const [x,y] of [[2,10],[10,10]]){ - const b=geometry(5);b.posX=x;b.posY=y;b.node.setPosition(x*120+65,y*120-60); - b.setMapBlock=f.b.setMapBlock;b.setMapBlock();f.map.node.addChild(b.node);f.map.blocks.push(b.node); - } - const shots=rocket.planRocketShots(f.map,3,()=>0),{opening,impacts}=openingFixture(f,()=>0); - assert.equal(new Set(shots.map(s=>s.origin)).size,3); - shots.forEach((shot,i)=>f.map.mapBlocksWall[shot.x][shot.y].convertToWorldSpaceAR= - ()=>engine.v2(500,[-1000,650,200][i])); - opening.update(1.21,false); - const flights=opening.flights.filter(f=>f.shot); - assert.ok(flights[1].distances.at(-1)f.impactElapsedsum+n.getComponent('Block').allBlocks.length,0),9); - assert.equal(f.effects(),0);opening.dispose(); -}); - -test('B opening casts before first touch without starting countdown, then preserves normal recharge behavior',()=>{ - const f=controllerFixture([block(5)]);f.map.gameStart=false;f.map.scheduleCallback=null; - f.controller.startOpening();assert.equal(f.controller.casting,true); - assert.equal(f.controller.updateOpening(1),true); - assert.equal(f.applied.length,1);assert.equal(f.map.gameStart,false);assert.equal(f.controller.energy.value,0); - f.controller.update(10);assert.equal(f.applied.length,1);assert.equal(f.controller.energy.value,0); - f.map.gameStart=true;f.map.scheduleCallback=()=>{}; - f.controller.update(1);assert.equal(f.controller.energy.value,1); -}); - -test('first touch/countdown is rejected while the booster opening is pending',()=>{ - const start=method('assets/Script/Map.ts','startUpdate'); - const map={startBoostPreparing:true,gameStart:false}; - start.call(map);assert.equal(map.gameStart,false); - const countdown=method('assets/Script/Map.ts','startTimeCutDown'); - countdown.call(map);assert.equal(map.scheduleCallback,undefined); - const touch=method('assets/Script/Block.ts','touchStart',{MapConroler:{default:{_instance:map},_instance:map}}); - touch.call({},{});assert.equal(map.gameStart,false); -}); - -test('all shipped levels retain legal targets for three sequential shots under the final priority/protection rules',()=>{ - const folder=path.join(__dirname,'../assets/custom/Json'); - const files=fs.readdirSync(folder).filter(name=>/^level\d+\.json$/.test(name)); - const sort=method('assets/Script/Map.ts','sortBlock'); - for(const file of files){ - const data=JSON.parse(fs.readFileSync(path.join(folder,file),'utf8').replace(/^\uFEFF/,'')); - for(const randomValue of [0,0.37,0.99]){ - const originals=data.BLOCK_INFO[0].map(info=>({...info})); - const sorted=sort.call({floorMove:originals.some(b=>b.floorMove===true)},originals); - const blocks=sorted.map(info=>{ - const b=block(info.block,info.type,info);b.color=info.color; - if(info.type!==16&&info.colorArray!=null)b.color=Number(String(info.colorArray)[0])+1; - b.flowerType=info.flowerSend?1:info.flowerReceive?2:0; - return b; - }); - for(let i=0;iinfo.unLockFall&&info.color>0&&!('vine'in info)) - .map(info=>({getComponent:()=>({color:info.color})})); - map.wallArray=data.WALL_INFO[0].map(info=>({getChildByName:()=>({getComponent:()=>({ - special:info.special,color:info.stickLength?30:info.color, - colorStartArray:info.colorArray!=null?String(info.colorArray).split('').map(c=>Number(c)+1):[] - })})})); - const hit=new Set(); - for(let left=3;left>0;left--){ - const choice=rocket.chooseRocketTarget(rocket.rocketCandidates(map),hit,left,()=>randomValue); - assert.ok(choice,file+' shot '+(4-left)); - const b=choice.target.block;hit.add(choice.target.origin); - map.blocks=map.blocks.filter(n=>n!==b.node); - for(const fragment of choice.cut.fragments){ - const child=block(fragment.shape,b.type,{...b.block_Info,block:fragment.shape}); - child.color=b.color;child.flowerType=b.flowerType;child.rocketOrigin=choice.target.origin; - map.blocks.push(child.node); - } - } - } - } - console.log('Rocket scan: '+files.length+' level files, 3 paths per level, 3 shots per path.'); -}); diff --git a/tools/test-three-win-streak.cjs b/tools/test-three-win-streak.cjs deleted file mode 100644 index e9a24c89..00000000 --- a/tools/test-three-win-streak.cjs +++ /dev/null @@ -1,283 +0,0 @@ -const test = require('node:test'); -const assert = require('node:assert/strict'); -const fs = require('node:fs'); -const path = require('node:path'); -const vm = require('node:vm'); -const ts = require(process.env.TYPESCRIPT_PATH || 'typescript'); - -const read = file => fs.readFileSync(path.join(__dirname, '..', file), 'utf8'); -const compile = text => ts.transpileModule(text, { - compilerOptions: { module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2017 }, -}).outputText; - -function fixture(cache = {}, acknowledge = true) { - const storage = { ...cache }, saves = []; - const cc = { fx: { - GameConfig: { GM_INFO: { threeWinStreak: 0, winStreak: 10, uid: 'test-user' } }, - StorageMessage: { getStorage: key => storage[key], setStorage: (key, value) => storage[key] = value }, - } }; - const utils = { setWinStreak(callback, fields) { - saves.push({ fields, callback }); - if (acknowledge) callback({ code: 1 }); - } }; - const output = { exports: {} }; - vm.runInNewContext(compile(read('assets/Script/ThreeWinStreak.ts')), { - exports: output.exports, module: output, cc, - require: name => { assert.equal(name, './module/Pay/Utils'); return { default: utils }; }, - }); - return { Streak: output.exports.default, info: cc.fx.GameConfig.GM_INFO, storage, saves, cc }; -} - -function methods(file, names, globals) { - const source = ts.createSourceFile(file, read(file), ts.ScriptTarget.Latest, true); - const type = source.statements.find(ts.isClassDeclaration); - const members = names.map(name => type.members.find(node => node.name && node.name.getText(source) === name).getText(source)); - return vm.runInNewContext(compile('class Subject {' + members.join('\n') + '}\nSubject;'), { ...globals }).prototype; -} - -function gameFixture(count) { - const f = fixture(); - f.Streak.restore({ threeWinStreak: count }); - Object.assign(f.info, { level: 50, hp: 1, otherLevel: 0, GameplayType: 0 }); - Object.assign(f.cc.fx.GameConfig, { isWinStreakUnlocked: () => true, LEVEL_INFO_init() {} }); - f.cc.fx.AudioManager = { _instance: { playEffect() {} } }; - f.cc.fx.GameTool = { getUserPowerTime: () => false, setUserHealth() {}, maxLevel: () => false, - shushu_Track() {}, setWinStreak() {}, getAuthorizationAvatar: () => true }; - f.cc.director = { preloadScene() {}, loadScene() {} }; - f.cc.find = () => null; - const transition = { active: false, getComponent: () => ({ setAnimation() {} }) }; - const map = { gameStart: false, gameWin: false, gameOver: false, againCanTouch: true, - threeWinStreak: new f.Streak(true), isMapRuntimeAlive: () => true, - settleCloudRiseLoss: async () => true, startBoostLoadout: { streak: count }, startBoostKey: '50:0:0', - onBlockClick() {}, iceTrue: () => false, startTimeCutDown() {}, stopTimeCutDown() {}, trackFinishi() {}, - node: { parent: { parent: { parent: { getChildByName: () => transition } } } } }; - const MapConroler = { _instance: map, startBoostReplay: null }; - const globals = { cc: f.cc, MapConroler, console: { log() {} }, sp: { Skeleton: class {} }, - CloudRiseView: { continueFromNextLevel: async () => true }, - DailyTaskProgressTracker: { invalidateAttempt() {}, resetWinStreak() {} }, setTimeout: callback => callback() }; - const mapMethods = methods('assets/Script/Map.ts', ['startUpdate', 'returnHome', 'againLevel'], globals); - map.startUpdate = mapMethods.startUpdate; - for (const name of ['returnHome', 'againLevel']) { - map[name] = (...args) => f.exit = mapMethods[name].apply(map, args); - } - const ui = Object.create(methods('assets/Script/setUi.ts', ['clickExit', 'returnHome', 'clickRestart', 'cancelExit'], globals)); - ui.showGiveUpConfirmation = () => true; - ui.win = { active: true }; ui.win2 = { active: true }; - return { ...f, map, ui, controller: MapConroler, exited: () => f.exit }; -} - -test('pause give-up clears all three tiers, through confirmation and the direct exit path', async () => { - for (const count of [1, 2, 3]) { - for (const confirm of [true, false]) { - const f = gameFixture(count); - f.map.startUpdate(); - assert.equal(f.storage.threeWinStreakPending, true); - f.ui.showGiveUpConfirmation = () => confirm; - f.ui.clickExit(); - if (confirm) { - assert.equal(f.info.threeWinStreak, count, 'opening the prompt must not settle the round'); - f.ui.returnHome(); // This callback invokes Map.returnHome without customEventData. - } - await f.exited(); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.storage.threeWinStreakPending, false); - assert.deepEqual(f.saves.map(save => save.fields.threeWinStreak), [0]); - } - } -}); - -test('actual pause restart clears played rounds at every tier and preserves untouched rounds', async () => { - for (const count of [1, 2, 3]) { - for (const played of [true, false]) { - const f = gameFixture(count); - if (played) f.map.startUpdate(); - f.ui.clickRestart(null, 'hp'); - await f.exited(); - assert.equal(f.info.threeWinStreak, played ? 0 : count); - assert.equal(f.saves.length, played ? 1 : 0); - assert.equal(!!f.controller.startBoostReplay, !played); - } - } -}); - -test('cancel, untouched exit and victory exit preserve the streak', async () => { - const cancelled = gameFixture(2); - cancelled.map.startUpdate(); - cancelled.ui.clickExit(); - cancelled.ui.cancelExit(); - assert.equal(cancelled.info.threeWinStreak, 2); - assert.equal(cancelled.storage.threeWinStreakPending, true); - assert.equal(cancelled.exited(), undefined); - for (const won of [false, true]) { - const f = gameFixture(2); - if (won) { - f.map.startUpdate(); - f.map.threeWinStreak.win(); - f.map.gameWin = true; - } - await f.map.returnHome(); - assert.equal(f.info.threeWinStreak, won ? 3 : 2); - assert.equal(f.saves.length, won ? 1 : 0); - } -}); - -test('force quit after an actual first operation clears every tier on relaunch despite stale server data', () => { - for (const count of [1, 2, 3]) { - const f = gameFixture(count); - f.map.startUpdate(); - const reloaded = fixture(f.storage); - reloaded.Streak.restore(); - reloaded.Streak.restore({ threeWinStreak: count }); - assert.equal(reloaded.info.threeWinStreak, 0); - assert.equal(reloaded.storage.threeWinStreakPending, false); - assert.deepEqual(reloaded.saves.map(save => save.fields.threeWinStreak), [0]); - } -}); - -test('existing accounts without the new field start at zero, independent of ten wins', () => { - const f = fixture({ threeWinStreak: 2 }); - f.Streak.restore(); - assert.equal(f.info.threeWinStreak, 2); - f.Streak.restore({}); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.info.winStreak, 10); - assert.equal(f.saves.length, 0); -}); - -test('test mode holds three wins through login, losses, wins and relaunch without persisting the override', () => { - const cache = { threeWinStreak: 1, threeWinStreakPending: false, threeWinStreakUnsynced: null }; - const f = fixture(cache); - f.cc.fx.GameConfig.forceThreeWinStreak = true; - f.Streak.restore(); - assert.equal(f.info.threeWinStreak, 3); - f.Streak.restore({ threeWinStreak: 0 }, true); - assert.equal(f.info.threeWinStreak, 3); - new f.Streak(true).fail(); - for (const result of ['fail', 'win', 'fail']) { - const round = new f.Streak(true); - round.begin(); - round[result](); - assert.equal(f.info.threeWinStreak, 3); - assert.deepEqual(f.storage, cache); - } - assert.equal(f.info.winStreak, 10); - assert.equal(f.saves.length, 0); - const reloaded = fixture(f.storage); - reloaded.cc.fx.GameConfig.forceThreeWinStreak = true; - reloaded.Streak.restore(); - reloaded.Streak.restore({ threeWinStreak: 0 }); - assert.equal(reloaded.info.threeWinStreak, 3); - - f.cc.fx.GameConfig.forceThreeWinStreak = false; - f.Streak.restore(); - assert.equal(f.info.threeWinStreak, 1); - const round = new f.Streak(true); - round.begin(); - round.fail(); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.saves.length, 1); -}); - -test('success grows through three tiers and stays capped; each round settles only once', () => { - const f = fixture(); - for (const expected of [1, 2, 3, 3, 3]) { - const round = new f.Streak(true); - round.begin(); - round.begin(); - round.win(); - round.win(); - round.fail(); - assert.equal(f.info.threeWinStreak, expected); - assert.equal(f.storage.threeWinStreakPending, false); - } - assert.equal(f.saves.length, 5); - assert.ok(f.saves.every(save => !('winStreak' in save.fields))); -}); - -test('giving up at one, two, or three wins clears the streak, but untouched restart does not', () => { - for (const count of [1, 2, 3]) { - const f = fixture(); - f.Streak.restore({ threeWinStreak: count }); - const round = new f.Streak(true); - round.fail(); - assert.equal(f.info.threeWinStreak, count); - assert.equal(f.saves.length, 0); - round.begin(); - round.fail(); - round.fail(); - round.win(); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.saves.length, 1); - } -}); - -test('a pre-unlock round remains ineligible; opening boosters can finish an eligible round before a touch', () => { - const f = fixture(); - const beforeUnlock = new f.Streak(false); - beforeUnlock.begin(); - beforeUnlock.win(); - beforeUnlock.fail(); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.saves.length, 0); - new f.Streak(true).win(); - assert.equal(f.info.threeWinStreak, 1); -}); - -test('revival leaves the same started round pending until it wins', () => { - const f = fixture(); - f.Streak.restore({ threeWinStreak: 1 }); - const round = new f.Streak(true); - round.begin(); - // A failure popup / revival does not finalize the round. - round.begin(); - assert.equal(f.info.threeWinStreak, 1); - assert.equal(f.storage.threeWinStreakPending, true); - round.win(); - assert.equal(f.info.threeWinStreak, 2); - assert.equal(f.storage.threeWinStreakPending, false); -}); - -test('an abandoned started round clears on relaunch and cannot be restored by a stale server value', () => { - const f = fixture({ threeWinStreak: 2, threeWinStreakPending: true }, false); - f.Streak.restore(); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.storage.threeWinStreakUnsynced, 0); - f.Streak.restore({ threeWinStreak: 2 }); - assert.equal(f.info.threeWinStreak, 0); - assert.equal(f.saves[0].fields.threeWinStreak, 0); - const reloaded = fixture(f.storage); - reloaded.Streak.restore(); - reloaded.Streak.restore({ threeWinStreak: 2 }); - assert.equal(reloaded.info.threeWinStreak, 0); - assert.equal(reloaded.storage.threeWinStreakUnsynced, null); -}); - -test('an older save callback cannot clear a newer unsynced result; forced server refresh replaces local data', () => { - const f = fixture({}, false); - new f.Streak(true).win(); - const next = new f.Streak(true); - next.begin(); - next.fail(); - f.saves[0].callback({ code: 1 }); - assert.equal(f.storage.threeWinStreakUnsynced, 0); - f.Streak.restore({ threeWinStreak: 2 }, true); - assert.equal(f.info.threeWinStreak, 2); - assert.equal(f.storage.threeWinStreakUnsynced, null); - assert.equal(f.storage.threeWinStreakPending, false); -}); - -test('the shared save endpoint sends only the explicitly selected streak field', () => { - const f = fixture(); - const source = ts.createSourceFile('Utils.ts', read('assets/Script/module/Pay/Utils.ts'), ts.ScriptTarget.Latest, true); - const type = source.statements.find(node => ts.isClassDeclaration(node) && node.name.text === 'Utils'); - const member = type.members.find(node => node.name && node.name.getText(source) === 'setWinStreak'); - const Utils = vm.runInNewContext(compile('class Utils {' + member.getText(source) + '}\nUtils;'), { cc: f.cc, wx: {} }); - const payloads = []; - Utils.POST = (endpoint, payload) => { assert.equal(endpoint, 'setWinStreak'); payloads.push(payload); }; - Utils.setWinStreak(() => {}); - Utils.setWinStreak(() => {}, { threeWinStreak: 2 }); - assert.equal(payloads[0].winStreak, 10); - assert.equal('threeWinStreak' in payloads[0], false); - assert.equal(payloads[1].threeWinStreak, 2); - assert.equal('winStreak' in payloads[1], false); -}); diff --git a/tools/test-three-wins-flow.cjs b/tools/test-three-wins-flow.cjs deleted file mode 100644 index bb54e411..00000000 --- a/tools/test-three-wins-flow.cjs +++ /dev/null @@ -1,421 +0,0 @@ -const test = require('node:test'); -const assert = require('node:assert/strict'); -const fs = require('node:fs'); -const path = require('node:path'); -const vm = require('node:vm'); -const ts = require(process.env.TYPESCRIPT_PATH || 'typescript'); -const read = file => fs.readFileSync(path.join(__dirname, '..', file), 'utf8'); -const compile = text => ts.transpileModule(text, { compilerOptions: { - module: ts.ModuleKind.CommonJS, target: ts.ScriptTarget.ES2017, -} }).outputText; - -function method(file, name, globals = {}, objectName) { - const source = ts.createSourceFile(file, read(file), ts.ScriptTarget.Latest, true); - const type = objectName - ? source.statements.filter(ts.isVariableStatement).flatMap(node => Array.from(node.declarationList.declarations)) - .find(node => node.name.getText(source) === objectName).initializer - : source.statements.find(ts.isClassDeclaration); - const member = (type.members || type.properties).find(node => node.name && node.name.getText(source) === name); - assert.ok(member, name); - const Subject = vm.runInNewContext(compile('class Subject {' + member.getText(source) + '}\nSubject;'), { ...globals }); - return Subject.prototype[name] || Subject[name]; -} - -const output = { exports: {} }; -vm.runInNewContext(compile(read('assets/Script/StartBoostLoadout.ts')), { module: output, exports: output.exports, Date }); -const boosts = output.exports; - -test('remaining badges track each inventory, selection and live depletion without repainting unchanged values', () => { - const prefab = JSON.parse(read('assets/prefab/pop/threeWins.prefab')); - function build(index) { - const source = prefab[index]; - return { name: source._name, active: source._active, - children: (source._children || []).map(child => build(child.__id__)), - getChildByName(name) { return this.children.find(child => child.name === name); } }; - } - const panel = { node: build(1), data: null, selected: { hourglass: false, rocket: false }, playEntry() {}, - renderNumber(node, value) { node.value = value; node.renders = (node.renders || 0) + 1; }, - clearNumber(node) { node.value = null; }, addCountSymbol(node, text) { node.value = text; } }; - for (const name of ['renderProp', 'refreshInventory', 'setSelected']) { - panel[name] = method('assets/Script/ThreeWinsPanel.ts', name); - } - const inventory = { hourglassAmount: 3, rocketAmount: 0, infiniteHourglass: false, infiniteRocket: false }; - const manager = { threeWinsPanel: panel, threeWinsData: () => ({ ...inventory }), node: { getChildByName: () => null } }; - const update = method('assets/Script/SceneManager.ts', 'update'); - const state = (prop, visible, count) => { - const node = panel.node.getChildByName(prop); - for (const name of ['add', 'select', 'remaining']) assert.equal(node.getChildByName(name).active, name === visible); - assert.equal(node.getChildByName('remaining').getChildByName('number').value, count); - assert.equal(node.getChildByName('amount'), undefined); - }; - update.call(manager, 0); - state('hourglass', 'remaining', 3); state('rocket', 'add', 0); - const number = panel.node.getChildByName('hourglass').getChildByName('remaining').getChildByName('number'); - update.call(manager, 0); - assert.equal(number.renders, 1, 'unchanged stock does not rebuild the digits every frame'); - panel.setSelected('hourglass', true); state('hourglass', 'select', 3); - panel.setSelected('hourglass', false); state('hourglass', 'remaining', 3); - panel.setSelected('rocket', true); state('rocket', 'add', 0); - assert.equal(panel.selected.rocket, false); - inventory.rocketAmount = 2; - update.call(manager, 0); state('rocket', 'remaining', 2); - panel.setSelected('rocket', true); state('rocket', 'select', 2); - inventory.hourglassAmount = 12; - update.call(manager, 0); state('hourglass', 'remaining', 12); state('rocket', 'select', 2); - inventory.rocketAmount = -1; - update.call(manager, 0); state('rocket', 'add', -1); - assert.equal(panel.selected.rocket, false, 'depletion clears stale selection'); - inventory.rocketAmount = 0; inventory.infiniteRocket = true; - update.call(manager, 0); state('rocket', 'remaining', '∞'); - panel.setSelected('rocket', true); state('rocket', 'select', '∞'); - inventory.infiniteRocket = false; - update.call(manager, 0); state('rocket', 'add', 0); - assert.equal(panel.selected.rocket, false, 'expiry restores the unavailable state'); - manager.threeWinsPanel = null; - update.call(manager, 0); -}); - -test('GameScene references all opening prefabs so release builds include them', () => { - const scene = JSON.parse(read('assets/Scene/GameScene.fire')); - const map = scene.find(component => Object.hasOwn(component, 'hourglassPrefab')); - assert.ok(map); - for (const prop of ['hourglass', 'rocket', 'rocketBox']) { - const meta = JSON.parse(read(`assets/prefab/prop/${prop}.prefab.meta`)); - assert.equal(map[prop + 'Prefab']?.__uuid__, meta.uuid, `${prop} prefab must be bound to GameScene`); - } -}); - -test('carried boosters report one cost only when stock is consumed, excluding gifts, replays and infinite uses', () => { - const source = ts.createSourceFile('Map.ts', read('assets/Script/Map.ts'), ts.ScriptTarget.Latest, true); - let callback; - const visit = node => { - if (ts.isNewExpression(node) && node.expression.getText(source) === 'StartBoostOpening') callback = node.arguments[2]; - ts.forEachChild(node, visit); - }; - visit(source); - assert.ok(callback); - for (const streak of [0, 1, 2, 3]) { - for (const prop of ['hourglass', 'rocket']) { - for (const mode of ['selected', 'gift', 'infinite']) { - const info = { hourglassAmount: 2, rocketAmount: 2 }; - if (mode === 'infinite') info[prop === 'hourglass' ? 'infiniteHourglassTime' : 'infiniteRocketTime'] = Date.now() / 1000 + 60; - const map = { startBoostLoadout: { streak, hourglass: false, rocket: false, [prop]: mode !== 'gift' } }; - const events = [], saves = []; - const cc = { fx: { GameConfig: { GM_INFO: info }, GameTool: { - saveStartBoostInventory: prop => saves.push(prop), - shushu_Track: (name, data) => events.push({ name, ...data }), - } } }; - const use = vm.runInNewContext(compile('(function () { return ' + callback.getText(source) + '; })'), { cc, ...boosts }).call(map); - use(prop); - use(prop); // Untouched restart reuses the already-spent loadout. - assert.deepEqual(events, mode === 'selected' ? [{ name: 'resource_cost', change_reason: '使用道具', - id: prop === 'hourglass' ? '2006' : '2007', num: -1 }] : []); - assert.deepEqual(saves, mode === 'selected' ? [prop] : []); - assert.equal(info[prop + 'Amount'], mode === 'selected' ? 1 : 2); - } - } - } -}); - -test('enter_stage reports the opening streak once on first play, independently of extra props and later global state', () => { - for (const streak of [null, 0, 1, 2, 3]) { - const events = []; - const cc = { fx: { GameConfig: { GM_INFO: { level: 24, winStreak: 0, threeWinStreak: 3 }, isWinStreakUnlocked: () => true }, - GameTool: { getUserPowerTime: () => true, maxLevel: () => false, - shushu_Track: (name, data) => events.push({ name, data }) } } }; - const start = method('assets/Script/Map.ts', 'startUpdate', { cc, Date }); - const map = { gameStart: false, startBoostPreparing: true, is_frenzy: false, - startBoostLoadout: streak === null ? null : { streak, hourglass: true, rocket: true }, - onBlockClick() {}, iceTrue: () => false, threeWinStreak: { begin() {} }, - stopTimeCutDown() {}, startTimeCutDown() {} }; - start.call(map); - assert.equal(events.length, 0); - map.startBoostPreparing = false; - start.call(map); - start.call(map); - assert.equal(events.length, 1); - assert.equal(events[0].name, 'enter_stage'); - assert.equal(events[0].data.pilot_drop, streak || 0); - } -}); - -test('each reward tier and extra choice consumes only the selected inventory once across untouched replays', () => { - for (const [streak, hourglass, rocket] of [[0, 0, 0], [1, 2, 0], [2, 2, 1], [3, 3, 2]]) { - const reward = boosts.startBoostRewards(streak); - assert.equal(reward.hourglass, hourglass); - assert.equal(reward.rocket, rocket); - for (const selected of ['hourglass', 'rocket']) { - const info = { hourglassAmount: 2, rocketAmount: 2 }; - const loadout = { streak, hourglass: selected === 'hourglass', rocket: selected === 'rocket' }; - assert.equal(boosts.consumeCarriedStartBoost(loadout, selected, info), true); - assert.equal(info[selected + 'Amount'], 1); - assert.equal(boosts.consumeCarriedStartBoost(loadout, selected, info), false); - const other = selected === 'hourglass' ? 'rocket' : 'hourglass'; - assert.equal(boosts.consumeCarriedStartBoost(loadout, other, info), false); - assert.equal(info[other + 'Amount'], 2); - } - } -}); - -test('an infinite prop can be carried at zero stock; replay never charges after its timer expires', () => { - const info = { hourglassAmount: 0, rocketAmount: 0, infiniteHourglassTime: Date.now() / 1000 + 60 }; - const loadout = { streak: 0, hourglass: true, rocket: false }; - assert.equal(boosts.canCarryStartBoost(info, 'hourglass'), true); - assert.equal(boosts.canCarryStartBoost(info, 'rocket'), false); - assert.equal(boosts.consumeCarriedStartBoost(loadout, 'hourglass', info), false); - info.infiniteHourglassTime = 0; - assert.equal(boosts.consumeCarriedStartBoost(loadout, 'hourglass', info), false); - assert.equal(info.hourglassAmount, 0); -}); - -const updateOpening = method('assets/Script/Map.ts', 'updateStartBoostOpening', boosts); -function openingFixture(loadout) { - const transition = { active: false }; - let completed = 0; - const map = { node: { parent: { parent: { parent: { getChildByName: () => transition } } } }, - startBoostLoadout: loadout, startBoostPreparing: true, startBoostsApplied: false, - startBoostOpening: null, rainbowStreak: null, oldRainbowEntryReady: () => completed++ }; - return { map, transition, completed: () => completed }; -} - -test('zero boosters completes the preparation; missing player selection keeps it locked', () => { - const f = openingFixture(null); - updateOpening.call(f.map, 1); - assert.equal(f.map.startBoostPreparing, true); - assert.equal(f.completed(), 0); - f.map.startBoostLoadout = { streak: 0, hourglass: false, rocket: false }; - updateOpening.call(f.map, 1); - assert.equal(f.map.startBoostPreparing, false); - assert.equal(f.map.startBoostsApplied, true); - assert.equal(f.completed(), 1); -}); - -test('zero boosters still runs an independently eligible rainbow before releasing the opening lock', () => { - const f = openingFixture({ streak: 0, hourglass: false, rocket: false }); - let started = 0, rainbowDone = false; - f.map.rainbowStreak = { startOpening: () => started++, updateOpening: () => rainbowDone }; - updateOpening.call(f.map, 1); - updateOpening.call(f.map, 1); - assert.equal(started, 1); - assert.equal(f.map.startBoostPreparing, true); - rainbowDone = true; - updateOpening.call(f.map, 1); - assert.equal(f.map.startBoostPreparing, false); - assert.equal(f.completed(), 1); -}); - -test('scene transition and all booster effects finish before rainbow starts, then rainbow finishes before unlock', () => { - const f = openingFixture({ streak: 3, hourglass: true, rocket: true }); - const events = []; - let boostersDone = false; - f.map.startBoostOpening = { update: () => { events.push('boosters'); return boostersDone; }, dispose: () => events.push('dispose') }; - f.map.rainbowStreak = { startOpening: () => events.push('rainbow'), updateOpening: () => true }; - f.transition.active = true; - updateOpening.call(f.map, 1); - assert.deepEqual(events, []); - f.transition.active = false; - updateOpening.call(f.map, 1); - assert.deepEqual(events, ['boosters']); - boostersDone = true; - updateOpening.call(f.map, 1); - assert.deepEqual(events, ['boosters', 'boosters', 'dispose', 'rainbow']); - assert.equal(f.map.startBoostPreparing, true); - updateOpening.call(f.map, 1); - assert.equal(f.map.startBoostPreparing, false); - assert.equal(f.completed(), 1); -}); - -test('unlock starts on displayed level 25 and includes endless while excluding help levels', () => { - const unlocked = method('assets/Script/module/Config/GameConfig.ts', 'isStartBoostersUnlocked'); - const config = { GM_INFO: { level: 23, otherLevel: 0, GameplayType: 0 } }; - assert.equal(unlocked.call(config), false); - config.GM_INFO.level = 24; - assert.equal(unlocked.call(config), true); - config.GM_INFO.GameplayType = 1; - assert.equal(unlocked.call(config), true); - config.GM_INFO.otherLevel = 100; - assert.equal(unlocked.call(config), false); -}); - -test('confirmed untouched restart reuses the spent loadout, while a played restart settles loss and opens a fresh choice', async () => { - for (const played of [false, true]) { - const loadout = { streak: 3, hourglass: true, rocket: true, spentHourglass: true, spentRocket: true }; - let failures = 0, reloads = 0; - const transition = { active: false, getComponent: () => ({ setAnimation() {} }) }; - const map = { isMapRuntimeAlive: () => true, reviewState: false, againCanTouch: true, - settleCloudRiseLoss: async () => true, SceneManager: { releasePausePanel() {} }, - gameStart: played, gameWin: false, gameOver: false, startBoostLoadout: loadout, startBoostKey: '24:0:0', - threeWinStreak: { fail: () => failures++ }, - node: { parent: { parent: { parent: { getChildByName: () => transition } } } } }; - const MapConroler = { _instance: map, startBoostReplay: null }; - const cc = { fx: { - GameConfig: { GM_INFO: { hp: 1, GameplayType: 0 }, LEVEL_INFO_init: () => reloads++ }, - GameTool: { getUserPowerTime: () => false, maxLevel: () => false }, - AudioManager: { _instance: { playEffect() {} } }, - } }; - const again = method('assets/Script/Map.ts', 'againLevel', { cc, MapConroler, sp: { Skeleton: class {} }, - DailyTaskProgressTracker: { invalidateAttempt() {}, resetWinStreak() {} }, - setTimeout: callback => callback(), - }); - await again.call(map); - assert.equal(reloads, 1); - assert.equal(failures, played ? 1 : 0); - if (played) assert.equal(MapConroler.startBoostReplay, null); - else assert.equal(MapConroler.startBoostReplay.loadout, loadout); - assert.equal(loadout.spentHourglass, true); - assert.equal(loadout.spentRocket, true); - } -}); - -test('hourglass and rocket purchases cost 200/800 for three and save their independent prop id', () => { - for (const [prop, id, cost] of [['hourglass', 2006, 200], ['rocket', 2007, 800]]) { - const info = { coin: 1000, hourglassAmount: 1, rocketAmount: 2, freezeAmount: 3, magicAmount: 4, hammerAmount: 5 }; - const saved = [], storage = {}, events = []; - const gameTool = { changeCoin: delta => info.coin += delta, shushu_Track: (name, data) => events.push({ name, ...data }), - setUserProp: (id, amount) => saved.push([id, amount]), tryReactivateStarterPack() {} }; - const cc = { fx: { GameConfig: { GM_INFO: info }, GameTool: gameTool, - StorageMessage: { getStorage: key => storage[key], setStorage: (key, value) => storage[key] = value } } }; - const buy = method('assets/Script/module/Tool/GameTool.ts', 'buyProp', { cc, Date }, 'GameTool'); - let callbacks = 0; - const before = info[prop + 'Amount']; - buy.call(gameTool, id, () => callbacks++); - assert.equal(info.coin, 1000 - cost); - assert.equal(info[prop + 'Amount'], before + 3); - assert.deepEqual(saved, [[id, before + 3]]); - assert.equal(callbacks, 1); - assert.deepEqual(events.filter(event => event.name === 'resource_get'), [ - { name: 'resource_get', change_reason: 'game', id, num: 3, compensate: false }, - ]); - assert.deepEqual(events.filter(event => event.name === 'resource_cost'), [ - { name: 'resource_cost', change_reason: '商城购买道具消耗', id: '1001', num: -cost }, - ]); - const eventCount = events.length; - info.coin = cost - 1; - buy.call(gameTool, id, () => callbacks++); - assert.equal(info.coin, cost - 1); - assert.equal(info[prop + 'Amount'], before + 3); - assert.equal(callbacks, 1); - assert.equal(events.length, eventCount); - } -}); - -test('purchase-panel selection and consumed stock use unified server ids 2006/2007, including zero stock', () => { - for (const [prop, id] of [['hourglass', 2006], ['rocket', 2007]]) { - const requests = [], purchases = [], cached = { freezeAmount: 5 }; - const cc = { fx: { GameConfig: { GM_INFO: { coin: 1000, hourglassAmount: 0, rocketAmount: 0 } }, - GameTool: { buyProp: (id, done) => { purchases.push(id); done(); } }, - StorageMessage: { getStorage: () => cached, setStorage: () => {} } } }; - const globals = { cc, Date, wx: {}, Utils: { setUserProp: (id, amount) => requests.push([id, amount]) } }; - const save = method('assets/Script/module/Tool/GameTool.ts', 'saveStartBoostInventory', globals, 'GameTool'); - const setUserProp = method('assets/Script/module/Tool/GameTool.ts', 'setUserProp', globals, 'GameTool'); - save.call({ setUserProp }, prop); - assert.deepEqual(requests, [[id, 0]]); - assert.equal(cached[prop + 'Amount'], 0); - assert.equal(cached.freezeAmount, 5); - let selected; - const manager = { isPopupRuntimeAlive: () => true, updateCoin() {}, closePropBuy() {}, - threeWinsPanel: { setSelected: (prop, value) => selected = [prop, value] } }; - method('assets/Script/SceneManager.ts', 'buyStartBoost', globals).call(manager, prop); - assert.deepEqual(purchases, [id]); - assert.deepEqual(selected, [prop, true]); - } -}); - -test('authored new prop purchase buttons invoke the existing PropWindowPanel purchase handler', () => { - const prefab = JSON.parse(read('assets/propWindow/prefab/PropWindow.prefab')); - for (const name of ['hourglass', 'rocket']) { - const root = prefab.find(node => node.__type__ === 'cc.Node' && node._name === name); - const button = root._children.map(ref => prefab[ref.__id__]).find(node => node._name === 'buy_Btn'); - const control = button._components.map(ref => prefab[ref.__id__]).find(component => component.__type__ === 'cc.Button'); - assert.equal(prefab[control.clickEvents[0].__id__].handler, 'clickBtn'); - } -}); - -function shopRaceFixture() { - const popup = { active: true }, scheduled = [], requests = []; - const map = { pause: false, shopPause: false, stopBoom() {} }; - let created = 0; - const cc = { fx: { - GameConfig: { GM_INFO: { coin: 0, canIos: true }, getShopPrefabPath: () => 'prefab/shop', isShopB: () => false }, - GameTool: { tryReactivateStarterPack() {}, shushu_Track() {} }, - AudioManager: { _instance: { playEffect() {} } }, - }, instantiate() { - created++; - return { active: true, getComponent: () => ({ init() {} }), destroy() {} }; - } }; - const globals = { cc, MapConroler: { _instance: map }, console: { log() {} }, - SceneManager: { clearInvalidShopPrefabCaches() {}, cachedShopPrefab: {} }, - Utils: { getShopDouble: (callback, complete) => requests.push({ callback, complete }) }, - MiniGameSdk: { API: { showToast() {} } }, - }; - const manager = { isPopupRuntimeAlive: () => true, btnName: 'hourglass', resetBtn() {}, - getDynamicPopup: () => popup, scheduleOnce: callback => scheduled.push(callback), - pendingShopRequests: 0, node: { addChild() {} }, shopNode: null, - openShop: method('assets/Script/SceneManager.ts', 'openShop', globals), - }; - const buy = method('assets/Script/SceneManager.ts', 'buyStartBoost', globals); - const respond = () => { - const request = requests[requests.length - 1]; - request.callback({ code: 1, data: { shopDouble: false } }); - request.complete(); - }; - return { popup, scheduled, requests, map, manager, buy, respond, created: () => created }; -} - -test('closing the purchase popup cancels both its delayed shop open and a shop response already in flight', () => { - for (const afterRequest of [false, true]) { - const f = shopRaceFixture(); - f.buy.call(f.manager, 'hourglass'); - assert.equal(f.scheduled.length, 1); - if (!afterRequest) f.popup.active = false; - f.scheduled[0](); - if (afterRequest) { - assert.equal(f.requests.length, 1); - f.popup.active = false; - f.respond(); - } else assert.equal(f.requests.length, 0); - assert.equal(f.created(), 0); - assert.equal(f.map.shopPause, false); - assert.equal(f.manager.pendingShopRequests, 0); - } -}); - -test('ordinary shop entry still opens without an optional purchase-popup guard', () => { - const f = shopRaceFixture(); - f.popup.active = false; - f.manager.openShop(null); - assert.equal(f.requests.length, 1); - f.respond(); - assert.equal(f.created(), 1); - assert.equal(f.map.shopPause, true); - assert.equal(f.manager.pendingShopRequests, 0); -}); - -test('failed intermediate-panel initialization releases its modal and allows a fresh retry', () => { - const roots = []; - class Node { - constructor() { roots.push(this); } - setContentSize() {} - addComponent() {} - addChild() {} - destroy() { this.destroyed = true; } - } - let shouldFail = true, finished = 0; - const panel = { init() { if (shouldFail) throw new Error('missing prefab child'); } }; - const cc = { Node, BlockInputEvents: class {}, winSize: {}, - instantiate: () => ({ setPosition() {}, getChildByName: () => ({ setSiblingIndex() {} }), addComponent: () => panel }), - }; - const manager = { isPopupRuntimeAlive: () => true, threeWinsPrefab: {}, threeWinsFont: {}, - node: { addChild() {} }, threeWinsData: () => ({}), finishDynamicPopupLoad: () => finished++ }; - const open = method('assets/Script/SceneManager.ts', 'openThreeWins', { cc, ThreeWinsPanel: class {} }); - assert.throws(() => open.call(manager, () => {}), /missing prefab child/); - assert.equal(manager.threeWinsRoot, null); - assert.equal(manager.threeWinsPanel, null); - assert.equal(roots[0].destroyed, true); - assert.equal(finished, 0); - shouldFail = false; - open.call(manager, () => {}); - assert.equal(manager.threeWinsRoot, roots[1]); - assert.equal(manager.threeWinsPanel, panel); - assert.equal(finished, 1); -});