Quindi, sto iniziando a introdurre l'attacco al nostro spazio RTS 2D (questo è in Unity, quindi è guidato dai componenti). Inizialmente era semplice come "nemico nel raggio d'azione, danno applicato". Tuttavia, ci saranno più "tipi" di armi / attacchi associati alla loro nave o struttura particolare. Oltre ad altri fattori coinvolti oltre il danno grezzo come il tipo di danno, e possibilmente l'inerzia in futuro.
Ragazzi, ogni unità e ogni tipo di struttura ha il proprio tipo di attacco. Significa che crei uno script per ogni unità / struttura che definisce il tipo di attacco, il danno, gli effetti, il raggio, le particelle, gli sprite ... ecc. E lo colleghi come componente?
Oppure crea uno script che definisce un tipo di attacco, uno script per il tipo di proiettile associato a quello ... ecc. E poi estendi quelli e modifica quelli per ogni unità, allegando ogni script all'unità / struttura.
Spero di avere un senso, ci sto riflettendo da così tanto tempo, non sono sicuro di risolvere un problema, o semplicemente di risolvere i miei problemi e scavare me stesso in un buco.
Quando si dispone di un gioco che può avere una moltitudine di tipi di attacco che possono o meno essere limitati a una specifica unità / struttura, come si progetta il framework che lo ha legato insieme alle unità / strutture specifiche in un ambiente di progettazione guidato da componenti ?
Se questo non è abbastanza chiaro fammelo sapere.
Modifica: grandi risposte, grazie.
Domanda estesa:
Le risposte sembrano variare da "ogni oggetto può avere il proprio script di attacco" a "Avere i tipi di attacco come propri script e assegnarlo a ciascun oggetto per una soluzione più riutilizzabile". Diciamo che ho un attacco "blaster", spara un proiettile rosso a una certa velocità. Il danno, la velocità di fuoco e le dimensioni del proiettile dipendono dall'unità che lo ha sparato. È meglio creare uno script di attacco per quell'unità o provare a modificare un "attacco blaster" per adattarlo allo scopo di ogni unità che vuole usarlo?