UNPKG

@rpgjs/physic

Version:

A deterministic 2D top-down physics library for RPG, sandbox and MMO games

50 lines 1.21 kB
/** * Object pool for efficient memory management * * Reuses objects to avoid garbage collection during simulation. * * @example * ```typescript * const pool = new ObjectPool(() => new Vector2(), 10); * const vec = pool.acquire(); * // ... use vec ... * pool.release(vec); * ``` */ export declare class ObjectPool<T> { private createFn; private resetFn; private pool; private maxSize; /** * Creates a new object pool * * @param createFn - Function to create new objects * @param maxSize - Maximum pool size (default: 100) * @param resetFn - Optional function to reset objects before reuse */ constructor(createFn: () => T, maxSize?: number, resetFn?: (obj: T) => void); /** * Acquires an object from the pool * * @returns Object from pool or newly created */ acquire(): T; /** * Releases an object back to the pool * * @param obj - Object to release */ release(obj: T): void; /** * Clears the pool */ clear(): void; /** * Gets the current pool size * * @returns Number of objects in pool */ size(): number; } //# sourceMappingURL=pool.d.ts.map