chore:代码重构
This commit is contained in:
@@ -1,83 +1,272 @@
|
||||
import { _decorator, Component, Node } from 'cc';
|
||||
import { SingletonBase } from './framework/SingletonBase';
|
||||
// @structural-rewrite-v1
|
||||
import { _decorator } from 'cc';
|
||||
import { BattleLevel } from './BattleLevel';
|
||||
import { UIManager } from './framework/ui/UIManager';
|
||||
import { PlayPanel } from './ui/PlayPanel';
|
||||
import { MainPanel } from './ui/MainPanel';
|
||||
import { LoadingPanel } from './ui/LoadingPanel';
|
||||
import { WinPanel } from './ui/WinPanel';
|
||||
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 { SettingPanel } from './ui/SettingPanel';
|
||||
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
|
||||
|
||||
curLevel: BattleLevel = null;
|
||||
@property
|
||||
forceLevelIndex: number = 1
|
||||
|
||||
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 {
|
||||
super.onLoad()
|
||||
try {
|
||||
do {
|
||||
switch (0 as number) {
|
||||
case 1: break;
|
||||
case 2: break;
|
||||
default: void (super["onLoad"]());
|
||||
}
|
||||
} while (false);
|
||||
}
|
||||
finally {
|
||||
}
|
||||
}
|
||||
|
||||
protected start(): void {
|
||||
// this.gameStart()
|
||||
UIManager.instance.openPanel(MainPanel)
|
||||
}
|
||||
|
||||
judgePower() {
|
||||
if (LocalSaveMgr.instance.playerData.power > 0) {
|
||||
LocalSaveMgr.instance.usePower()
|
||||
return true
|
||||
} else {
|
||||
UIManager.instance.openPanel(AddHeartPanel)
|
||||
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);
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
gameStart() {
|
||||
if (!this.judgePower()) {
|
||||
return
|
||||
finally {
|
||||
}
|
||||
UIManager.instance.closePanel(MainPanel)
|
||||
UIManager.instance.openPanel(LoadingPanel)
|
||||
this.scheduleOnce(() => {
|
||||
console.log("gameStart openPanel")
|
||||
this.curLevel.loadLevel()
|
||||
}, 0.5)
|
||||
}
|
||||
|
||||
gameRestart() {
|
||||
if (!this.judgePower()) {
|
||||
return
|
||||
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 {
|
||||
}
|
||||
UIManager.instance.closeAllPanels()
|
||||
UIManager.instance.openPanel(LoadingPanel)
|
||||
this.scheduleOnce(() => {
|
||||
console.log("gameStart openPanel")
|
||||
this.curLevel.loadLevel()
|
||||
}, 0.5)
|
||||
}
|
||||
|
||||
backMain() {
|
||||
UIManager.instance.closeAllPanels()
|
||||
UIManager.instance.openPanel(MainPanel)
|
||||
this.curLevel.unLoadLevel()
|
||||
FPSCameraController.getInstance().clear()
|
||||
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 {
|
||||
}
|
||||
}
|
||||
|
||||
onLoadComplete() {
|
||||
let self = this
|
||||
LoadingPanel.instance.onLoadingComplete(() => {
|
||||
UIManager.instance.openPanel(PlayPanel)
|
||||
self.curLevel.startLevel()
|
||||
})
|
||||
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 {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user