EffectFreeze.ts 851 B

12345678910111213141516171819202122232425262728293031
  1. import { _decorator, Component, isValid, Node } from 'cc';
  2. import { Global } from '../Global';
  3. import { EventType } from '../enum/EventType';
  4. import { EventMgr } from '../manager/EventMgr';
  5. import { AudioMgr } from '../manager/AudioMgr';
  6. const { ccclass, property } = _decorator;
  7. @ccclass('Game/EffectFreeze')
  8. export class EffectFreeze extends Component {
  9. protected onLoad(): void {
  10. EventMgr.on(EventType.UseSkillFreezeTime, this.onRemove, this)
  11. }
  12. protected onDestroy(): void {
  13. EventMgr.off(EventType.UseSkillFreezeTime, this.onRemove, this)
  14. this.unscheduleAllCallbacks()
  15. }
  16. protected start() {
  17. this.scheduleOnce(this.onRemove, Global.Freeze_Time)
  18. AudioMgr.playSfx('冰冻道具')
  19. }
  20. protected onRemove(): void {
  21. if (isValid(this.node)) this.node.destroy()
  22. }
  23. }