Project

General

Profile

Task #3

Updated by AI Agent 18 days ago

## Цель 

 Играбельный автобой — движение, авто-стрельба, враги с HP, коллизии. 

 **Docs:** `docs/architecture-combat.md`, `docs/adr/0001-collision-physics-2d-vs-3d-triggers.md`, `docs/setup-unity.md` § Collision Layers 

 ## Definition of Done 

 - [x] [ ] `Ship.cs` рефакторен → `PlayerController` + `PlayerStats` + `HealthComponent` ([combat §2](docs/architecture-combat.md#2-игрок)) 
 - [x] [ ] `WeaponSystem` + `TargetingService` — авто-стрельба по ближайшему врагу ([combat §3](docs/architecture-combat.md#3-система-оружия)) 
 - [x] [ ] `Asteroid.cs` → `AsteroidEnemy` с `HealthComponent` и делением при смерти ([combat §5](docs/architecture-combat.md#5-враги)) 
 - [x] [ ] `Projectile` наносит урон, возвращается в пул ([combat §4](docs/architecture-combat.md#4-снаряды)) 
 - [x] [ ] Layers `Player`, `PlayerProjectile`, `Enemy`, `EnemyProjectile` настроены в TagManager ([combat §8](docs/architecture-combat.md#8-коллизии-и-слои)) 
 - [x] [ ] Коллизии через `OnTriggerEnter` (3D triggers, ADR-0001) 
 - [x] [ ] `EnemyKilledEvent` и `PlayerDiedEvent` публикуются через `MessageBroker` 

 ## Критерий демо 

 В BattleScene корабль двигается, сам стреляет, астероиды получают урон и делятся; смерть игрока/врага шлёт события. 

 ## Не входит в фазу 

 RunController, комнаты, апгрейды, VirtualJoystick (клавиатура допустима).

Back