искали другие вопросы, но не нашли, как это сделать в c #.Пробовал использовать функцию Map, но она недоступна в c #.
Я хочу использовать цикл for для ссылки на значения в объектах в классе StrainsManager:
public StrainsManager Ba2;
public StrainsManager Ba3;
public StrainsManager Ba4;
public StrainsManager Ba5;
public StrainsManager Ba6;
public StrainsManager Ba7;
public StrainsManager Ba8;
void Update()
{
for (int i = 2; i < 9; i++)
{
string strainString = "Ba" + i;
PlayerPrefs.SetFloat(strainString + "Cost", strainString.cost);
PlayerPrefs.SetFloat(strainString + "IPSAdd", strainString.IPSAdd);
PlayerPrefs.SetFloat(strainString + "Time", strainString.time);
PlayerPrefs.SetFloat(strainString + "CostMod", strainString.costMod);
PlayerPrefs.SetFloat(strainString + "InfectMod", strainString.infectMod);
}
}
Без цикла for Iпотребуется ввести 5 строк для каждого объекта:
void Update()
{
PlayerPrefs.SetFloat("Ba2Cost", Ba2.cost);
PlayerPrefs.SetFloat("Ba2IPSAdd", Ba2.IPSAdd);
PlayerPrefs.SetFloat("Ba2Time", Ba2.time);
PlayerPrefs.SetFloat("Ba2CostMod", Ba2.costMod);
PlayerPrefs.SetFloat("Ba2InfectMod", Ba2.infectMod);
}
Очевидно, что вторая часть в первом коде не работает (straString.cost), так как straString является строкой, а не объектом класса StrainsManager.Возможно ли указанное выше для цикла for или мне нужно сделать это вручную, набрав 35 строк для этих 7 объектов?