Как сделать инвентарь в Unity. Часть 1: Модель, абстракция

  Рет қаралды 7,543

Лавка Разработчика

Лавка Разработчика

Күн бұрын

Пікірлер: 52
@qiweivaneevmaksim9074
@qiweivaneevmaksim9074 5 ай бұрын
Боюсь представить что было до этого, если вот это - просто. Но написание кода в реальном времени с комментариями очень помогает пониманию
@MrFreeToops
@MrFreeToops 9 ай бұрын
Вообще это здорово, что ты решил изменить форму обучения, порой очень сложно смотреть длинные ролики с динамикой динамикой
@виталиймерк-т5в
@виталиймерк-т5в 9 ай бұрын
От простого к сложному, однозначно лайк)
@Evgenii_Saenko
@Evgenii_Saenko 9 ай бұрын
Референс отличный, буду очень ждать всей серии роликов по инвентарю!
@justrain8730
@justrain8730 8 ай бұрын
наконец-то кто-то делает нормальный видос по инвентарю. как раз с завода пришел, щас чаечек заварю будет круто, если покажешь как с инвентарем делается панель квик слотов и всякие хранилища
@gamedevlavka
@gamedevlavka 8 ай бұрын
Крик слоты это можно будет устроить, после
@RimuruDev
@RimuruDev 9 ай бұрын
Like + Share не глядя. После рабочей смены обязательно наслажусь этим материалом♥
@Bedlamikus
@Bedlamikus 9 ай бұрын
Безмерно благодарен, конструктивное видео с полезной информацией сегодня редкость 👍
@andreiraketa6300
@andreiraketa6300 8 ай бұрын
Как всгда топовый контент по Unity
@xRoollyx
@xRoollyx 8 ай бұрын
Отличное видео. Жду продолжения.
@GorMax123456
@GorMax123456 8 ай бұрын
Спасибо, жду продолжение!
@LemuR4ek
@LemuR4ek 9 ай бұрын
Ой ну огнина же! как же ты хорош.
@Veles017
@Veles017 8 ай бұрын
Очень ждем твой курс!😊
@мегахарош-т2ю
@мегахарош-т2ю 8 ай бұрын
Ждем новый цикл по инвентарю, чтобы в каждом слоте хранилась реальная item, и у нее есть "прочность", кол-во патронов внутри, а ещё рюкзак внутри рюкзака внутри рюкзака
@StratoCatster
@StratoCatster 8 ай бұрын
Люблю страшные и долгие ролики... Придётся привыкать к красивым и долгим)
@mrpaganinifeed2617
@mrpaganinifeed2617 9 ай бұрын
Красавчик, всё предельно понятно
@ywi4548
@ywi4548 9 ай бұрын
Ждем продолжение
@Veles017
@Veles017 8 ай бұрын
Спасибо большое за труд!
@goldgold594
@goldgold594 8 ай бұрын
Очень жду вторую часть)❤
@MrFreeToops
@MrFreeToops 9 ай бұрын
О наконец новый видос, класс👍
@animeplanet4839
@animeplanet4839 8 ай бұрын
Ждем Продолжение!!!!!!
@mixer9524
@mixer9524 9 ай бұрын
Насчет сложности согласен, в некоторых ролика уследить за мыслью, любителю, очень сложно
@wsxpocxeafx
@wsxpocxeafx 5 ай бұрын
32:42 Интерфейс это не защита от злоумышленника, это защита от случайной ошибки программиста. Можно не только интерфейс привести к конкретному классу, можно в интерфейс дописать сеттер и вуаля, ты можешь писать туда, куда писать было нельзя. Но если хочется, чтобы приведение не работало, можно написать обертку над моделью, реализующий ReadOnly интерфейс, в обертку передавать в конструктор саму модель, тогда приведение уже работать не будет, но будет один дополнительный класс к каждому классу, который в твоём коде реализует интерфейс.
@nepochat
@nepochat 9 ай бұрын
Лайк этому герою
@dem8683
@dem8683 8 ай бұрын
ролик про борьбу с читерами без "страшного кода" +
@АлександрПопов-ц3п
@АлександрПопов-ц3п 7 ай бұрын
взаимодействие вьюшки и модели с помощью прослойки это что-то вроде MVVM паттерна, хорошая реализация! edit: но я думаю тут больше как MVP (model, view, presenter)
@brainwashing5576
@brainwashing5576 8 ай бұрын
Спасибо. Старался примерно так же делать, но в вашем видео подчерпнул пару идей. Пока не понятно как решать некоторые проблемы, надеюсь они будут обсуждаться далее. Например, если это не инвентарь, а поле с клетками и юнитами на них, юнит - сложный объект и очень часто нужно получить данные клетки, имея данные юнита или наоборот. ну и вопрос о том какой класс должен иметь доступ для изменений, ведь игрок кликать должен и взаимодействовать с моделью.
@mr.flizzik2750
@mr.flizzik2750 9 ай бұрын
@happytablo
@happytablo 9 ай бұрын
❤‍🔥
@boost_456
@boost_456 Ай бұрын
Паттерн, на котором строится этот инвентарь, это какай-то самописный подвид MV семейства?
@happytablo
@happytablo 9 ай бұрын
Видос топ, намного легче усваивается материал, отличное решение
@brainwashing5576
@brainwashing5576 8 ай бұрын
Трудно найти такие видео как это, когда уже изучил уже язык, все инструменты и принципы архитектуры, но не получается нормально следовать этим принципам.
@AzDzelo
@AzDzelo 8 ай бұрын
Спасибо, отличный урок! Вы выбрали двумерный массив для инвентаря, таким образом мы сильно связано представление, не лучше ли сделать одномерным массивом или списком, где будет только порядковый индекс?
@KerryBlackSun
@KerryBlackSun 7 ай бұрын
Вроде как инвентарь как раз таки и есть список, а метод GetSlots() всего лишь копирует этот список в двумерный массив и вызывается он во View, т.к. на выходе во View мы хотим получить сетку. Если я не ошибаюсь, то можно было бы возвращать из метода и список, а во View уже делать с ним что угодно, в том числе и отображать в виде сетки. Вот как вообще понять подобные тонкости? Где лучше преобразовывать список в двумерный массив? В данном методе GetSlots() или всё таки в методе класса View, просто для вывода в виде сетки?
@alexandrkotov2094
@alexandrkotov2094 5 ай бұрын
​@@KerryBlackSun зависит от того, связана ли с этими клетками какая то механика. Если это просто для отрисовки - можно и во вью
@OlesaSherbakova
@OlesaSherbakova 8 ай бұрын
Подскажи плиз, что за ide используешь. VS чет не удобен мне 🥲
@gamedevlavka
@gamedevlavka 8 ай бұрын
Я юзаю Rider, лучше пока не встречал
@aleksey2793
@aleksey2793 8 ай бұрын
А если требуется прокачивать предмет? Ну например уровень у предмета есть, или предмет со вставками какими-то.
@gamedevlavka
@gamedevlavka 8 ай бұрын
Прокачка предметов это другая система, инвентарь работает со списком идентификатор, ему без разницы что там за предметы и какой у них функционал
@francheskodown
@francheskodown 8 ай бұрын
По сути, View не обязательно знать даже о ридонли инвентарных предметах, все что должен получать view, это даннве мостоящие из ади предмета его количества и процента прочности, при необходимости, все что нужно View, плюс он должен мочь ассоциировать айди предмета с UI спрайтом. Ну и там события, что бы прослойка которая представляет бизнес логику инвентаря в удобоваримом для View виде подписывалась на эти ивенты и уведомляла бизнес модель о вводе с ui, в таком случае, наше представление инвентаря в бизнес логике не зависит от того, как презентер интерпретирует его для UI, условно это даже может быть словарь с парой айдипредмета - его количество, или даже, если у нас предмет хранится в какой то базе данных, ключь айди и в значении пара, количество и ссылка на БД, откуда и будут подсасываться все данные о предмете.
@francheskodown
@francheskodown 8 ай бұрын
Такой подход позволяет не заострять внимание в бизнес логике, в каком конкретно порчдке выложены в UI предметы, или как разделены стаки, и как пользователь с ними хочет взаимодействовать. В идее такую систему можно спокойно применять и с ивнвенатрём где предмет занимает несколько клеток.
@Creeper71
@Creeper71 8 ай бұрын
А почему int в айдишнике для извщ? Производительнее же должно быть. Или это чисто для понятности, т.к. обучающий проект?
@gamedevlavka
@gamedevlavka 8 ай бұрын
Производительнее. 1. Если у тебя не мультиплеер с кучей интеракций с инвентарь, то плюсы от производительности сходят на нет, а отладка страдает, вывести в лог удобрчитаемые данные сложнее. На моем опыте ид в виде int встречается только в высоконагруженных местах мультиплеера. 2. Да, обучающий, и по причине неудобного логирования, в том числе выбрана строка. А так, без разницы, когда будешь работать с инвентарь, поменяй все на int - будет работать оптимизированнее
@EvilYarik
@EvilYarik 4 ай бұрын
Любой пограммист ожидает увидеть "id" в виде целочисленного типа и это общепринято. Другие типы идентификации постоянно используются и string в особенности, но их называют "key", а не "id". Дело не в производительности, просто string крайне гибкий, в него можно трансформировать всё с помощью ToString, например тот-же enum и этим может одновременно пользоваться и программист не прибегающий к строковым литералам и дизайнер, свободно действующий, как ему вздумается. Почему изврат? потому, что автор неграмотный.
@Survivor_Shelter
@Survivor_Shelter 8 ай бұрын
Когда вторая часть?
@gamedevlavka
@gamedevlavka 8 ай бұрын
Полагаю на следующей неделе будет
@NomadTheN
@NomadTheN 4 ай бұрын
Это точно для джунов?😢
@EvilYarik
@EvilYarik 4 ай бұрын
Нет, не для, а от джуна, который не понимает что и зачем он делает)😅
@АндрейПрокофьев-е7д
@АндрейПрокофьев-е7д 4 ай бұрын
@@EvilYarik где можно посмотреть обучающие ролики от вас,сенсей,блин?
@def6141
@def6141 8 ай бұрын
eeeeee😀
@gangstaproger7478
@gangstaproger7478 5 ай бұрын
ппц каша
@EvilYarik
@EvilYarik 4 ай бұрын
... в голове автора
Как сделать инвентарь в Unity. Часть 2: Модель, математика
37:14
PIZZA or CHICKEN // Left or Right Challenge
00:18
Hungry FAM
Рет қаралды 14 МЛН
PRANK😂 rate Mark’s kick 1-10 🤕
00:14
Diana Belitskay
Рет қаралды 7 МЛН
Friends make memories together part 2  | Trà Đặng #short #bestfriend #bff #tiktok
00:18
World’s strongest WOMAN vs regular GIRLS
00:56
A4
Рет қаралды 31 МЛН
Как сделать бафы, дебафы, статусы или эффекты в Unity
21:46
Лавка Разработчика
Рет қаралды 8 М.
ScriptableObject в Unity на примере информации о сундуках
10:05
Лавка Разработчика
Рет қаралды 20 М.
Подробный урок по Entity Component System в Unity
15:27
Insane One - Разработка игр
Рет қаралды 44 М.
PIZZA or CHICKEN // Left or Right Challenge
00:18
Hungry FAM
Рет қаралды 14 МЛН