chore:代码重构
This commit is contained in:
@@ -0,0 +1,74 @@
|
||||
// @structural-rewrite-v1
|
||||
export type BattlePhase = 'none' | 'loading' | 'running' | 'paused' | 'result';
|
||||
export type BattleSessionAction = {
|
||||
kind: 'reset';
|
||||
timer: number;
|
||||
aliveCount: number;
|
||||
} | {
|
||||
kind: 'phase';
|
||||
phase: BattlePhase;
|
||||
} | {
|
||||
kind: 'tick';
|
||||
deltaTime: number;
|
||||
} | {
|
||||
kind: 'enemyDown';
|
||||
} | {
|
||||
kind: 'extendTime';
|
||||
seconds: number;
|
||||
};
|
||||
export interface BattleSessionSnapshot {
|
||||
phase: BattlePhase;
|
||||
timer: number;
|
||||
aliveCount: number;
|
||||
}
|
||||
export class BattleSessionModel {
|
||||
private current: BattleSessionSnapshot = { "phase": 'none', "timer": 300, "aliveCount": 0 };
|
||||
get snapshot(): Readonly<BattleSessionSnapshot> {
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default: return this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
dispatch(action: BattleSessionAction): boolean {
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default:
|
||||
switch (action["kind"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) {
|
||||
case 'reset':
|
||||
void (this["current"] = { "phase": 'loading', "timer": action["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "aliveCount": action["aliveCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
|
||||
break;
|
||||
case 'phase':
|
||||
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "phase": action["phase"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown });
|
||||
break;
|
||||
case 'enemyDown':
|
||||
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "aliveCount": ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["aliveCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) - 1 });
|
||||
break;
|
||||
case 'extendTime':
|
||||
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, "timer": ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) + (action["seconds"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) });
|
||||
break;
|
||||
case 'tick': {
|
||||
if ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["phase"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown !== 'running')
|
||||
break;
|
||||
const timer = Math["max"](0, ((this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) - (action["deltaTime"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
||||
void (this["current"] = { ...this["current"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, timer });
|
||||
return timer === 0;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user