Боюсь представить что было до этого, если вот это - просто. Но написание кода в реальном времени с комментариями очень помогает пониманию
@MrFreeToops9 ай бұрын
Вообще это здорово, что ты решил изменить форму обучения, порой очень сложно смотреть длинные ролики с динамикой динамикой
@виталиймерк-т5в9 ай бұрын
От простого к сложному, однозначно лайк)
@Evgenii_Saenko9 ай бұрын
Референс отличный, буду очень ждать всей серии роликов по инвентарю!
@justrain87308 ай бұрын
наконец-то кто-то делает нормальный видос по инвентарю. как раз с завода пришел, щас чаечек заварю будет круто, если покажешь как с инвентарем делается панель квик слотов и всякие хранилища
@gamedevlavka8 ай бұрын
Крик слоты это можно будет устроить, после
@RimuruDev9 ай бұрын
Like + Share не глядя. После рабочей смены обязательно наслажусь этим материалом♥
@Bedlamikus9 ай бұрын
Безмерно благодарен, конструктивное видео с полезной информацией сегодня редкость 👍
@andreiraketa63008 ай бұрын
Как всгда топовый контент по Unity
@xRoollyx8 ай бұрын
Отличное видео. Жду продолжения.
@GorMax1234568 ай бұрын
Спасибо, жду продолжение!
@LemuR4ek9 ай бұрын
Ой ну огнина же! как же ты хорош.
@Veles0178 ай бұрын
Очень ждем твой курс!😊
@мегахарош-т2ю8 ай бұрын
Ждем новый цикл по инвентарю, чтобы в каждом слоте хранилась реальная item, и у нее есть "прочность", кол-во патронов внутри, а ещё рюкзак внутри рюкзака внутри рюкзака
@StratoCatster8 ай бұрын
Люблю страшные и долгие ролики... Придётся привыкать к красивым и долгим)
@mrpaganinifeed26179 ай бұрын
Красавчик, всё предельно понятно
@ywi45489 ай бұрын
Ждем продолжение
@Veles0178 ай бұрын
Спасибо большое за труд!
@goldgold5948 ай бұрын
Очень жду вторую часть)❤
@MrFreeToops9 ай бұрын
О наконец новый видос, класс👍
@animeplanet48398 ай бұрын
Ждем Продолжение!!!!!!
@mixer95249 ай бұрын
Насчет сложности согласен, в некоторых ролика уследить за мыслью, любителю, очень сложно
@wsxpocxeafx5 ай бұрын
32:42 Интерфейс это не защита от злоумышленника, это защита от случайной ошибки программиста. Можно не только интерфейс привести к конкретному классу, можно в интерфейс дописать сеттер и вуаля, ты можешь писать туда, куда писать было нельзя. Но если хочется, чтобы приведение не работало, можно написать обертку над моделью, реализующий ReadOnly интерфейс, в обертку передавать в конструктор саму модель, тогда приведение уже работать не будет, но будет один дополнительный класс к каждому классу, который в твоём коде реализует интерфейс.
@nepochat9 ай бұрын
Лайк этому герою
@dem86838 ай бұрын
ролик про борьбу с читерами без "страшного кода" +
@АлександрПопов-ц3п7 ай бұрын
взаимодействие вьюшки и модели с помощью прослойки это что-то вроде MVVM паттерна, хорошая реализация! edit: но я думаю тут больше как MVP (model, view, presenter)
@brainwashing55768 ай бұрын
Спасибо. Старался примерно так же делать, но в вашем видео подчерпнул пару идей. Пока не понятно как решать некоторые проблемы, надеюсь они будут обсуждаться далее. Например, если это не инвентарь, а поле с клетками и юнитами на них, юнит - сложный объект и очень часто нужно получить данные клетки, имея данные юнита или наоборот. ну и вопрос о том какой класс должен иметь доступ для изменений, ведь игрок кликать должен и взаимодействовать с моделью.
@mr.flizzik27509 ай бұрын
❤
@happytablo9 ай бұрын
❤🔥
@boost_456Ай бұрын
Паттерн, на котором строится этот инвентарь, это какай-то самописный подвид MV семейства?
@happytablo9 ай бұрын
Видос топ, намного легче усваивается материал, отличное решение
@brainwashing55768 ай бұрын
Трудно найти такие видео как это, когда уже изучил уже язык, все инструменты и принципы архитектуры, но не получается нормально следовать этим принципам.
@AzDzelo8 ай бұрын
Спасибо, отличный урок! Вы выбрали двумерный массив для инвентаря, таким образом мы сильно связано представление, не лучше ли сделать одномерным массивом или списком, где будет только порядковый индекс?
@KerryBlackSun7 ай бұрын
Вроде как инвентарь как раз таки и есть список, а метод GetSlots() всего лишь копирует этот список в двумерный массив и вызывается он во View, т.к. на выходе во View мы хотим получить сетку. Если я не ошибаюсь, то можно было бы возвращать из метода и список, а во View уже делать с ним что угодно, в том числе и отображать в виде сетки. Вот как вообще понять подобные тонкости? Где лучше преобразовывать список в двумерный массив? В данном методе GetSlots() или всё таки в методе класса View, просто для вывода в виде сетки?
@alexandrkotov20945 ай бұрын
@@KerryBlackSun зависит от того, связана ли с этими клетками какая то механика. Если это просто для отрисовки - можно и во вью
@OlesaSherbakova8 ай бұрын
Подскажи плиз, что за ide используешь. VS чет не удобен мне 🥲
@gamedevlavka8 ай бұрын
Я юзаю Rider, лучше пока не встречал
@aleksey27938 ай бұрын
А если требуется прокачивать предмет? Ну например уровень у предмета есть, или предмет со вставками какими-то.
@gamedevlavka8 ай бұрын
Прокачка предметов это другая система, инвентарь работает со списком идентификатор, ему без разницы что там за предметы и какой у них функционал
@francheskodown8 ай бұрын
По сути, View не обязательно знать даже о ридонли инвентарных предметах, все что должен получать view, это даннве мостоящие из ади предмета его количества и процента прочности, при необходимости, все что нужно View, плюс он должен мочь ассоциировать айди предмета с UI спрайтом. Ну и там события, что бы прослойка которая представляет бизнес логику инвентаря в удобоваримом для View виде подписывалась на эти ивенты и уведомляла бизнес модель о вводе с ui, в таком случае, наше представление инвентаря в бизнес логике не зависит от того, как презентер интерпретирует его для UI, условно это даже может быть словарь с парой айдипредмета - его количество, или даже, если у нас предмет хранится в какой то базе данных, ключь айди и в значении пара, количество и ссылка на БД, откуда и будут подсасываться все данные о предмете.
@francheskodown8 ай бұрын
Такой подход позволяет не заострять внимание в бизнес логике, в каком конкретно порчдке выложены в UI предметы, или как разделены стаки, и как пользователь с ними хочет взаимодействовать. В идее такую систему можно спокойно применять и с ивнвенатрём где предмет занимает несколько клеток.
@Creeper718 ай бұрын
А почему int в айдишнике для извщ? Производительнее же должно быть. Или это чисто для понятности, т.к. обучающий проект?
@gamedevlavka8 ай бұрын
Производительнее. 1. Если у тебя не мультиплеер с кучей интеракций с инвентарь, то плюсы от производительности сходят на нет, а отладка страдает, вывести в лог удобрчитаемые данные сложнее. На моем опыте ид в виде int встречается только в высоконагруженных местах мультиплеера. 2. Да, обучающий, и по причине неудобного логирования, в том числе выбрана строка. А так, без разницы, когда будешь работать с инвентарь, поменяй все на int - будет работать оптимизированнее
@EvilYarik4 ай бұрын
Любой пограммист ожидает увидеть "id" в виде целочисленного типа и это общепринято. Другие типы идентификации постоянно используются и string в особенности, но их называют "key", а не "id". Дело не в производительности, просто string крайне гибкий, в него можно трансформировать всё с помощью ToString, например тот-же enum и этим может одновременно пользоваться и программист не прибегающий к строковым литералам и дизайнер, свободно действующий, как ему вздумается. Почему изврат? потому, что автор неграмотный.
@Survivor_Shelter8 ай бұрын
Когда вторая часть?
@gamedevlavka8 ай бұрын
Полагаю на следующей неделе будет
@NomadTheN4 ай бұрын
Это точно для джунов?😢
@EvilYarik4 ай бұрын
Нет, не для, а от джуна, который не понимает что и зачем он делает)😅
@АндрейПрокофьев-е7д4 ай бұрын
@@EvilYarik где можно посмотреть обучающие ролики от вас,сенсей,блин?