Unity Spain
Post Antiguos => General (Antiguo) => Mensaje iniciado por: Blancafort5 en Junio 17, 2015, 04:02:49 PM
Buenas!
He creado la clase "Unit" (Todas las unidades del juego seran Units) y estoy intentando que cuando una unidad entre en el trigger de otra compruebe por .tag si es enemigo, y si lo es que lo añada a una list de Units.
esto es lo que tengo hecho:
public class Unit : MonoBehaviour {
// (...)
void OnTriggerEnter (Unit other) {
if (other.tag != this.tag && !enemies.Contains(other)) {
enemies.Add (other);
}
}
Este es el error:
Script error: OnTriggerEnter
This message parameter has to be of type: Collider
The message will be ignored.
[/quote]
A ver si alguien me puede echar una mano!
Ontrrigerenter no puede ser de tipo Unit a de ser de tipo Collider
Ontrrigerenter no puede ser de tipo Unit a de ser de tipo Collider
[/quote]
Gracias no lo sabia!
lo he hecho como dices pero me da estos errores:
-Argument `#1' cannot convert `UnityEngine.Collider' expression to type `Unit'
-The best overloaded method match for `System.Collections.Generic.List<Unit>.Contains(Unit)' has some invalid arguments
[/quote]
Asi que supongo que la lista de enemigos no puede ser de "Units" no?
Buenas:
si nos basamos en que unit es un script a la hora de añadirlo seria algo como enemies.Add (other.gameObject.getComponent<Unit>()); aunque no te lo garantizo que lo e escrito de cabeza y puede haber algun error xD
Gracias shinokaze! esa era la solucion ^^