You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.5 KiB
55 lines
1.5 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Global;
|
|
using UnityEngine;
|
|
using UnityEngine.SceneManagement;
|
|
using UnityEngine.Serialization;
|
|
using UnityEngine.UIElements;
|
|
|
|
namespace Menu {
|
|
public class RoomUI {
|
|
public VisualElement Root { get; set; }
|
|
|
|
private DropdownField difficultyField;
|
|
|
|
public void Show() {
|
|
difficultyField = Root.Q<DropdownField>("Difficulty");
|
|
|
|
difficultyField.choices = Enum.GetNames(typeof(Difficulty)).ToList();
|
|
difficultyField.RegisterValueChangedCallback(evt => RoomSettings.AIDifficulty = Enum.Parse<Difficulty>(evt.newValue));
|
|
difficultyField.index = 2;
|
|
|
|
SliderInt slider = Root.Q<SliderInt>("CustomWinScore");
|
|
slider.style.visibility = Visibility.Hidden;
|
|
slider.RegisterValueChangedCallback(evt => {
|
|
RoomSettings.CustomWinScore = evt.newValue;
|
|
slider.Q<Label>().text = evt.newValue.ToString();
|
|
});
|
|
slider.value = 20;
|
|
|
|
Toggle toggle = Root.Q<Toggle>("WinScore");
|
|
toggle.RegisterValueChangedCallback(evt => {
|
|
slider.style.visibility = evt.newValue ? Visibility.Visible : Visibility.Hidden;
|
|
RoomSettings.WinScore = evt.newValue ? WinScore.Custom : WinScore.Default;
|
|
});
|
|
toggle.value = false;
|
|
|
|
Button startButton = Root.Q<Button>("Start");
|
|
startButton.clicked += () => {
|
|
SceneManager.LoadScene("Game");
|
|
};
|
|
|
|
Root.style.display = DisplayStyle.Flex;
|
|
}
|
|
|
|
public void Hide() {
|
|
Root.style.display = DisplayStyle.None;
|
|
}
|
|
|
|
private void BackToMainMenu() {
|
|
Hide();
|
|
MainUI.Instance.mainMenuUI.ResetAndShow();
|
|
}
|
|
}
|
|
}
|
|
|