Файл разметки можно просто в папке с модом хранить, нафига чтобы передвинуть кнопку пересобирать клиент?
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Дядя Миша
Ну смысл в том чтобы разметку можно было менять не трогая компиляторы. Создавать эвенты в ней, а к эвентам уже обращаться через код или энтитии.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Здесь к слову идеальное сочетание механизма эвентов из моделей первой халфы с виртуальной машиной. Можно в этих эвентах писать прямо имя функции с аргументами, вместо загадочных номеров, каждый из которых необходимо поддерживать отдельно в коде.
Дядя Миша
Да по сути это теже объекты с их свойствами как ентитии внутри MAP файла. Это могут быть и теже жесоны, и XML и какие то собственные форматы которые могут хранить разметку. Но лучше конечно использовать что то уже существующее, чтобы тебе не приходилось писать свой редактор ещё и для создания UI, а просто сказал рандомному художнику - запили мне макет в фигме, и он тебе просто кидает файл, а ты загружаешь. Там внутри координаты, пути к картинкам и евенты да потипу как у моделей в халфе. Вообще сами эвенты удивительная вещь, их можно буквально как блюпринты использовать, если конечно у тебя компонентная система.
Кстати в Юнити поступили очень мудро в плане UI. Чтобы не ковыряться в блокнотике и не писать отдельный редактор, они сделали чтобы ты буквально элементы интерфейса мог расставлять прямо на сцене, просто в специальном отдельном объекте Canvas.
Но при этом ты его можешь сохранить в префаб и использовать вообще на любой сцене. Либо не удалять когда сцена меняется.
Цитата:
Дядя Миша писал: Можно в этих эвентах писать прямо имя функции с аргументами, вместо загадочных номеров, каждый из которых необходимо поддерживать отдельно в коде.
Кстати аниматор в Юнити так же на евентах построен. Там вся логика анимации, переходов, смешивания, анимационных слоёв внутри отдельного файла хранится. А из скрипта ты просто ему команды даёшь.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Я бы с удовольствием использовал сторонние форматы, если бы мне была близка по духу их идеология. Но я пока что вижу обратное - каждый соревнуется в создании самого отвратительного гавна.
Дядя Миша писал: Я бы с удовольствием использовал сторонние форматы, если бы мне была близка по духу их идеология. Но я пока что вижу обратное - каждый соревнуется в создании самого отвратительного гавна.
__________________ Иван Топорышкин пошел на охоту,
С ним пудель пошел, перепрыгнув забор,
Иван, как бревно провалился в болото,
А пудель в реке утонул, как топор.
Пока глобализация набирала темпы, это было действительно смешно и актуально. Но у нас на пороге стоит новая феодальная раздробленность, так что твоя картинка малость устарела.
FiEctro писал: Я так понимаю только через хардкод можно его прописать?
Само собой, это плата за максимально возможную функциональность. Из чего-то, что позволило бы при всей полноте фич избегать изменения исходников клиента, только веб-технологии. Но это перебор для подобных проектов конечно