TGViewer
Racing Heart inc. Racing Heart inc. @racingheartdev · 31 subscribers
Post #57 114
Racing Heart inc. Хочу показать, что получилось за сегодня 👇 Цвета теперь можно выбирать Сверстал базовый экран и добавил несколько вариантов. Цвет кузова и цвет дисков выбираются по отдельности - так удобнее и вариантов больше. Сначала хотел дать только готовые наборы,…
Задача простая: игрок меняет цвет кузова и дисков. Скажу сразу, я не какой то гуру SOLID, GRASP и тд и тп, но я не люблю излишний код, костыли и размазанные по всему проекту решения. Мне нравится когда все структурно и с заделом на будущее, при это должно стабильно работать. Потому хотелось сделать это не «в лоб через UI», а с запасом на расширение и будущий магазин.

В итоге получилось так
- CarData хранит только выбор игрока - какой цвет кузова и дисков выбран.
- CarColorData содержит ID цвета, цену и сам цвет.
- Конфиг (ScriptableObject) перечисляет все доступные цвета: id, материал, цена.
- ColorTypeEnum - для унификации цветов
- CarCustomizationService не знает ни о UI, ни о деньгах. Он имеет конфиг цветов и накладывает материалы на машину, загружает и сохраняет выбранные цвета.
- CarCustomizationPanel - слой UI, который отображает доступные цвета, обновляет UI и обрабытывает клики кнопок
- СarColorButton - UI управляет ее состоянием и хранит данные о цвете.
- PurchaseService занимается только покупкой цветов и списанием валюты.
- CarCustomizationHandler применяет конечный цвет на машину, реагирует на события изменения и появления машин.

Что это даёт:
логика не размазана по кнопкам
систему легко расширять новыми типами кастомизации
можно без боли добавлять магазин и превью цветов - которые я уже добавил
код остаётся чистым и не превращается в спагетти

Делитесь впечатлениями и советами в чате

#RacingHeartDev #Unity #Game #Drift
  • 👍 6
More from @racingheartdev
  1. Sep 22, 2026главное что все ок 👌🏼
  2. Aug 20, 2026Когда нибудь я сделаю такие гонки
  3. Aug 15, 2026Я постепенно приближаюсь к релизной версии игры. 🚀 За последнюю неделю мне удалось достич…
  4. Aug 13, 2026это точно гонки? 🙈
  5. Aug 9, 2026ХА-ХА. Яндекс модерация бьет рекорды, ждать две недели что бы получить отказ в локализации…
  6. Aug 8, 2026Пока большое обновление с дрифтом уже вторую неделю на проверке, я решил не терять времени…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →