Я бы посоветовал вам создать UIManager
или что-то в этом роде, которое обрабатывает все функции, связанные с пользовательским интерфейсом. Затем в сценарии UIManager
вы можете иметь что-то вроде этого:
public string level;//This would store the name of the level that was clicked on
//Create functions to assign the name when the button is clicked on
public void Level1() //This function would be assigned to level 1 button
{
level = "Level1";
}
public void Level2() //This function would be assigned to level 2 button
{
level = "Level2";
}
Вы можете создать столько функций для вашего уровня, сколько потребуется. Затем для кнопки воспроизведения у вас может быть следующая функция:
public void PlayGame()
{
switch(level)
{
case "Level1":
SceneManager.LoadScene(//Input the scene for level 1 here);
break:
//You can then create cases for the other levels too.
default:
break;
}
}
После этого вы назначаете свой сценарий каждой кнопке в инспекторе под компонентом кнопки кнопки в разделе OnClick()
. Отсюда вы можете назначить каждую функцию соответствующим кнопкам. Кроме того, убедитесь, что для функций установлено значение publi c, чтобы вы могли видеть их в инспекторе.
Для выделения кнопки при нажатии, вы также можете изменить это в инспектор по скрипту Button
. Оттуда вы можете установить стиль перехода на изменение цвета, анимацию или замену спрайта.