Как изменить публичную переменную в статичном методе? С#, Unity3D
Хочу создать делегат методов, где каждый метод отвечает за текущий уровень. Я новичок, возможно весь код неправильный.
public delegate void MyDelegate(); // Массив методов
MyDelegate[] metodsArray = new MyDelegate[] // Заполнение массива методов
{
Level1, Level2
};
public static int lvl = 0; // Текущий уровень
public Text buttonText1;
public Text buttonText2;
public Text buttonText3;
public Text buttonText4; // Переменные текста кнопок
void OnMouseDown()
{
lvl = lvl + 1; // Следующий уровень
metodsArray[lvl](); // Запуск следующего уровня
}
static void Level2()
{
buttonText1.text = "Новый текст"; // Сменить текст кнопки
}
Выдает ошибку: error CS0120: An object reference is required for the non-static field, method, or property Как я понял, это из за того что переменные buttonText не статичные, но если сделать их статичными, я не смогу положить в них объекты текста. Текст делаю через canvas в Unity.