/// <summary> /// Adds a title to a panel /// </summary> /// <param name="panel"></param> /// <param name="title"></param> private void AddTitleToPanel(GameObject panel, string title) { //Create new title object GameObject titleObject = Instantiate(settingsTitlePrefab, GetPanelItemArea(panel), false); titleObject.GetComponent <TextMeshProUGUI>().text = GameUILocale.ResolveString(title); }
/// <summary> /// Adds a <see cref="Toggle"/> element to a panel /// </summary> /// <param name="panel"></param> /// <param name="toggleText"></param> /// <param name="currentValue"></param> /// <returns></returns> public Toggle AddToggleToPanel(GameObject panel, string toggleText, bool currentValue) { //Create new toggle object GameObject toggleObject = Instantiate(settingsTogglePrefab, GetPanelItemArea(panel), false); TextMeshProUGUI label = toggleObject.GetComponentInChildren <TextMeshProUGUI>(); label.text = GameUILocale.ResolveString(toggleText); //Set if it is on or off Toggle toggle = toggleObject.GetComponent <Toggle>(); toggle.isOn = currentValue; return(toggle); }
/// <summary> /// Adds a <see cref="TMP_Dropdown"/> to panel /// </summary> /// <param name="panel"></param> /// <param name="sideText"></param> /// <param name="options"></param> /// <param name="currentIndex"></param> /// <returns></returns> public TMP_Dropdown AddDropdownToPanel(GameObject panel, string sideText, string[] options, int currentIndex) { //Create dropdown object GameObject dropDownObject = Instantiate(settingsDropdownPrefab, GetPanelItemArea(panel), false); SettingDropdown dropdownSettings = dropDownObject.GetComponent <SettingDropdown>(); dropdownSettings.settingsName.text = GameUILocale.ResolveString(sideText); //Create options List <TMP_Dropdown.OptionData> optionDatas = new List <TMP_Dropdown.OptionData>(options.Length); optionDatas.AddRange(options.Select(text => new TMP_Dropdown.OptionData(text))); //Add options and set current index dropdownSettings.dropdown.options = optionDatas; dropdownSettings.dropdown.value = currentIndex; return(dropdownSettings.dropdown); }
/// <summary> /// Adds a new panel /// </summary> /// <param name="optionsMenu"></param> /// <returns></returns> public GameObject AddPanel(OptionsMenu optionsMenu) { //The panel it self GameObject panel = Instantiate(panelPrefab, panelsLocation, false); panel.name = optionsMenu.Name; AddTitleToPanel(panel, optionsMenu.Name); //Button Button button = Instantiate(settingsButtonPrefab, buttonLocation, false).GetComponent <Button>(); button.onClick.AddListener(delegate { OpenPanel(optionsMenu.Name); }); TextMeshProUGUI buttonText = button.GetComponentInChildren <TextMeshProUGUI>(); buttonText.text = GameUILocale.ResolveString(optionsMenu.Name); buttonText.text = buttonText.text.Replace(" ", "\n"); settingPanels.Add(button, panel); return(panel); }
/// <summary> /// Adds a <see cref="Slider"/> to a panel /// </summary> /// <param name="panel"></param> /// <param name="sideText"></param> /// <param name="currentValue"></param> /// <param name="wholeNumbers"></param> /// <param name="min"></param> /// <param name="max"></param> /// <returns></returns> public Slider AddSliderToPanel(GameObject panel, string sideText, float currentValue, bool wholeNumbers = false, float min = 0, float max = 100) { //Create new slider object GameObject sliderObject = Instantiate(settingsSliderPrefab, GetPanelItemArea(panel), false); SettingsSlider sliderSettings = sliderObject.GetComponent <SettingsSlider>(); //Set up the existing value sliderSettings.Setup(currentValue); //Set the text sliderSettings.propertyText.text = GameUILocale.ResolveString(sideText); //Set up the slider itself Slider slider = sliderSettings.slider; slider.wholeNumbers = wholeNumbers; slider.minValue = min; slider.maxValue = max; slider.value = currentValue; return(slider); }
/// <summary> /// Call this when the server process fails to start /// </summary> public void FailedToStartMessage() { cancelButton.interactable = true; messageText.text = GameUILocale.ResolveString(failedToStartMessageLocale); }
public override void OnEnable() { base.OnEnable(); cancelButton.interactable = false; messageText.text = GameUILocale.ResolveString(startingMessageLocale); }
private void Awake() { killsTextLocale = GameUILocale.ResolveString("ScoreBoard_Kills"); deathsTextLocale = GameUILocale.ResolveString("ScoreBoard_Deaths"); }