273 lines
11 KiB
TypeScript
273 lines
11 KiB
TypeScript
// @structural-rewrite-v1
|
|
import { _decorator } from 'cc';
|
|
import { BattleLevel } from './BattleLevel';
|
|
import { FPSCameraController } from './FPSCameraController';
|
|
import { SingletonBase } from './framework/SingletonBase';
|
|
import { LocalSaveMgr } from './framework/data/LocalSaveMgr';
|
|
import { UIManager } from './framework/ui/UIManager';
|
|
import { AddHeartPanel } from './ui/AddHeartPanel';
|
|
import { LoadingPanel } from './ui/LoadingPanel';
|
|
import { MainPanel } from './ui/MainPanel';
|
|
import { PlayPanel } from './ui/PlayPanel';
|
|
import { backToMainPlan, GameFlowEffect, levelReadyPlan, planBattleEntry, planPowerCheck } from './domain/GameFlowModel';
|
|
const { ccclass, property } = _decorator;
|
|
@ccclass('GameController')
|
|
export class GameController extends SingletonBase<GameController> {
|
|
@property(BattleLevel)
|
|
curLevel: BattleLevel = null;
|
|
@property
|
|
forceLevelIndex = 1;
|
|
private readonly effectHandlers: Record<GameFlowEffect, () => void> = {
|
|
"showAddHeart": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](AddHeartPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"consumePower": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["usePower"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"closeMain": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["closePanel"](MainPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"closeAll": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["closeAllPanels"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"openLoading": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](LoadingPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"scheduleLevelLoad": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["scheduleOnce"](() => (this["curLevel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["loadLevel"](), 0.5));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"openMain": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](MainPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"unloadLevel": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((this["curLevel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["unLoadLevel"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"clearLastBullet": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (FPSCameraController["getInstance"]()["clear"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"openPlay": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](PlayPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
"startLevel": () => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((this["curLevel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["startLevel"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
},
|
|
};
|
|
protected onLoad(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (super["onLoad"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
protected start(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["openPanel"](MainPanel));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
judgePower(): boolean {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
const hasPower = ((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)["power"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown > 0;
|
|
void (this["runFlow"](planPowerCheck(hasPower)));
|
|
return hasPower;
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
gameStart(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["runFlow"](planBattleEntry('start', ((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)["power"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown > 0)));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
gameRestart(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["runFlow"](planBattleEntry('restart', ((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)["power"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown > 0)));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
backMain(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["runFlow"](backToMainPlan));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
onLoadComplete(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void ((LoadingPanel["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["onLoadingComplete"](() => this["runFlow"](levelReadyPlan)));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
private runFlow(effects: readonly GameFlowEffect[]): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (effects["forEach"](effect => (this["effectHandlers"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)[effect]()));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
}
|