Как сделать инвентарь в Unity. Часть 2: Модель, математика

Sdílet
Vložit
  • čas přidán 28. 08. 2024

Komentáře • 29

  • @user-kr5mh2vd3v
    @user-kr5mh2vd3v Před 6 měsíci +6

    Хочу отдельное видео про конфиги, чтобы все было по красоте

  • @dem8683
    @dem8683 Před 5 měsíci +2

    Видос по изменеиню сайзинга +, если можно. Слишком много полезной инфы. Хотелось бы по максимуму проработать

  • @gamekill9419
    @gamekill9419 Před 3 měsíci +1

    Спасибо огромное как раз ищу небольной инвентарь для пет проекта

  • @justsimon_
    @justsimon_ Před 5 měsíci +2

    Отдельно интересующий вопрос касающийся мета даты у предметов инвентаря.
    Конкретно интересно, как сохранять данные модулей на оружие, если это пушка и подобное.
    Пример из майнкрафта - зачарования.
    Тоже хотелось бы увидеть на канале.

  • @StratoCatster
    @StratoCatster Před 6 měsíci

    Ох, когда я сам писал эту модель с нуля я думал, что упоролся)

  • @domiurk
    @domiurk Před 6 měsíci +2

    класне відео мені сподобалось, чекаю продовження з UI, о і таке питання, чи буде відео про те як ти це все грузиш через SO чи тому подібне

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci +1

      Будет видео о сохранении, могу приделать видео о конфигах. Не уверен, что конфиги прям к теме инвентаря приделаны будут, но сниму, да

  • @nepochat
    @nepochat Před 6 měsíci +1

    💥💥💥

  • @brainwashing5576
    @brainwashing5576 Před 5 měsíci +1

    Метод RemoveItems я бы переименовал в RemoveItem, потому что неявный аргумент amount = 1, может запутать читающего, он подумает что удаляются все предметы с этим названием. а явное указание amount поможет домыслить смысл метода.
    Пишу не ради критики, а ради комментария хорошему видео.

  • @maksymz6695
    @maksymz6695 Před 3 měsíci +1

    Почему переменные в начале класса с большой буквы, а в конструкторе с маленькой? Я все не могу понять синтаксис C#

    • @gamedevlavka
      @gamedevlavka  Před 3 měsíci

      Есть различные конвенции для нейминга всякого, обычно пользуются классикой от майкрософт:
      learn.microsoft.com/en-us/dotnet/csharp/fundamentals/coding-style/identifier-names

  • @ARTIFAYT
    @ARTIFAYT Před 6 měsíci +1

    0.0 🎉🎉🎉

  • @domiurk
    @domiurk Před 6 měsíci +1

    коли пишеш ctor то в Rider повинна бути штука ctorf і ctorp що роблять конструктор для полів і для властивостей відповідно

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci

      звучит круто, надо затестить

  • @alekseystepanov4108
    @alekseystepanov4108 Před 6 měsíci +3

    Добавте пожплуйста в модель сохранение\чтение (где, когда, в каком формате?)

    • @gamedevlavka
      @gamedevlavka  Před 6 měsíci +1

      Да, это тоже сделаем)

  • @konstantin9484
    @konstantin9484 Před 5 měsíci

    Почему в 19:03 важно работать с копией? Что если написать такой код?
    slot.ItemId = itemId;
    int maxCapacity = GetItemMaxCapacity(itemId);
    if (remainingAmount > maxCapacity)
    {
    slot.Amount = maxCapacity;
    remainingAmount -= maxCapacity;
    totalAmountAdded += maxCapacity;
    }
    else
    {
    slot.Amount = remainingAmount ;
    totalAmountAdded += remainingAmount ;
    remainingAmount = 0;
    return totalAmountAdded;
    }

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci

      Все так, видимо, сработала привычка "на всякий случай", или для лучшего понимания. Я вообще часто создаю дополнительные переменные с норм неймингом, чтобы повысить читаемость. В данном случае ты прав, совсем не обязательно выносить в переменную значение remainingAmount

    • @konstantin9484
      @konstantin9484 Před 5 měsíci

      @@gamedevlavka Спасибо за ответ, обязательно продолжу остальные части смотреть)

  • @user-yw2ub8mb5b
    @user-yw2ub8mb5b Před 5 měsíci

    А как сделать слоты только для определенной группы предметов? Например, слоты только для шлемов, или только для оружия

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci

      Звучит как слоты для экипировки. Про это речь?

    • @user-yw2ub8mb5b
      @user-yw2ub8mb5b Před 5 měsíci

      @@gamedevlavka да

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci +1

      @@user-yw2ub8mb5b это не часть механики инвентаря, это часть механики экипировка. То есть в окошке, что ты видишь, когда перекладываешь из инвентаря в экипировку - ты взаимодействуешь с двумя механиками. И слот экипировки в свою очередь может проверять тип предмета, как ему это нравится

    • @user-yw2ub8mb5b
      @user-yw2ub8mb5b Před 5 měsíci

      @@gamedevlavka понял, спасибо

  • @exregisterqq
    @exregisterqq Před 6 měsíci

    классная реализация, особенно понравился момент с возвращением результата в виде структуры)
    но есть вопрос на счет owner id. зачем его хранить внутри самой сущности инвентаря? ему ведь глобально пофиг чей инвентарь, у нас все равно принадлежность определяется и будет обрабатываться извне. айдишник, считай, в твоей архитектуре нужен чисто для возвращения результата добавления/удаления. и то он по моему там не нужен, как и amount, о котором ты говорил

    • @exregisterqq
      @exregisterqq Před 6 měsíci

      и еще не совсем понимаю смысла от хранения всех инвентарей в одном сервисе. нам ведь понадобится прослойка, связывающая модель и ui и как ты тогда ее планируешь припихнуть?

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci +1

      Насчёт ownerId, тут вопрос того, как будет храниться данные. Если в виде профиля, то внутри данных Owner не нужен, если инвентари отдельным списком - то внутри ownerId нужен. Полный профиль не всегда удобно хранить и не всегда это полезно для оптимизации

    • @gamedevlavka
      @gamedevlavka  Před 5 měsíci +1

      А прослойку в след видео будет