Files
TheDeclineOfWarriors/docs/tasks/items/TASK-0008.md
T

110 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
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/Scripts/Player/SimplePlayerInputMover.cs
---
# 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 сущностями.