Toolverse
Wszystkie skille

game-patterns

autor: JasonXuDeveloper

Wzorce gier bez alokacji pamięci dla C# 9+ z JEngine

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
Backend
Wyświetlenia
7

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ć

  1. Zainstaluj skill game-patterns z repozytorium JEngine jako wtyczkę Claude'a lub dodaj do swojego projektu C# 9+.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

Podobne skille