ObjectPool.ts 468 Bytes
export default class ObjectPool {
    private static clsArr = [];

    static pop(cls: any) {
        let idx = this.clsArr.indexOf(cls);
        if (idx < 0) {
            idx = this.clsArr.length;
            this.clsArr.push(cls);
        }
        let key = 'poolKey' + idx;
        let item = Laya.Pool.getItemByClass(key, cls);
        item.poolKey = key;
        return item;
    }

    static push(item) {
        Laya.Pool.recover(item.poolKey, item);
    }
}