Условная версия 0.2 стала ближе, но сделать за выходные всю основу не получилось
Тем не менее, я смог собрать систему, которая добавляет на стойку машину, считает ее габариты, делает правильный скейлинг и, исходя из этого, подбирает один из трех типов стоек
Чатгопота конечно дубина, порой утекает в какие-то пространные процессирования или начинает придумывать излишне заебистые структуры. Но в общем и целом движемся:
1) При запуске создается комната гаража с тремя пустыми стенами-ячейками, которые на себе также уже содержат базовый спрайт стойки с активными зонами, по клику на которую появляется окно добавления нового автомобиля.
2) В этом окне есть список из тринадцати параметров, которым можно вбить текстовое значение. Ниже есть выбор спрайтов трех проекций - спереди, сзади и сбоку (вид сбоку пока не работает в принципе, т.к. он затрагивает остальные системы, решил пока не переусложнять).
3) Это окно имеет под капотом систему, которая пытается корректно скалировать загружаемый спрайт так, чтобы он выглядел соотносимо с другими спрайтами. То есть, чтобы ширина одной машины визуально реально была видна в интерфейсе гаража. Это делает костыльная, полная условностей система. Мы грузим при добавлении машины параметры ширины, высоты и длины. Ширина берется за основу. В системе у нас масштаб равен такому соотношению - 1метр это 400рх. Система смотрит ширину, что мы ввели, например 2.5м и понимает, что спрайт отображаемый должен быть в ширину 1000рх. Он масштабирует спрайт машины перед добавлением в слот. Причем тут есть еще одна проверка - высота. Если мы делаем машину шире 2.5 метров (у нас слот в принципе не вмещает больше), то спрайт будет ограничен по 2.5 и пропорционально проскалирован.
Когда же решается вопрос с масштабом по ширине, система смотрит получившуюся высоту спрайта и сравнивает с высотой ячейки. Ячейки есть трех видов - 2.5, 3 и 1.8 метров. Система смотрит, пытается соотнести и подобрать нужный спрайт и проверяет, влезают ли в его ячейки машины, которые уже в этой стойке есть. По сути, это все хуйня просто ради хуйни и небольшой наглядности, чтобы потом на стойке порш 911 тарга был меньше визуально, чем додж рам.
4) При повторном клике на машину открывается копия окна добавления, его я буду переделывать в инфо окно. Пока можно заметить, что я физически снес кнопки загрузки спрайтов, а в поле, которое не было заполнено, отображается (None).
В общем, в планах закончить систему вывода инфо окна, редактирования карточки машины и всякие квалитилайф штуки по типу той, чтобы удаление стены не удаляло стену с машиной в ней, а удаляло только пустые. Наверное вычищу это все и займусь графикой. Замоделю, отрендерю и перезапеку спрайты. Но это уже будет условный 0.3, наверное.