Scripts utilizzati
Boss
- BossAIMovement.cs: questo script controlla il comportamento di movimento, attacco e animazione del boss. Segue il giocatore, passa alla modalità di attacco quando è vicino e spara una sfera. Ci sono due fasi per il boss, con diverse distanze di allerta e attacco. Ci sono anche animazioni e effetti speciali associati al boss come ad esempio il Blood Splatter oppure l’animazione presente nella prima fase con il bastone.
- BossHealth.cs: Gestisce la salute e il livello del boss. Con questo script il boss può subire danni e passare a una fase successiva quando la sua salute scende a zero. Viene attivata un'animazione di potenziamento durante la transizione di fase. Quando la salute del boss raggiunge zero, esso muore.
- Weapons.cs: definisce il comportamento dell’arma, come il danno inflitto al player.
Gestione dell’attacco:
- AxeManager.cs: Questo script gestisce le proprietà del bastone del boss. Vengono definiti tempo di fuoco, la velocità e il danno della sfera.
- FireBall.cs: Lo script gestisce il movimento e le collissioni del proiettile di fuoco. Il proiettile si muove verso il player e infligge danni al personaggio.
Player
Si divide in quattro sottocartelle:
ActionState
- ActionBaseState.cs: è una classe astratta per gli stati di azione del giocatore
- ActionStateManager.cs: E’ lo script principale per gestire le azioni del giocatore. Si compone di: "WeaponManager" per gestire le armi del giocatore, un oggetto "WeaponAmmo" per gestire le munizioni, un oggetto "Animator" per l'animazione e metodi per gestire operazioni come il ricaricamento, il cambio arma e il rilascio di un'arma.
- DefaultState.cs: Lo script rapresenta lo stato di default del giocatore, eredita da ActionBaseState. Viene gestita la condizione per la ricarica delle munizioni.
- ReloadState.cs: questa classe gestisce il processo di ricarica dell’arma
- SwitchWeaponState.cs: gestisce lo switch delle armi, che verrà poi richiamato e implementato in ActionStateManager
AimStates
- AimBaseState.cs: classe astratta per gestire lo stato di mira
- AimState.cs: questo script gestisce lo stato di mira, verificando se il l’utente stia premendo il tasto della mira, andando quindi ad aggiornare il focus tramite UpdateState()
- AimStateManager.cs: gestisce il processo di mira di un personaggio nel gioco. Gestisce l'input del mouse, la transizione del campo visivo, la posizione di mira e il cambio di stato durante la mira. Contiene variabili per tenere traccia dello stato corrente, la sensibilità del mouse, la telecamera virtuale, l'animatore e altre impostazioni correlate alla mira.