jobjectpool
JObjectPool thread-safe object pooling for Unity. Triggers on: object pool, GC optimization, reusable instances, bullet pool, enemy pool, effect pool, spawn pool, reduce garbage collection, memory optimization, pool prewarm, Rent Return pattern, lock-free pool
Installation
Pick a client and clone the repository into its skills directory.
Installation
About this skill
JObjectPool thread-safe object pooling for Unity. Triggers on: object pool, GC optimization, reusable instances, bullet pool, enemy pool, effect pool, spawn pool, reduce garbage collection, memory optimization, pool prewarm, Rent Return pattern, lock-free pool
How to use
Dodaj JObjectPool do projektu Unity — skopiuj plik umiejętności do folderu
.claude-plugin/skills/w swoim projekcie JEngine lub zaimportuj bezpośrednio do kodu.Utwórz nową instancję puli dla typu obiektu, który chcesz zarządzać. Na przykład dla pocisku:
var bulletPool = new JObjectPool<Bullet>(maxSize: 100);gdziemaxSizeokreśla maksymalną liczbę obiektów przechowywanych w puli.Opcjonalnie zdefiniuj akcję inicjalizacyjną wywoływaną przy wypożyczeniu obiektu — przekaż ją jako parametr
onRent. Na przykład:onRent: static bullet => bullet.Reset()przywróci stan pocisku do wartości domyślnych.Opcjonalnie zdefiniuj akcję czyszczenia wywoływaną przy zwrocie obiektu — przekaż ją jako parametr
onReturn. Dla listy:onReturn: static list => list.Clear()wyczyści zawartość przed ponownym użyciem.W pętli gry lub spawnerze pobierz obiekt z puli metodą
.Rent(), użyj go, a następnie zwróć go do puli metodą.Return(obj). Na przykład:var bullet = bulletPool.Rent(); /* użyj bullet */ bulletPool.Return(bullet);Opcjonalnie preallokuj obiekty na starcie gry metodą
.Prewarm(count), aby uniknąć tworzenia nowych instancji podczas rozgrywki — na przykład.Prewarm(50)przygotuje 50 pociników przed pierwszym użyciem.