Здравствуйте. Допустим, у меня есть три фермы: первая выращивает две единицы пищи, вторая пять, а третья восемь. Я хочу сложить все эти значения и получить общее значение прироста пищи. Помогите, пожалуйста, как это сделать?

Для компонента фермы Farm, с параметром income.
Farm[] farms = FindObjectsOfType<Farm>();
int globalIncome = 0;
foreach(Farm farm in farms)
{
    globalIncome += farm.income;
}
`
ОЖИДАНИЕ РЕКЛАМЫ...
29
Выбери все объекты фермы и в цикле посчитай сумму
6
alexprey, возможно это звучит очень просто, но я не знаю как так сделать. Я попробовал использовать GameObject.Find(), но как я и думал, ничего не получилось.
29
Psinion, я конечно не уверен, что это правильное решение, но можно попробовать сделать 1 пустой объект родитель, в котором будут размещаться все объекты данного игрока. И потом например чтобы выбрать все фермы, ты просто делаешь
var resourceProductors = playerObjects.GetComponents<IResourceProduction>(true);
var totalCount = resourceProductors.Sum(x => x.GetResource(ResourceType.Food));
Как-то так, точно не могу сказать. Где IResourceProduction
enum ResourceType {
       Food,
       Stone,
       Wood,
       Metal
}
interface IResourceProduction {
     float GetResource(ResourceType resourceType);
}
26
Для компонента фермы Farm, с параметром income.
Farm[] farms = FindObjectsOfType<Farm>();
int globalIncome = 0;
foreach(Farm farm in farms)
{
    globalIncome += farm.income;
}
Принятый ответ
29
Psinion, советую почитать курс по базовому синтаксису C#
21
А я бы сделал статик переменную и при постройке разрушении менял бы.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.