im in the middle of Tower Defense - стиль, развивающийся в Unity с использованием C#. Итак, у меня есть абстрактный класс для башен, у которых есть int для диапазона, скорость стрельбы и т. Д. А потом у меня есть несколько дочерних классов для разных типов башен. Я сомневаюсь, что у меня есть атрибут типа GameObject в классе башни, который содержит сам объект игры Tower (для нереста снаряда, если нужно, переместите башню) или с классом с атрибутами, а затем с контроллером, который управляет атрибуты класса башни, а также контролирует сам игровой объект (когда нужно его перемещать, устанавливать активно или нет и т. д.).GameObject в классе? Unity3D
Хотелось бы, чтобы я поняла! Спасибо!
EDIT
Я не уверен, что вариант которым будет лучше.
Вариант 1:
public abstract class Tower{
private int health;
...
private GameObject object;
public HealthDown(){
if(health >1){ health -= 1;}
else { object.SetActive(false);}
}
}
Вариант 2:
public abstract class Tower{
private int health;
...
public HealthDown(){
if(health >1){ health -= 1;}
}
}
А потом сценарий, который контролирующая башни:
public class Controller : MonoBehaviour {
Tower tower;
...
void Update(){
if(tower.health <= 1){this.gameObject.SetActive(false);}
}
}
Я хочу, чтобы это было более ясно!
Спасибо!
Как 'object' разных из 'gameObject'? – Droppy
объект такой же, как gameObject. В первом варианте я получаю объект от конструктора класса Tower. Во втором варианте я получаю gameObject из скрипта, который будет прикреплен к самому gameObjectу –