sparkle-engine

Class ObjectPool<T>

一个基本的对象池,对象池用于重复利用某些频繁删除或创建的对象 来减少创建创建所造成的开销,每个对象池的对象都必须是IPoolable 也就是说必须实现poolReset方法,这将会在拉取旧的对象时被调用

Example

class MyType {
constructor(coin){
coin = coin ?? 0
}
poolReset(coin){
coin = coin ?? 0
}
}
let pool = new ObjectPool(MyType)
pool.push(obj)
pool.pull(arg)

Type Parameters

Constructors

Properties

Methods

Constructors

Properties

factory: Constructor<T>
maxObject: number = 1024

对象池中最大对象数量

objects: T[] = []

Methods

  • 拉取一个对象

    Parameters

    • Rest ...arg: Parameters<T["poolReset"]>

    Returns T

    Example

    let pool = new ObjectPool(MyType)
    pool.pull(...arg)
  • 回收一个对象

    Parameters

    • obj: T

    Returns void

    Example

    let pool = new ObjectPool(MyType)
    pool.push(obj)