Fuente
Щоденник Сеньйора🥫💻📚 | Cheat-панель для внутрішнього тестуванняЩоб швидше тестувати різні сце...
77 Vistas/Alcance
2025-10-07 15:36
Mensaje №313
🎮 Cheat-панель для внутрішнього тестування
Щоб швидше тестувати різні сценарії гри, я зробив власну систему чітів. Вона не просто вмикає «GodMode» чи «Debug Logs», а інтегрується напряму з GameSettings, використовуючи атрибути та рефлексію.
🧩 Як це працює архітектурно:Кожна властивість у GameSettings, яку можна змінювати через чіт-панель, позначається атрибутом [Cheat("defaultSettings._isGodModeEnabled")]. У цьому атрибуті я задаю path до приватного поля. CheatManager через рефлексію шукає це поле, навіть якщо воно вкладене в інші об’єкти (навіть кілька рівнів у глибину), і міняє його значення напряму. На UI є простий CheatViewController, який просто викликає CheatManager. TrySetCheatValue(type) і все — зміна одразу застосовується.
🧠 Це дозволяє мені дуже швидко тестувати ігрові механіки — змінювати параметри навіть без перезапуску сцени. Атрибути роблять систему розширюваною — можна просто додати [Cheat] над новою проперті, і вона одразу з’явиться в панелі. Такі тулзи економлять купу часу під час розробки. Особливо коли потрібно багато тестувати баланс, поведінку AI чи бойові стани 💪 #Project_RPG #unity #devlog #tutorial
Щоб швидше тестувати різні сценарії гри, я зробив власну систему чітів. Вона не просто вмикає «GodMode» чи «Debug Logs», а інтегрується напряму з GameSettings, використовуючи атрибути та рефлексію.
🧩 Як це працює архітектурно:Кожна властивість у GameSettings, яку можна змінювати через чіт-панель, позначається атрибутом [Cheat("defaultSettings._isGodModeEnabled")]. У цьому атрибуті я задаю path до приватного поля. CheatManager через рефлексію шукає це поле, навіть якщо воно вкладене в інші об’єкти (навіть кілька рівнів у глибину), і міняє його значення напряму. На UI є простий CheatViewController, який просто викликає CheatManager. TrySetCheatValue(type) і все — зміна одразу застосовується.
🧠 Це дозволяє мені дуже швидко тестувати ігрові механіки — змінювати параметри навіть без перезапуску сцени. Атрибути роблять систему розширюваною — можна просто додати [Cheat] над новою проперті, і вона одразу з’явиться в панелі. Такі тулзи економлять купу часу під час розробки. Особливо коли потрібно багато тестувати баланс, поведінку AI чи бойові стани 💪 #Project_RPG #unity #devlog #tutorial