Instalacja
Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.
Instalacja
O skillu
Zbiór gotowych wzorców do tworzenia gier w C# 9+ bez generowania śmieci (zero-GC). Obejmuje systemy cooldownu, timery zdolności, efekty DoT, pule obiektów oraz wzorce spawnerów fal. Wykorzystuje JAction i JObjectPool do asynchronicznego wykonywania logiki bez alokacji pamięci. Idealne dla gier wymagających wysokiej wydajności i stabilnych framerate'ów.
Jak używać
Zainstaluj skill game-patterns z repozytorium JEngine jako wtyczkę Claude'a lub dodaj do swojego projektu C# 9+.
Utwórz klasy stanu (state classes) dla swoich systemów gry — na przykład AbilityState dla zdolności, DoTState dla efektów obrażeń w czasie, TimerState dla timerów. Każda klasa powinna być typem referencyjnym (sealed class) i zawierać metodę Reset() do ponownego użytku z puli obiektów.
Zainicjalizuj system zdolności lub timer, tworząc instancję klasy stanu z parametrami (np. Cooldown = 2f). Przechowuj tę instancję jako pole prywatne w swoim systemie.
Wywołaj asynchroniczną akcję za pomocą JAction.Create() i Delay(), przekazując czas cooldownu lub czasu trwania efektu. Zawsze używaj ExecuteAsync() zamiast bloków synchronicznych, aby uniknąć alokacji pamięci.
Pule obiekty stanu — zamiast tworzyć nowe instancje, pobieraj je z JObjectPool i resetuj poprzez metodę Reset(). Dzięki temu unikasz garbage collection'u nawet w długotrwałych grach.
Testuj wydajność profilerem — upewnij się, że Twoja gra nie generuje śmieci w głównej pętli gry (game loop) ani podczas spawnu wrogów, pocisków czy efektów.