Подскажите как правильно строится система построения разных противников?
Отдельный массив с их данными должен быть, или в префабы данные прикреплять...
Объясните кто может или дайте ссылку на данный материал...
На данный момент у меня работает нечто похожее на TD, противник (во множественном числе) выходит, у него есть скорость и жизни, они отнимаются и удаляются при достижении нуля.
Вот так вот это выглядит
spoilerpublic class Enemy : MonoBehaviour{
public float speed = 1f;
public Transform waypoints;
private Transform waypoint;
private int waypointIndex = -1;
public float MaxLife = 100f;
private float life;
void Start(){
waypoints = GameObject.Find("WayPoints").transform;
NextWaypoint();
life = MaxLife;
}
void Update(){
Vector3 dir = waypoint.transform.position - transform.position;
dir.y = 0;
float _speed = Time.deltaTime * speed;
transform.Translate(dir.normalized * _speed);
if(dir.magnitude < _speed) NextWaypoint();
}
void NextWaypoint(){
++waypointIndex;
if(waypointIndex >= waypoints.childCount){
Object.Destroy(gameObject);
return;
}
waypoint = waypoints.GetChild(waypointIndex);
}
public void SetDamage(float value){
life -= value;
if(life <= 0) Destroy(gameObject);
}
}
public class Spawner : MonoBehaviour{
public GameObject spawnObject;
public float spawnTime = 3f;
private float timer =0;
void Update(){
timer -= Time.deltaTime;
if(timer <= 0 ){
Instantiate(spawnObject, transform.position, transform.rotation);
timer = spawnTime;
}
}
}
Как правильнее сделать так чтобы делались разные типы противников?