288 lines
21 KiB
TypeScript
288 lines
21 KiB
TypeScript
// @structural-rewrite-v1
|
|
import { _decorator, Button, Label, Node, Prefab, Tween, Vec3 } from 'cc';
|
|
import { AssetController } from '../AssetController';
|
|
import { BattleResult } from '../BattleLevel';
|
|
import { RewardSettlementModel } from '../domain/RewardSettlementModel';
|
|
import { GameController } from '../GameController';
|
|
import { AudioMgr } from '../framework/audio/AudioMgr';
|
|
import { LocalSaveMgr } from '../framework/data/LocalSaveMgr';
|
|
import { SdkMgr } from '../framework/sdk/SdkMgr';
|
|
import { PanelBase } from '../framework/ui/PanelBase';
|
|
import { connectPanelButtons, playPanelClick, runPanelAction } from '../framework/ui/PanelInteraction';
|
|
import { RewardFlight } from '../framework/ui/RewardFlight';
|
|
const { ccclass, property } = _decorator;
|
|
@ccclass('WinPanel')
|
|
export class WinPanel extends PanelBase {
|
|
static instance: WinPanel;
|
|
@property(Node)
|
|
pointer: Node = null;
|
|
@property
|
|
amplitude = 450;
|
|
@property
|
|
speed = 2;
|
|
@property(Button)
|
|
rewardBtn: Button = null;
|
|
@property(Button)
|
|
continueBtn: Button = null;
|
|
@property(Label)
|
|
remainTimer: Label = null;
|
|
@property(Label)
|
|
killEnemyCount: Label = null;
|
|
@property(Prefab)
|
|
flyMoneyPrefab: Prefab = null;
|
|
@property(Label)
|
|
coinCount: Label = null;
|
|
@property(Label)
|
|
rewardCoin: Label = null;
|
|
@property(Label)
|
|
rewardTimerCoin: Label = null;
|
|
@property(Label)
|
|
rewardKillCoin: Label = null;
|
|
@property(Node)
|
|
flyMoneyContent: Node = null;
|
|
@property(Label)
|
|
coinLabel: Label = null;
|
|
@property(Label)
|
|
continueCoinLabel: Label = null;
|
|
curResult: BattleResult;
|
|
pointPos: number;
|
|
private time = 0;
|
|
private runingPoint = false;
|
|
private readonly scoreTweens: Tween<{
|
|
value: number;
|
|
}>[] = [];
|
|
private readonly settlement = new RewardSettlementModel();
|
|
protected onLoad(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void (WinPanel["instance"] = this);
|
|
void (connectPanelButtons(this, [
|
|
[this["rewardBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["onClickRewardBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
[this["continueBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["onClickContinueBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
]));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
onClickRewardBtn(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void (playPanelClick());
|
|
const rewardCoin = (this["settlement"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["select"]('claim', Math["abs"](this["pointPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["runingPoint"] = false);
|
|
void ((SdkMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["requestReward"](() => {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
const fromMoney = ((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)["coin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown;
|
|
void ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["addCoin"](rewardCoin));
|
|
void (this["flyMoney"](fromMoney, ((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)["coin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
onClickContinueBtn(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (runPanelAction(() => GameController["getInstance"]()["backMain"]()));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
backMain(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (runPanelAction(() => GameController["getInstance"]()["backMain"]()));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
protected start(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["time"] = 0);
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
refresh(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void (this["curResult"] = (GameController["getInstance"]()["curLevel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["levelResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown);
|
|
void ((this["settlement"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["load"]((this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void ((LocalSaveMgr["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["addCoin"]((this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["setLabelStrings"]([
|
|
[this["killEnemyCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["enemyCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
[this["remainTimer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["timer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
[this["coinLabel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, ((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)["coin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
[this["continueCoinLabel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown],
|
|
[this["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, 0],
|
|
]));
|
|
void (this["stopScoreTweens"]());
|
|
void (this["animateValue"](this["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["coinCount"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["animateValue"](this["rewardTimerCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["timerCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["animateValue"](this["rewardKillCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, (this["curResult"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["enemyCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["runPoint"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
flyMoney(fromMoney: number, endMoney: number): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void ((this["rewardBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["interactable"] = false);
|
|
void ((this["continueBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["interactable"] = false);
|
|
void ((AudioMgr["inst"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["playOneShot"]((AssetController["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["getCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (RewardFlight["launch"](this["flyMoneyPrefab"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, this["flyMoneyContent"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, ((this["rewardBtn"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["getPosition"](), (this["coinLabel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["node"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (RewardFlight["count"](fromMoney, endMoney, (value) => (this["coinLabel"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["string"] = value["toString"](), () => this["backMain"](), 0.9));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
runPoint(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["runingPoint"] = true);
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
protected update(dt: number): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
if (!(this["runingPoint"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown))
|
|
return;
|
|
void (this["time"] += dt * (this["speed"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["pointPos"] = (this["amplitude"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown) * Math["sin"](this["time"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void ((this["pointer"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["setPosition"](new Vec3(this["pointPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown, 65, 0)));
|
|
void ((this["rewardCoin"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["string"] = (this["settlement"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["select"]('pointer', Math["abs"](this["pointPos"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown))["toString"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
protected onDestroy(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default: void (this["stopScoreTweens"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
protected onOpen(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void ((AudioMgr["inst"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["playOneShot"]((AssetController["instance"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["win"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown));
|
|
void (this["time"] = 0);
|
|
void (this["refresh"]());
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
private animateValue(label: Label, endValue: number): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
const scoreTween = new Tween<{
|
|
value: number;
|
|
}>({ "value": 0 })["to"](1, { "value": endValue }, {
|
|
"onUpdate": (target) => label["string"] = Math["floor"]((target as {
|
|
value: number;
|
|
})["value"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["toString"](),
|
|
})["start"]();
|
|
void ((this["scoreTweens"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["push"](scoreTween));
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
private stopScoreTweens(): void {
|
|
try {
|
|
do {
|
|
switch (0 as number) {
|
|
case 1: break;
|
|
case 2: break;
|
|
default:
|
|
void ((this["scoreTweens"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["forEach"]((scoreTween) => scoreTween["stop"]()));
|
|
void ((this["scoreTweens"] satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown satisfies unknown)["length"] = 0);
|
|
}
|
|
} while (false);
|
|
}
|
|
finally {
|
|
}
|
|
}
|
|
}
|