1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- const BottleType = require('Types').BottleType;
- const SizeType = require('Types').SizeType;
- const sizeMap = ['S', 'S', 'M', 'M', 'L', 'L'];
- const Spawn = cc.Class({
- name: 'Spawn',
- properties: {
- bottleType: {
- default: BottleType.MNormal,
- type: BottleType
- },
- total: 0,
- },
- ctor () {
- this.spawned = 0;
- this.finished = false;
- },
- init (obj) {
- if(obj) {
- this.bottleType = obj.bottleType;
- this.total = obj.total || this.total;
- }
- },
-
- spawn (bottleMng) {
- if (this.spawned >= this.total) {
- return;
- }
- this.size = SizeType[sizeMap[this.bottleType]];
- let newBottle = bottleMng.requestBottle(this.bottleType);
- if (newBottle) {
- this.spawned++;
- if (this.spawned === this.total) {
- this.finished = true;
- }
- return newBottle;
- } else {
- console.log('max bottle count reached, will delay spawn');
- return null;
- }
- }
- });
- module.exports = Spawn;
|