Вхід Реєстрація
Реклама
Ваше рекламне місце
Забронюйте цей слот без конкуренції на обраний період.
Купити рекламу →
Логотип телеграм спільноти - Щоденник Сеньйора🥫💻📚
Додано 06 гру 2025 🌐 UK

Щоденник Сеньйора🥫💻📚

@seniorDiary
Кількість підписників: 53
Фото: 41
Відео: 14
Посилання: 147
Опис:
Живий девлог моєї власної Action RPG. Показую весь процес: код, механіки, арт і всі виклики на шляху створення гри. Без прикрас, лише розробка. І звісно море мотивації! https://hardcodeforge.carrd.co - всі посилання. @LytovchenkoV - автор каналу.
Джерело

Щоденник Сеньйора🥫💻📚 | ️ Сервіс для швидкого доступу до компонентів ПлеєраУ мене завжди була ...

Логотип телеграм спільноти - Щоденник Сеньйора🥫💻📚 Щоденник Сеньйора🥫💻📚 @seniorDiary
66 Охват/переглядів 2025-09-23 09:02 Повідомлення №304
⚡️ Сервіс для швидкого доступу до компонентів Плеєра

У мене завжди була одна й та сама проблема: треба отримати доступ до Плеєра → роблю GetComponent() → повторюю це ще й ще раз у різних місцях коду. Виглядало це не дуже і явно було місце для оптимізації.Я пройшов кілька ітерацій:
1-а ітерація:

Зробив простий клас, який на Awake шукав Плеєра в сцені й віддавав його екземпляр через сінглтон. Це вже було зручніше, але все одно відчувався костиль. 2-а ітерація:

Зрозумів, що в такій реалізації можливі race condition-и. Тому:- підняв ініціалізацію цього сервісу вище в ScriptExecutionOrder;- додав реєстрацію в сейв-систему. Тобто, коли сейв-система завантажила Плеєра і він готовий — я його реєструю в сервіс. Це вже стало стабільніше. 3-я ітерація:

Подумав: "Ок, я оптимізував доступ до Плеєра як об’єкта, але ж усім потрібні його компоненти, а не сам GameObject."Тому зробив наступне: після того, як Плеєр реєструється в сервісі, я через рефлексію проходжу по всіх його компонентах і додаю їх у словник. Тепер будь-який код, якому потрібен компонент Плеєра, може просто вказати тип і одразу отримати його. Без пошуків, без дубляжів коду — все супер швидко і централізовано.
Звісно, там є ще купа дрібних механізмів для безпеки та обробки винятків, але загалом підхід себе виправдав на всі 💯.#Project_RPG #unity #devlog #tutorial #code