Почему всегда, когда заходит речь о загрузке ассетов, например через

Addressables, упорно игнорируется наличие слабой ссылки в виде AssetReference? Я даже видела проекты в продакшене, где используются Addressables, но грузится по имени/пути, что дает очень много попаболи 😃

9 ответов

18 просмотров

Допустим, есть презентер UI, который получает ссылку на представление в виде монобеха / GO. Презентер это ванильный класс. В него ты не положишь AssetReference, т.к. нет сериализации. В таком случае удобно иметь компонент и GO с одним именем и загружать представление напрямую из бандла через nameof.

Curious-Fox Автор вопроса
Alexander Pluzhnikov
Допустим, есть презентер UI, который получает ссыл...

Геймдизайнер будет ненавидеть вас за такое)

Curious-Fox Автор вопроса

При том, что заменить view не получится одним кликом, а надо лезть в код. В вашем примере я вижу как минимум несколько проблем: - неизменяемость view (имею в виду, что нельзя подставить другую реализацию) - изменение имени префаба ломает логику - изменение имени класса ломает логику

а как этот AssetReference задавать скажем в гугл таблице

Curious-Fox Автор вопроса
Drawing Dead
а как этот AssetReference задавать скажем в гугл т...

Всегда можно сопоставить читаемое имя в гугл таблице и guid, который хранится в AssetReference, это вопрос импорта/экспорта уже

Curious Fox
Всегда можно сопоставить читаемое имя в гугл табли...

ну тут либо правило сопоставления нужно либо еще одна таблица/словарь тогда

Curious Fox
Всегда можно сопоставить читаемое имя в гугл табли...

вот это не вижу как решает эту же проблему если честно

Curious Fox
При том, что заменить view не получится одним клик...

Каким образом гдшник может поменять представление через AssetReference, не залезая в код / префаб? Он должен выполнять задачу программиста? Тогда тут действительно организационный вопрос, а не архитектурный, по какой причине обязанности перекрываются. Далее едем. Замена контента в префабе, находящемся в бандле, при сохранении имени класса и префаба не сломает абсолютно ничего. Именно так и работает подмена представления, потому что интерфейс (речь про код, а не гуй) остается на месте. Если же логика нарушилась, значит программист не отделил должным образом модель и неправильно сделал презентер. Опять же, это не является проблемой загрузки через строку.

Похожие вопросы

Обсуждают сегодня

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Через бот апи возможно получить ID стикерпака? Не ссылку.
Vexylon [АФК до 09.09]
5
Привет Хочу сделать аналог iCloud’а для своих проектов, чтобы пользовательская информация хранилась в облаке, была доступна во всех сервисах, её можно было подсасывать везде)...
Виталий
9
В тг можно спарсить всех кто пишет в группе? Если список участников скрыт
S
3
код Event::listen('cms.page.display', function (&$content, $slug, $page, $html) { if (is_object($content)) { dump($content); } else { dump($s...
Point 111
3
Всем привет. Не понимаю, в чём тут шутка юмора. Убирается только разрешение на send_messages. А send_media_messages остаётся. Как сделать, чтобы оба убирались? await b...
Alexander
2
Карта сайта