Alterar as qualidades das sombras com um dropdown
2 participantes
Página 1 de 1
Alterar as qualidades das sombras com um dropdown
Bom vou explicar rapidamente e espero que alguém me responda...
tenho isto em meu script:
e tenho outro script que guarda as infos em um arquivo .json para carregar depois:
(Ele e um script limpo que não importa nada nem deriva do MonoBehaviour)
eu queria saber como que quando eu alterar na dropdown que esta sendo controlada pelo script 1 ele altere no QualitySettings
se alguem quiser os 2 scripts completos para ver melhor oq eu posso fazer ta ai:
tenho isto em meu script:
- Código:
public Dropdown ShadowQualityDropdown;
ShadowQualityDropdown.onValueChanged.AddListener (delegate {Shadow();});
public void Shadow(){
QualitySettings.shadows = gameSettings.ShadowQuality = ShadowQualityDropdown.value;
}
e tenho outro script que guarda as infos em um arquivo .json para carregar depois:
(Ele e um script limpo que não importa nada nem deriva do MonoBehaviour)
- Código:
public int ShadowQuality;
eu queria saber como que quando eu alterar na dropdown que esta sendo controlada pelo script 1 ele altere no QualitySettings
se alguem quiser os 2 scripts completos para ver melhor oq eu posso fazer ta ai:
- Código:
using System.Collections;
using UnityEngine;
using UnityEngine.UI;
using System.IO;
public class SettingsManager : MonoBehaviour {
public Toggle FullScreenToggle;
public Dropdown ResolutionDropDown;
public Dropdown QualityDropDown;
public Dropdown AADropDown;
public Dropdown ShadowQualityDropdown;
public Dropdown vSyncDropDown;
public Slider MusicVolume;
public Slider SFXVolume;
public Slider WeatherVolume;
public AudioSource MusicSource;
public AudioSource SFXSource;
public AudioSource WeatherSource;
public string[] QualityLevels;
public Button ApplyButton;
public Resolution[] resolutions;
public GameSettings gameSettings;
void OnEnable(){
resolutions = Screen.resolutions;
gameSettings = new GameSettings();
FullScreenToggle.onValueChanged.AddListener (delegate {OnFullScreenToggle();});
ResolutionDropDown.onValueChanged.AddListener (delegate {OnResolutionChange();});
QualityDropDown.onValueChanged.AddListener (delegate {OnQualityChange();});
AADropDown.onValueChanged.AddListener (delegate {OnAAChange();});
vSyncDropDown.onValueChanged.AddListener (delegate {OnVsyncChange();});
MusicVolume.onValueChanged.AddListener (delegate {OnMusicChange();});
SFXVolume.onValueChanged.AddListener (delegate {OnSFXChange();});
WeatherVolume.onValueChanged.AddListener (delegate {OnWeatherVolChange();});
ApplyButton.onClick.AddListener (delegate {OnSaveButton();});
ShadowQualityDropdown.onValueChanged.AddListener (delegate {Shadow();});
resolutions = Screen.resolutions;
foreach (Resolution resolution in resolutions) {
ResolutionDropDown.options.Add (new Dropdown.OptionData (resolution.ToString ()));
}
}
public void OnFullScreenToggle(){
gameSettings.FullScreen = Screen.fullScreen = FullScreenToggle.isOn;
}
public void OnResolutionChange(){
Screen.SetResolution (resolutions [ResolutionDropDown.value].width, resolutions [ResolutionDropDown.value].height, Screen.fullScreen);
}
public void OnQualityChange(){
QualitySettings.masterTextureLimit = gameSettings.Quality = QualityDropDown.value;
}
public void OnVsyncChange(){
QualitySettings.vSyncCount = gameSettings.vSync = vSyncDropDown.value;
}
public void OnAAChange(){
QualitySettings.antiAliasing = gameSettings.AntiAliasing = (int)Mathf.Pow (2, AADropDown.value);
}
public void OnMusicChange(){
MusicSource.volume = gameSettings.MusicVolume = MusicVolume.value;
}
public void OnSFXChange(){
SFXSource.volume = gameSettings.SxfVolume = SFXVolume.value;
}
public void OnWeatherVolChange(){
WeatherSource.volume = gameSettings.WeatherVolume = WeatherVolume.value;
}
public void SaveSett(){
string JsonData = JsonUtility.ToJson (gameSettings, true);
File.WriteAllText (Application.persistentDataPath + "/gamesettings.json", JsonData);
}
public void OnSaveButton(){
SaveSett ();
}
public void Shadow(){
QualitySettings.shadows = gameSettings.ShadowQuality = (int)Mathf.Pow (1, ShadowQualityDropdown.value);
}
}
- Código:
public class GameSettings {
public bool FullScreen;
public int Quality;
public int AntiAliasing;
public int vSync;
public int ResolutionIndex;
public float MusicVolume;
public float SxfVolume;
public float WeatherVolume;
public int ShadowQuality;
}
BRGC- ProgramadorMaster
- PONTOS : 3051
REPUTAÇÃO : 59
Idade : 20
Áreas de atuação : C#, C++, C, Flutter
Respeito as regras :
Re: Alterar as qualidades das sombras com um dropdown
Apenas coloque um método no OnValueChanged do Dropdown pelo inspector e passar a função para mudar a resolução!
Tópicos semelhantes
» Unity Sem DropDown
» MouseOver alterar de cores solidas para texturas alterar script
» Botão de Qualidades Graficas
» Bug com Dropdown
» Problemas com dropdown
» MouseOver alterar de cores solidas para texturas alterar script
» Botão de Qualidades Graficas
» Bug com Dropdown
» Problemas com dropdown
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos