123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- const GameNotificationKey = require('./utils/GameEnum').GameNotificationKey;
- cc.Class({
- extends: cc.Component,
- properties: {
- coinPrefab: cc.Prefab,
- },
- // LIFE-CYCLE CALLBACKS:
- onLoad() {
- this.coinPool = new cc.NodePool();
- for (let i = 0; i < 10; i++) {
- let coin = cc.instantiate(this.coinPrefab);
- this.coinPool.put(coin);
- }
- GameEvent.on(GameNotificationKey.PlayUpdateCoinAnimation, this, (position) => {
- let canvas = cc.find('Canvas');
- let canvasPosition = canvas.convertToNodeSpaceAR(position);
- if (this.coinPool.size() > 0) {
- let coinNode = this.coinPool.get();
- canvas.addChild(coinNode);
- coinNode.position = canvasPosition;
- coinNode.zIndex = 10;
- coinNode.getComponent('SpendCoinCtrl').show(() => {
- this.coinPool.put(coinNode);
- canvas.removeChild(coinNode);
- });
- }
- });
- },
- onDestroy() {
- GameEvent.off(GameNotificationKey.PlayUpdateCoinAnimation, this);
- },
- start() {
- },
- // update (dt) {},
- });
|