--- id: TASK-0008 title: Реализовать сетевой инвентарь и экипировку summary: Сделать инвентарь персонажа с сетевой синхронизацией, слотами, стаками, переносом предметов и экипировкой. priority: Highest area: inventory owner: unassigned created: 2026-03-30 updated: 2026-03-30 execution_time: 1d depends_on: - TASK-0004 - TASK-0007 canonical_docs: - docs/tasks/Index.md related_files: - Assets/Features/VoxelWorld/Scenes/VoxelWorldTestScene.unity --- # TASK-0008 - Реализовать сетевой инвентарь и экипировку ## Status Статус задачи ведется в `docs/tasks/Index.md` и является каноническим там. Допустимые значения статуса: - `BackLog` - `ToDo` - `InProgress` - `Review` - `Done` ## Why Инвентарь является обязательным требованием MVP и базой для оружия, книг скиллов, лута и сохранения прогресса персонажа. ## Expected Outcome Персонаж имеет сетевой инвентарь и слоты экипировки, которые корректно сохраняются в player save и синхронизируются через сервер. ## Current Context Система предметов и инвентаря пока отсутствует. Требования по разделению player/world saves уже вынесены в `TASK-0004`. ## Source Of Truth - `docs/tasks/items/TASK-0004.md` - `docs/tasks/items/TASK-0007.md` - runtime inventory implementation ## Read First - `docs/tasks/items/TASK-0004.md` - `docs/tasks/items/TASK-0007.md` ## Scope In - inventory slots и item stacks - equip slots для оружия и связанных предметов - сетевые операции перемещения и использования предметов - сохранение inventory state в player save ## Scope Out - полный UI polish для inventory - торговля между игроками ## Constraints - сервер валидирует изменения инвентаря - инвентарь живет в player save, а не в world save ## If You Find Drift - если предметы начинают храниться только в runtime world session без связи с player save, это drift ## Suggested Approach 1. Определить item model и inventory slot model. 2. Добавить equip slots и сетевые команды изменения состояния. 3. Связать систему с persistence layer и будущими книгами/оружием. ## Acceptance Criteria - предметы можно положить в инвентарь, переместить и экипировать - состояние инвентаря сохраняется вместе с персонажем - сетевые операции не позволяют клиенту самовольно подменять server state ## Verification - ручная проверка equip/unequip и перетаскивания предметов - проверка сохранения и повторной загрузки player inventory ## Risks / Open Questions - потребуется рано выбрать, поддерживаются ли частичные стаки книг и расходников в MVP ## Human Decisions Needed - none currently ## Decision Log - `2026-03-30` - инвентарь зафиксирован как отдельная сетево-персистентная подсистема, а не только UI. ## Handoff Notes Оружие и книги должны входить в общий item model, а не жить отдельными ad-hoc сущностями.