Narzędzie · W rozwoju
Runtime Inspector
Konsola deweloperska działająca wewnątrz builda gry.
Wysuwana konsola deweloperska działająca w runtime, wewnątrz builda gry — dowolna metoda w kodzie staje się silnie typowaną, wywoływalną komendą (exec), bez pisania osobnego panelu do każdego testu. Inspector wspiera rekurencję.
Każde wywołanie zapisywane jest w logu — dokładnie widać, jaka komenda, z jakimi argumentami i z jakim wynikiem została wykonana, co ułatwia odtworzenie i zgłoszenie buga.
- Dwie oddzielne przestrzenie komend
/dla komend z gry (pełny autocomplete, zagnieżdżanie) i!dla komend narzędzia (list, help, select, undo, clear) — nigdy się nie mieszają w jednym dropdownie. - Reflection zamiast IL weavingu — świadomy wybórNapisałem też wariant z Mono.Cecil, ale zostałem przy reflection — to nie hot path, a jeden spójny system jest łatwiejszy w utrzymaniu. Metody debugowe chroni atrybut
[Preserve]przed strippingiem w IL2CPP. - Async i CoroutineMetody zwracające
IEnumerator/Taskuruchamiają się jako coroutine na osobnym runnerze, ze statusem „running…” widocznym na żywo w logu. - Undo/Redo i zagnieżdżone wywołaniaKomendy oznaczone jako Undoable trzymają stan przed/po — jedna komenda zamiast restartu sceny. Zagnieżdżone wywołania logują każdy krok osobno, więc widać dokładnie, jaka wartość trafiła do którego argumentu.
Status
W rozwoju
Zakres
Narzędzia deweloperskie
Zakres pracy
- Dwie oddzielne przestrzenie komend
- Reflection zamiast IL weavingu — świadomy wybór
- Async i Coroutine
- Undo/Redo i zagnieżdżone wywołania