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 { await super.onGet(); if (this.animationHandler) { this.animationHandler.setNodeActive(true); this.sprite.setNodeActive(false); } } }