O sistema de Player gerencia toda a lógica relacionada ao personagem jogável, incluindo movimento, input e componentes relacionados.
Player/
├── Components/
│ ├── PlayerComponent.cs (Base Class)
│ ├── PlayerInputHandler.cs
│ ├── PlayerMovement.cs
│ └── readme.md (Documentação de componentes)
├── PlayerController.cs (Controlador Principal)
└── readme.md (Este arquivo)
Arquivo: PlayerController.cs
Classe principal que gerencia todos os componentes do jogador e coordena seu ciclo de vida.
- Inicializa todos os componentes do jogador
- Gerencia o ciclo de vida (Awake, Start, Update, etc.)
- Fornece referências centralizadas aos componentes
- Sincroniza todas as chamadas de método dos componentes
PlayerInputHandler- Captura de inputPlayerMovement- Movimento e física
public PlayerMovement PlayerMovement { get; }
public PlayerInputHandler PlayerInputHandler { get; }Awake() → InitializeComponent → AwakeComponent
↓
Start() → StartComponent
↓
Update() → UpdateComponent
↓
OnEnable() → OnEnableComponent
↓
OnDisable() → OnDisableComponent
↓
OnDestroy() → OnDestroyComponent
↓
OnDrawGizmos() → OnDrawGizmosComponent
PlayerController playerController = GetComponent<PlayerController>();
PlayerMovement movement = playerController.PlayerMovement;
PlayerInputHandler input = playerController.PlayerInputHandler;- Crie uma classe herdando de
PlayerComponent - Implemente os métodos necessários
- Adicione uma referência serializada no
PlayerController - Inclua no array
_playerComponentsno Awake
Veja o diagrama de classes da arquitetura:
Para documentação detalhada sobre cada componente, consulte Components/readme.md.
- PlayerInputHandler - Sistema de input do jogador
- PlayerMovement - Movimento, pulo e física
- O sistema usa padrão de Component Pattern para modularidade
- Comunicação entre componentes via Events/Delegates
- Todos os componentes são sincronizados através do
PlayerController - Usa o novo Input System do Unity para captura de input
