chore:代码重构

This commit is contained in:
2026-07-17 10:15:42 +08:00
parent 5e689878ca
commit 56ea1dfd7b
58 changed files with 5784 additions and 2685 deletions
+451 -233
View File
@@ -1,268 +1,486 @@
import { _decorator, AssetManager, Camera, Component, instantiate, math, Node, Prefab, resources } from 'cc';
// @structural-rewrite-v1
import { _decorator, AssetManager, Camera, Component, instantiate, Node } from 'cc';
import { Ragdoll } from '../Ragdoll/Ragdoll';
import { EventCenter } from './EventCenter';
import { LevelState } from './EnumFile';
import { GameController } from './GameController';
import { UIManager } from './framework/ui/UIManager';
import { WinPanel } from './ui/WinPanel';
import { FPSCameraController } from './FPSCameraController';
import { GameController } from './GameController';
import { DataMgr } from './framework/data/DataMgr';
import { LevelConfig, Weapon } from './data/ConfigData';
import { LocalSaveMgr } from './framework/data/LocalSaveMgr';
import { FramePoller } from './framework/runtime/FramePoller';
import { RuntimeAssetLoader } from './framework/runtime/RuntimeAssetLoader';
import { UIManager } from './framework/ui/UIManager';
import { LevelConfig, Weapon } from './data/ConfigData';
import { LosePanel } from './ui/LosePanel';
import { WinPanel } from './ui/WinPanel';
import { BattlePhase, BattleSessionAction, BattleSessionModel, BattleSessionSnapshot } from './domain/BattleSessionModel';
const { ccclass, property } = _decorator;
const levelStateByPhase: Record<BattlePhase, LevelState> = {
"none": LevelState["None"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
"loading": LevelState["Loading"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
"running": LevelState["Running"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
"paused": LevelState["Pause"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
"result": LevelState["Result"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown,
};
@ccclass('BattleLevel')
export class BattleLevel extends Component {
@property(Node)
roleNode: Node = null; // 相机节点
enemies: Array<Ragdoll> = [];
aliveCount: number = 0
timer: number = 300
maxTimer: number = 300
levelState: LevelState
levelIndex: number
envNode: Node = null
enemyNode: Node = null
gunNode: Node = null
levelResult: BattleResult
roleNode: Node = null;
enemies: Ragdoll[] = [];
aliveCount = 0;
timer = 300;
maxTimer = 300;
levelState: LevelState;
levelIndex: number;
envNode: Node = null;
enemyNode: Node = null;
gunNode: Node = null;
levelResult: BattleResult;
qingBaoTarget: Ragdoll;
saoMiaoTarget: Ragdoll;
private readonly session = new BattleSessionModel();
protected onLoad(): void {
}
waitUntil(condition: () => boolean): Promise<void> {
return new Promise((resolve) => {
const checkCondition = () => {
if (condition()) {
resolve(); // 条件成立,结束等待
} else {
// 条件不成立,继续轮询
requestAnimationFrame(checkCondition);
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
}
};
checkCondition(); // 开始检查条件
});
}
initLevel() {
this.enemies = []
this.aliveCount = 0
this.timer = this.maxTimer
for (let index = 0; index < this.roleNode.children.length; index++) {
let ragdoll = this.roleNode.children[index].getComponent(Ragdoll)
if (ragdoll) {
this.enemies.push(ragdoll)
this.aliveCount += 1
}
} while (false);
}
this.levelState = LevelState.Loading
GameController.getInstance().onLoadComplete()
}
async loadLevel() {
let loadSceneComplete: boolean = false
let loadRoleComplete: boolean = false
this.node.destroyAllChildren()
let levelIndex = LocalSaveMgr.instance.playerData.levelIndex
if (GameController.getInstance().forceLevelIndex > 1) {
levelIndex = GameController.getInstance().forceLevelIndex
finally {
}
this.levelIndex = levelIndex
// levelIndex = 1
let config = DataMgr.getInstance().GetDataById(LevelConfig, levelIndex);
this.qingBaoTarget = null
this.saoMiaoTarget = null
console.log("加载关卡", levelIndex, config)
if (levelIndex <= 30) {
// games-display/cdn/SearchAliens/assets/
AssetManager.instance.loadBundle('level', (err, bundle) => {
bundle.load(`env/${config.env}`, Prefab, (err, prefab) => {
var item = instantiate(prefab)
item.setParent(this.node)
loadSceneComplete = true
})
bundle.load(`enemy/${config.enemy}`, Prefab, (err, prefab) => {
var item = instantiate(prefab)
item.setParent(this.node)
FPSCameraController.getInstance().init(item.getChildByPath("Player/Main Camera").getComponent(Camera), config.aimFov)
this.roleNode = item
let weapon = DataMgr.getInstance().GetDataById(Weapon, LocalSaveMgr.instance.playerData.equipedWeapon)
resources.load(`weapon/${weapon.prefab}`, Prefab, (err, prefab) => {
var gun = instantiate(prefab)
this.gunNode = gun
gun.setParent(item.getChildByPath(`Player/Main Camera/${weapon.point}`))
loadRoleComplete = true
});
})
}
);
} else {
AssetManager.instance.loadBundle('level', (err, bundle) => {
bundle.load(`env/${config.env}`, Prefab, (err, prefab) => {
var item = instantiate(prefab)
item.setParent(this.node)
loadSceneComplete = true
})
AssetManager.instance.loadBundle('levelRemote', (err, bundle) => {
bundle.load(`enemy/${config.enemy}`, Prefab, (err, prefab) => {
var item = instantiate(prefab)
item.setParent(this.node)
FPSCameraController.getInstance().init(item.getChildByPath("Player/Main Camera").getComponent(Camera), config.aimFov)
this.roleNode = item
let weapon = DataMgr.getInstance().GetDataById(Weapon, LocalSaveMgr.instance.playerData.equipedWeapon)
resources.load(`weapon/${weapon.prefab}`, Prefab, (err, prefab) => {
var gun = instantiate(prefab)
this.gunNode = gun
gun.setParent(item.getChildByPath(`Player/Main Camera/${weapon.point}`))
loadRoleComplete = true
});
})
});
}
);
}
waitUntil(condition: () => boolean): Promise<void> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return FramePoller["until"](condition);
}
} while (false);
}
finally {
}
await this.waitUntil(() => loadSceneComplete && loadRoleComplete);
this.initLevel()
}
unLoadLevel() {
this.node.destroyAllChildren()
this.levelState = LevelState.None
initLevel(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["enemies"] = this["collectEnemies"]());
void (this["dispatchSession"]({ "kind": 'reset', "timer": this["maxTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "aliveCount": (this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["length"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown }));
void (GameController["getInstance"]()["onLoadComplete"]());
}
} while (false);
}
finally {
}
}
onEnemyDie(target: Ragdoll) {
this.aliveCount -= 1
EventCenter.onEnemyDie.emit(null)
async loadLevel(): Promise<void> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void ((this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["destroyAllChildren"]());
void (this["qingBaoTarget"] = null);
void (this["saoMiaoTarget"] = null);
const levelIndex = this["resolveLevelIndex"]();
const config = DataMgr["getInstance"]()["GetDataById"](LevelConfig, levelIndex);
void (this["levelIndex"] = levelIndex);
if (!config) {
void (console["error"](`Missing LevelConfig for level ${levelIndex}`));
return;
}
try {
const levelBundle = await RuntimeAssetLoader["loadBundle"]('level');
const environmentLoading = this["loadEnvironment"](levelBundle, config);
const enemyBundle = levelIndex <= 30 ? levelBundle : await RuntimeAssetLoader["loadBundle"]('levelRemote');
void (await Promise["all"]([
environmentLoading,
this["loadRoleAndWeapon"](enemyBundle, config),
]));
void (this["initLevel"]());
}
catch (error) {
void (console["error"](`Failed to load level ${levelIndex}`, error));
}
}
} while (false);
}
finally {
}
}
unLoadLevel(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void ((this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["destroyAllChildren"]());
void (this["dispatchSession"]({ "kind": 'phase', "phase": 'none' }));
}
} while (false);
}
finally {
}
}
onEnemyDie(target: Ragdoll): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["dispatchSession"]({ "kind": 'enemyDown' }));
void ((EventCenter["onEnemyDie"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["emit"](null));
}
} while (false);
}
finally {
}
}
judgeLastBullet(): boolean {
return this.aliveCount == 1
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return this["aliveCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown === 1;
}
} while (false);
}
finally {
}
}
startLevel() {
this.levelState = LevelState.Running
startLevel(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["dispatchSession"]({ "kind": 'phase', "phase": 'running' }));
}
} while (false);
}
finally {
}
}
protected update(dt: number): void {
if (this.levelState == LevelState.Running) {
this.timer -= dt
if (this.timer <= 0) {
this.timer = 0
this.lose()
}
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: if (this["dispatchSession"]({ "kind": 'tick', "deltaTime": dt }))
void (this["lose"]());
}
} while (false);
}
finally {
}
}
lose() {
this.levelState = LevelState.Result
UIManager.instance.openPanel(LosePanel)
}
win() {
this.levelState = LevelState.Result
let levelResult = new BattleResult()
let remainTimer = Math.ceil(this.timer)
levelResult.timer = remainTimer
levelResult.enemyCount = this.enemies.length
levelResult.timerCoin = levelResult.timer
levelResult.enemyCoin = levelResult.enemyCount * 10
levelResult.coinCount = levelResult.timerCoin + levelResult.enemyCoin
this.levelResult = levelResult
LocalSaveMgr.instance.passLevel()
UIManager.instance.openPanel(WinPanel)
}
ContinueRun() {
this.levelState = LevelState.Running
}
pause() {
this.levelState = LevelState.Pause
}
addTimer() {
this.timer += 180
}
getAliveEnemeyCount() {
let aliveCount = 0
for (let index = 0; index < this.enemies.length; index++) {
if (!this.enemies[index].isDie) {
aliveCount++
}
lose(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["dispatchSession"]({ "kind": 'phase', "phase": 'result' }));
void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](LosePanel));
}
} while (false);
}
return aliveCount
}
getAliveEnemey() {
for (let index = 0; index < this.enemies.length; index++) {
if (!this.enemies[index].isDie) {
return this.enemies[index]
}
finally {
}
}
getQingBaoEnemey() {
this.qingBaoTarget = this.getAliveEnemey()
return this.qingBaoTarget
win(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["dispatchSession"]({ "kind": 'phase', "phase": 'result' }));
void (this["levelResult"] = this["createBattleResult"]());
void ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["passLevel"]());
void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](WinPanel));
}
} while (false);
}
finally {
}
}
qingBaoTarget: Ragdoll
getTutorialAliveEnemey() {
return this.enemies[this.enemies.length - 1]
ContinueRun(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["dispatchSession"]({ "kind": 'phase', "phase": 'running' }));
}
} while (false);
}
finally {
}
}
haveQingBaoTarget() {
return this.qingBaoTarget != null && !this.qingBaoTarget.isDie
pause(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["dispatchSession"]({ "kind": 'phase', "phase": 'paused' }));
}
} while (false);
}
finally {
}
}
saoMiaoTarget: Ragdoll
SetSaoMiaoTarget() {
this.saoMiaoTarget = this.getAliveEnemey()
addTimer(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["dispatchSession"]({ "kind": 'extendTime', "seconds": 180 }));
}
} while (false);
}
finally {
}
}
getAliveEnemeyCount(): number {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return (this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["filter"]((enemy) => !(enemy["isDie"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown))["length"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
}
} while (false);
}
finally {
}
}
getAliveEnemey(): Ragdoll {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return (this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["find"]((enemy) => !(enemy["isDie"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
}
} while (false);
}
finally {
}
}
getQingBaoEnemey(): Ragdoll {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["qingBaoTarget"] = this["getAliveEnemey"]());
return this["qingBaoTarget"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
}
} while (false);
}
finally {
}
}
getTutorialAliveEnemey(): Ragdoll {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return (this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)[((this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["length"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) - 1];
}
} while (false);
}
finally {
}
}
haveQingBaoTarget(): boolean {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return this["qingBaoTarget"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown != null && !((this["qingBaoTarget"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["isDie"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
}
} while (false);
}
finally {
}
}
SetSaoMiaoTarget(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["saoMiaoTarget"] = this["getAliveEnemey"]());
}
} while (false);
}
finally {
}
}
private resolveLevelIndex(): number {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
const forcedIndex = GameController["getInstance"]()["forceLevelIndex"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
return forcedIndex > 1 ? forcedIndex : ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["playerData"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["levelIndex"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
}
} while (false);
}
finally {
}
}
private collectEnemies(): Ragdoll[] {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
if (!(this["roleNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown))
return [];
return ((this["roleNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["children"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["map"]((child) => child["getComponent"](Ragdoll))["filter"]((ragdoll): ragdoll is Ragdoll => ragdoll != null);
}
} while (false);
}
finally {
}
}
private async loadEnvironment(bundle: AssetManager.Bundle, config: LevelConfig): Promise<void> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
const prefab = await RuntimeAssetLoader["loadBundlePrefab"](bundle, `env/${config["env"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`);
void (this["envNode"] = instantiate(prefab));
void ((this["envNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["parent"] = this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
}
} while (false);
}
finally {
}
}
private async loadRoleAndWeapon(bundle: AssetManager.Bundle, config: LevelConfig): Promise<void> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
const rolePrefab = await RuntimeAssetLoader["loadBundlePrefab"](bundle, `enemy/${config["enemy"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`);
void (this["roleNode"] = instantiate(rolePrefab));
void ((this["roleNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["parent"] = this["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
const camera = (this["roleNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["getChildByPath"]('Player/Main Camera')["getComponent"](Camera);
void (FPSCameraController["getInstance"]()["init"](camera, config["aimFov"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
void (await this["equipWeapon"]());
}
} while (false);
}
finally {
}
}
private async equipWeapon(): Promise<void> {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
const weapon = DataMgr["getInstance"]()["GetDataById"](Weapon, ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["playerData"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["equipedWeapon"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
if (!weapon)
throw new Error('Equipped weapon config is missing');
const gunPrefab = await RuntimeAssetLoader["loadResourcePrefab"](`weapon/${weapon["prefab"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`);
void (this["gunNode"] = instantiate(gunPrefab));
void ((this["gunNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["parent"] = (this["roleNode"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["getChildByPath"](`Player/Main Camera/${weapon["point"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown}`));
}
} while (false);
}
finally {
}
}
private createBattleResult(): BattleResult {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return new BattleResult(Math["ceil"](this["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown), (this["enemies"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["length"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
}
} while (false);
}
finally {
}
}
private applySession(snapshot: Readonly<BattleSessionSnapshot>): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["timer"] = snapshot["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
void (this["aliveCount"] = snapshot["aliveCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
void (this["levelState"] = levelStateByPhase[snapshot["phase"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown]);
}
} while (false);
}
finally {
}
}
private dispatchSession(action: BattleSessionAction): boolean {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
const timedOut = (this["session"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["dispatch"](action);
void (this["applySession"]((this["session"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["snapshot"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
return timedOut;
}
} while (false);
}
finally {
}
}
}
export class BattleResult {
timer: number
enemyCount: number
coinCount: number
timerCoin: number
enemyCoin: number
constructor(public timer = 0, public enemyCount = 0, public timerCoin = timer, public enemyCoin = enemyCount * 10, public coinCount = timerCoin + enemyCoin) {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
}
} while (false);
}
finally {
}
}
}