---
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 сущностями.
