// @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 { } } }