|
window.ItemsPool = cc.Class({
|
extends: cc.Component,
|
|
properties: {
|
_hero_cache: [],
|
_backpack_cache: [],
|
},
|
getItem: function(itemClass) {
|
if (itemClass == "hero_exhibition_item") {
|
if (this._hero_cache.length > 0) {
|
return this._hero_cache.pop();
|
} else {
|
var HeroExhibitionItem = require("hero_exhibition_item");
|
return new HeroExhibitionItem();
|
}
|
} else if (itemClass == "backpack_item") {
|
if (this._backpack_cache.length > 0) {
|
return this._backpack_cache.pop();
|
} else {
|
var BackpackItem = require("backpack_item");
|
return new BackpackItem();
|
}
|
}
|
},
|
|
cacheItem: function(item) {
|
if(!item.root_wnd){
|
item = null;
|
return
|
}
|
var BackpackItem = require("backpack_item");
|
var HeroExhibitionItem = require("hero_exhibition_item");
|
item.setParent(ViewManager.getInstance().getSceneNode());
|
item.init()
|
item.hide()
|
if(item instanceof BackpackItem){
|
this._backpack_cache.push(item)
|
}else if(item instanceof HeroExhibitionItem){
|
this._hero_cache.push(item)
|
}
|
}
|
})
|
|
|
// // ItemsPool.getInstance().getItem("hero_exhibition_item");
|
ItemsPool.getInstance = function () {
|
if (!ItemsPool.instance) {
|
ItemsPool.instance = new ItemsPool();
|
}
|
return ItemsPool.instance;
|
}
|
// ItemsPool.getInstance().getItem("backpack_item");
|
module.exports = ItemsPool;
|