Здравствуйте. Допустим, у меня есть три фермы: первая выращивает две единицы пищи, вторая пять, а третья восемь. Я хочу сложить все эти значения и получить общее значение прироста пищи. Помогите, пожалуйста, как это сделать?
Ответ
Для компонента фермы Farm, с параметром income.
Farm[] farms = FindObjectsOfType<Farm>();
int globalIncome = 0;
foreach(Farm farm in farms)
{
globalIncome += farm.income;
}Смотрите также:
Комментарии
Выбери все объекты фермы и в цикле посчитай сумму
alexprey, возможно это звучит очень просто, но я не знаю как так сделать. Я попробовал использовать GameObject.Find(), но как я и думал, ничего не получилось.
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);
}Для компонента фермы Farm, с параметром income.
Farm[] farms = FindObjectsOfType<Farm>();
int globalIncome = 0;
foreach(Farm farm in farms)
{
globalIncome += farm.income;
}А я бы сделал статик переменную и при постройке разрушении менял бы.
Возможность добавлять комментарии была ограничена


<a href= http://mosros.flybb.ru/viewtopic.php?f=2&t=635>Процесс получения диплома стоматолога: реально ли это сделать быстро?</a>