Add StickGame Assets

This commit is contained in:
Dzejkobik007
2024-03-24 22:21:16 +01:00
parent 5a5812c0c7
commit 6c8b523d1f
6643 changed files with 596260 additions and 0 deletions

View File

@@ -0,0 +1,87 @@
using System;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UIElements;
public class SettingsMenu : VisualElement
{
[UnityEngine.Scripting.Preserve]
public new class UxmlFactory : UxmlFactory<SettingsMenu> { }
const string defaultStyleSheetPath = "Default";
const string ussMenuContainer = "SettingsContainer";
Resolution[] resolutions;
public DropdownField dropdownFieldRes;
public DropdownField dropdownFieldScreenMode = new DropdownField("Screen Mode", new List<string>() { "Windowed", "Fullscreen" }, 0);
public Slider sliderMaster = new Slider { label = "Master Volume", lowValue = 0f, highValue = 200f, value = 100f };
public Button buttonBack = new AButton() { text = "Back" };
public SettingsMenu()
{
// Resolutions dropdown
resolutions = Screen.resolutions;
List<string> options = new List<string>();
int currentResIndex = 0;
for (int i = 0; i < resolutions.Length; i++)
{
string option = resolutions[(resolutions.Length - 1) - i].width + "x" + resolutions[(resolutions.Length - 1) - i].height;
options.Add(option);
if (resolutions[(resolutions.Length - 1) - i].width == Screen.currentResolution.width && resolutions[(resolutions.Length - 1) - i].height == Screen.currentResolution.height) {
currentResIndex = i;
}
}
dropdownFieldRes = new DropdownField("Resolutions", options, 0);
dropdownFieldRes.index = currentResIndex;
styleSheets.Add(Resources.Load<StyleSheet>(defaultStyleSheetPath));
VisualElement menuContainer = new VisualElement();
menuContainer.AddToClassList(ussMenuContainer);
dropdownFieldRes.RegisterValueChangedCallback(evt => DropDownChangedRes());
dropdownFieldScreenMode.RegisterValueChangedCallback(evt => DropDownChangedScreen()); ;
sliderMaster.RegisterValueChangedCallback(evt => SliderMasterValueChanged());
buttonBack.clicked += ButtonBackClicked;
menuContainer.Add(dropdownFieldRes);
menuContainer.Add(dropdownFieldScreenMode);
menuContainer.Add(sliderMaster);
menuContainer.Add(buttonBack);
Add(menuContainer);
}
public event Action OnDropdownChangedResolution;
public event Action OnDropdownChangedScreenMode;
public event Action OnSliderMasterChanged;
public event Action OnButtonBackClicked;
private void DropDownChangedRes()
{
OnDropdownChangedResolution?.Invoke();
}
private void DropDownChangedScreen()
{
OnDropdownChangedScreenMode?.Invoke();
}
private void SliderMasterValueChanged()
{
OnSliderMasterChanged?.Invoke();
}
public float GetSliderMasterValue()
{
return (float)sliderMaster.value;
}
private void ButtonBackClicked()
{
OnButtonBackClicked?.Invoke();
}
}