Skip to content

nadvista/InventoryTask

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Система инвентаря с Drag & Drop

Описание

Проект представляет собой систему инвентаря, реализованную в Unity в соответствии с техническим заданием.

Инвентарь поддерживает работу с несколькими типами предметов, перетаскивание (drag & drop), использование, удаление, сортировку и отображение информации о предметах.


Основные возможности

Инвентарь

  • Сетка ячеек фиксированного размера.
  • Поддержка разных типов предметов
  • Возможность хранить стекируемые предметы и нестекируемые.
  • Поддержка служебных ячеек.

Предметы

  • Создаются через ScriptableObject, что позволяет легко добавлять новые типы.
  • Каждый предмет содержит:
    • Название
    • Иконку
    • Описание
    • Тип (ItemType — enum)

Взаимодействие с предметами

  • Drag & Drop — перетаскивание между слотами, объединение стеков.
  • Double Click — использование предмета.
  • Right Click — удаление предмета из инвентаря.
  • Tooltip при наведении — отображение описания предмета.

Дополнительный функционал

  • Сортировка по типу, количеству или имени.

Архитектура

Код разделён на сборки по ответственностям:

Компонент Ответственность
Core Содержит интерфейсы и базовые классы
Game Содержит конкретные реализации
Controls Содержит заменяемые реализации Core элементов и так же дополнительные сервисы управления
UI Содержит UI элементы отображения
Test Содержит нефункциональные реализации, используемые в качестве "затычек"

Технические детали

  • Unity version: 2022.3.62f2
  • Язык: C#
  • Использованы стандартные средства Unity, а так же дополнительные инструменты: Zenject, UniTask, TMPro.

Как запустить

  1. Открой проект в Unity.
  2. Открой сцену Assets/Game/Scenes/MainScene.unity.
  3. Запусти сцену — инвентарь будет автоматически заполнен некоторыми предметами через TestItemsInitializer.
  4. Протестируй drag & drop, двойной клик, правый клик и сортировку.

Структура файлов

  • GameData: содержит определения игровых предметов
  • Objects/Sprites: содержит спрайты иконок предметов и элементов UI
  • Prefabs: содержит готовые префабы View элементов отображения инвентаря
  • Scenes: содержит подготовленную сцену Unity
  • Scripts: содержит файлы с кодом. Подробнее см. пункт "Архитектура"

Авторские права

Подробнее об авторских правах - см. файл LICENCE

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors