1234567891011121314151617181920212223242526272829303132333435363738394041 |
- import { _decorator, Component, isValid, Node, tween, UIOpacity } from 'cc';
- import { EventMgr } from '../manager/EventMgr';
- import { EventType } from '../enum/EventType';
- import { Global } from '../Global';
- import { AudioMgr } from '../manager/AudioMgr';
- const { ccclass, property } = _decorator;
- @ccclass('Game/EffectRedAlert')
- export class EffectRedAlert extends Component {
- private uiOpacity: UIOpacity = null
- protected onLoad() {
- this.uiOpacity = this.getComponent(UIOpacity)
- EventMgr.on(EventType.TimeOutAlert, this.onTimeOutAlert, this)
- }
- protected onDestroy(): void {
- EventMgr.off(EventType.TimeOutAlert, this.onTimeOutAlert, this)
- }
- protected start(): void {
- const tw = tween(this.uiOpacity)
- tw.sequence(
- tween(this.uiOpacity).to(0.5, { opacity: 0 }),
- tween(this.uiOpacity).to(0.5, { opacity: 255 }),
- )
- tw.repeatForever()
- tw.start()
- this.scheduleOnce(this.onTimeOutAlert, Global.Time_Out_Alert_Time)
- AudioMgr.playSfx('倒计时')
- }
- protected onTimeOutAlert(): void {
- this.unscheduleAllCallbacks()
- if (isValid(this.node)) this.node.destroy()
- }
- }
|