Entonces, estoy empezando a introducir el ataque a nuestro RTS espacial 2D (esto está en Unity, por lo que es impulsado por componentes). Inicialmente era tan simple como "enemigo en rango, daño aplicado". Sin embargo, habrá múltiples "tipos" de armas / ataques asociados con su nave o estructura particular. Además de otros factores involucrados más allá del daño bruto, como el tipo de daño y posiblemente la inercia en el futuro.
¿Tendrían ustedes que cada unidad y tipo de estructura tienen su propio tipo de ataque? Lo que significa que crea un script para cada unidad / estructura que define su tipo de ataque, daño, efectos, rango, partículas, sprites ... etc. ¿Y lo adjunta como un componente?
O haga un guión que defina un tipo de ataque, un guión para el tipo de proyectil asociado con eso ... etc. Y luego extiéndalos y modifique los de cada unidad, adjuntando cada guión a la unidad / estructura.
Espero tener sentido, he estado reflexionando sobre esto durante tanto tiempo que no estoy seguro de si estoy resolviendo un problema, o simplemente resolviendo mis propios problemas y cavando en un agujero.
Cuando tienes un juego que puede tener una multitud de tipos de ataque que pueden estar limitados o no a una unidad / estructura específica, ¿cómo diseñas el marco que lo vincula a las unidades / estructuras específicas en un entorno de diseño basado en componentes? ?
Si esto no está lo suficientemente claro, hágamelo saber.
Editar: Grandes respuestas, gracias.
Pregunta ampliada:
Las respuestas parecen variar de "cada objeto puede tener su propio guión de ataque" a "Tener los tipos de ataque como sus propios guiones y asignarlos a cada objeto para una solución más reutilizable". Digamos que tengo un ataque "bláster", dispara un proyectil rojo a cierta velocidad. Su daño, velocidad de disparo y tamaño del proyectil dependen de la unidad que lo dispara. ¿Es mejor hacer un script de ataque para esa unidad, o intentar modificar un "ataque bláster" para que se ajuste al propósito de cada unidad que quiera usarlo?