@rpgjs/physic
Version:
A deterministic 2D top-down physics library for RPG, sandbox and MMO games
50 lines • 1.21 kB
TypeScript
/**
* 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