pinball/assets/_Game/Scripts/Booster/CumulativeBooster.ts

40 lines
1.2 KiB
TypeScript

import { _decorator, Component, Node } from 'cc';
import SpineAnimationHandler from '../Base/SpineAnimationHandler';
import BoosterType from '../Enum/BoosterType';
import AudioManager from '../Manager/AudioManager';
import { BoosterBase } from './BoosterBase';
const { ccclass, property } = _decorator;
@ccclass('CumulativeBooster')
export class CumulativeBooster extends BoosterBase {
@property(SpineAnimationHandler)
private animationHandler: SpineAnimationHandler;
public readonly type: BoosterType = BoosterType.CumulativeBar;
protected onLoad(): void {
super.onLoad();
this.sprite.setNodeActive(true);
this.animationHandler?.setNodeActive(false);
}
public collect(collector: Node): void {
super.collect(collector);
AudioManager.setPlayRateBGM(1.5);
this.animationHandler?.setAnimation('active');
}
public end(): void {
super.end();
AudioManager.setPlayRateBGM(1);
}
async onGet(): Promise<void> {
await super.onGet();
if (this.animationHandler) {
this.animationHandler.setNodeActive(true);
this.sprite.setNodeActive(false);
}
}
}