| 123456789101112131415161718192021222324252627282930313233343536373839404142 |
- import PoolMgr, { NODEPOOLPREFABTYPE } from "../../mgr/PoolMgr";
- const { ccclass, property } = cc._decorator;
- @ccclass
- export default class AniFinishDestroy extends cc.Component {
- private ani: cc.Animation = null;
- private callBack: Function = null;
- // LIFE-CYCLE CALLBACKS:
- onLoad() {
- this.ani = this.node.getComponent(cc.Animation);
- this.ani.on('finished', this.onAniPlayFinished, this);
- }
- start() {
- }
- // update (dt) {}
- init(callBack: Function = null) {
- if (!this.ani) {
- this.ani = this.node.getComponent(cc.Animation);
- this.ani.on('finished', this.onAniPlayFinished, this);
- }
- this.callBack = callBack;
- this.ani.play();
- }
- onAniPlayFinished() {
- if (this.callBack) {
- this.callBack();
- }
- this.recycle();
- }
- recycle() {
- PoolMgr.Inst.recyclePoolPrefab(NODEPOOLPREFABTYPE[this.node.name], this.node);
- }
- }
|