Veamos. No posteo mucho aquí, pero creo que en cuanto a desarrollo de videojuegos aquí hay bastante personal cualificado.
Estoy en mitad de un juego 2D con Unity. Es un "plataformas" (vamos a dejarlo ahí), para que os pongáis en situación. Pues bien, obviamente tengo enemigos, pero tengo de diferentes tipos. Tengo estos tipos:
-Caminantes: si los tocas te quitan vida.
-Shooters: disparan y si tocas o a ellos o el disparo te quitan vida.
-Voladores: si los tocas te quitan vida.
Bien. Obviamente lo más lógico para tratarlos es crear una clase Enemigo y que las demás hereden de ella (EnemigoVolador, EnemigoShooter, EnemigoCaminante). El problema es que al principio no me lo planteé así y ahora tengo un poco de cacao. Veamos. Todos los enemigos tienen una vida y un daño que ejercen. El comportamiento varía, pero esos 2 atributos siempre están. El caso es que tengo la detección del daño en el héroe. Al héroe le digo que si toca a algún enemigo, llame a la función getDamage que está en la clase base Enemigo para saber cuánta vida he de quitarle.
Y aquí viene mi pregunta: A la hora de añadirle el Script Enemigo, ¿he de meterle el base o el específico? Lo digo porque tanto el daño como la vida quería hacerlos variables públicas y si dichas variables están en la clase base Enemigo... no podré configurarlo desde el editor, ¿no?
Espero que se entienda el rollo que he soltado y me podáis ayudar
Más adelante ya pondré fotos y cosas del juego.