Files
Alien_Sniper/assets/scripts/ui/LosePanel.ts
T
2026-07-15 11:38:16 +08:00

62 lines
2.0 KiB
TypeScript

import { _decorator, Button, Component, EventTouch, Input, input, instantiate, Label, Node, Prefab } from 'cc';
import { PanelBase } from '../framework/ui/PanelBase';
import { FPSCameraController } from '../FPSCameraController';
import { GameController } from '../GameController';
import { TargetIconItem } from './TargetIconItem';
import { EventCenter } from '../EventCenter';
import { UIManager } from '../framework/ui/UIManager';
import { SdkMgr } from '../framework/sdk/SdkMgr';
import { AudioMgr } from '../framework/audio/AudioMgr';
import { AssetController } from '../AssetController';
const { ccclass, property } = _decorator;
@ccclass('LosePanel')
export class LosePanel extends PanelBase {
static instance: LosePanel = null
@property(Button)
closeBtn: Button = null;
@property(Button)
replayBtn: Button = null;
@property(Button)
addTimeBtn: Button = null;
@property(Label)
remainLabel: Label = null;
onLoad() {
LosePanel.instance = this
this.closeBtn.node.on(Button.EventType.CLICK, this.onClickClose, this);
this.replayBtn.node.on(Button.EventType.CLICK, this.onClickReplay, this);
this.addTimeBtn.node.on(Button.EventType.CLICK, this.onClickAddTime, this);
}
onClickClose() {
AudioMgr.inst.playOneShot(AssetController.instance.click)
GameController.getInstance().backMain()
}
onClickReplay() {
AudioMgr.inst.playOneShot(AssetController.instance.click)
GameController.getInstance().gameRestart()
}
onClickAddTime() {
AudioMgr.inst.playOneShot(AssetController.instance.click)
SdkMgr.instance.requestReward(() => {
GameController.getInstance().curLevel.addTimer()
GameController.getInstance().curLevel.ContinueRun()
UIManager.instance.closePanel(LosePanel)
})
}
protected onOpen(): void {
LosePanel.instance.remainLabel.string = "剩余: " + GameController.getInstance().curLevel.getAliveEnemeyCount().toString()
}
}