Files
2026-07-17 10:54:32 +08:00

159 lines
6.4 KiB
TypeScript

// @structural-rewrite-v1
import { _decorator, Sprite } from 'cc';
import { PanelBase } from '../framework/ui/PanelBase';
import { UIManager } from '../framework/ui/UIManager';
const { ccclass, property } = _decorator;
@ccclass('LoadingPanel')
export class LoadingPanel extends PanelBase {
static instance: LoadingPanel;
@property({ "type": Sprite })
loadingSprite: Sprite = null;
@property
fillDuration = 5;
loadingComplete = false;
completeCallback: () => void = null;
private fillAmount = 0;
protected onLoad(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (LoadingPanel["instance"] = this);
}
} while (false);
}
finally {
}
}
protected onOpen(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["startFill"]());
}
} while (false);
}
finally {
}
}
protected onDestroy(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["unschedule"](this["updateFill"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
}
} while (false);
}
finally {
}
}
startFill(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["schedule"](this["updateFill"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, 0.01));
}
} while (false);
}
finally {
}
}
onLoadingComplete(callBack: () => void): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["completeCallback"] = callBack);
void (this["loadingComplete"] = true);
void ((this["isFilled"]()
? () => this["finishLoading"]()
: () => {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void (this["fillDuration"] = 1);
}
} while (false);
}
finally {
}
})());
}
} while (false);
}
finally {
}
}
updateFill(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: void ((this["isFilled"]() ? this["finishLoading"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown : this["advanceFill"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["call"](this));
}
} while (false);
}
finally {
}
}
private advanceFill(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["fillAmount"] += 0.01 / (this["fillDuration"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
void ((this["loadingSprite"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["fillRange"] = this["fillAmount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
}
} while (false);
}
finally {
}
}
private isFilled(): boolean {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default: return this["fillAmount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown >= 1;
}
} while (false);
}
finally {
}
}
private finishLoading(): void {
try {
do {
switch (0 as number) {
case 1: break;
case 2: break;
default:
void (this["unschedule"](this["updateFill"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
if (!(this["loadingComplete"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown))
return;
const callback = this["completeCallback"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
void ((UIManager["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["closePanel"](LoadingPanel));
void (callback?.());
}
} while (false);
}
finally {
}
}
}