RealizeSettings

This commit is contained in:
Kaktus200020 2024-08-16 12:29:51 +03:00
parent 843f521a53
commit bab199096e
3 changed files with 13 additions and 11 deletions

View file

@ -37,7 +37,7 @@ public class OptionsGUI : AbstractGUI
{ rectangle = new Rectangle(width / 2, height / 3, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; { rectangle = new Rectangle(width / 2, height / 3, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 };
slider_OverallVolume.SliderChanged += (newVal) => slider_OverallVolume.SliderChanged += (newVal) =>
{ {
AppManager.Instance.SettingsManager.SetMainVolume(newVal);
}; };
Elements.Add(slider_OverallVolume); Elements.Add(slider_OverallVolume);
@ -49,7 +49,7 @@ public class OptionsGUI : AbstractGUI
{ rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 1, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 1, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 };
slider_MusicVolume.SliderChanged += (newVal) => slider_MusicVolume.SliderChanged += (newVal) =>
{ {
AppManager.Instance.SettingsManager.SetMusicVolume(newVal);
}; };
Elements.Add(slider_MusicVolume); Elements.Add(slider_MusicVolume);
@ -62,7 +62,7 @@ public class OptionsGUI : AbstractGUI
{ rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 2, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 }; { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 2, width / 10, height / 20), indentation = 4, textureName = "Textures\\GUI\\Switch_backgrownd", MinValue = 0, MaxValue = 1 };
slider_EffectsVolume.SliderChanged += (newVal) => slider_EffectsVolume.SliderChanged += (newVal) =>
{ {
AppManager.Instance.SettingsManager.SetSoundEffectsVolume(newVal);
}; };
Elements.Add(slider_EffectsVolume); Elements.Add(slider_EffectsVolume);
@ -82,7 +82,7 @@ public class OptionsGUI : AbstractGUI
var button_FullScreen = new CheckBox(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 4, width / 40, width / 40) }; var button_FullScreen = new CheckBox(Manager) { rectangle = new Rectangle(width / 2, height / 3 + (height / 20 + height / 40) * 4, width / 40, width / 40) };
button_FullScreen.Checked += (newCheckState) => button_FullScreen.Checked += (newCheckState) =>
{ {
AppManager.Instance.SettingsManager.SetIsFullScreen(newCheckState);
}; };
Elements.Add(button_FullScreen); Elements.Add(button_FullScreen);

View file

@ -36,6 +36,7 @@ namespace ZoFo.GameCore.GameManagers
public InputManager InputManager; public InputManager InputManager;
public ItemManager.ItemManager ItemManager; public ItemManager.ItemManager ItemManager;
public SettingsManager SettingsManager;
public AnimationBuilder animationBuilder{get;set; } public AnimationBuilder animationBuilder{get;set; }
@ -53,7 +54,8 @@ namespace ZoFo.GameCore.GameManagers
Instance = this; Instance = this;
InputManager = new InputManager(); InputManager = new InputManager();
SettingsManager = new SettingsManager();
SettingsManager.LoadSettings();
currentGUI = new MainMenuGUI(); currentGUI = new MainMenuGUI();

View file

@ -42,7 +42,7 @@ namespace ZoFo.GameCore.GameManagers
public void StartAmbientSound(string soundName) // запустить звук у которого нет позиции public void StartAmbientSound(string soundName) // запустить звук у которого нет позиции
{ {
var sound = new Sound(Sounds[soundName].CreateInstance(), Vector2.One, true); var sound = new Sound(Sounds[soundName].CreateInstance(), Vector2.One, true);
// ждать пока настройки появятся sound.SoundEffect.Volume = sound.baseVolume * AppManager.Instance.SettingsManager.MusicVolume * AppManager.Instance.SettingsManager.MainVolume; sound.SoundEffect.Volume = sound.baseVolume * AppManager.Instance.SettingsManager.MusicVolume * AppManager.Instance.SettingsManager.MainVolume;
sound.SoundEffect.IsLooped = false; sound.SoundEffect.IsLooped = false;
sound.SoundEffect.Play(); sound.SoundEffect.Play();
@ -57,7 +57,7 @@ namespace ZoFo.GameCore.GameManagers
{ {
var sound = new Sound(Sounds[soundName].CreateInstance(), soundPos, false) { baseVolume = baseVolume, basePich = pitch }; var sound = new Sound(Sounds[soundName].CreateInstance(), soundPos, false) { baseVolume = baseVolume, basePich = pitch };
sound.SoundEffect.IsLooped = false; sound.SoundEffect.IsLooped = false;
//ждать пока настройки появятся sound.SoundEffect.Volume = sound.baseVolume * AppManager.Instance.SettingsManager.SoundEffectsVolume * AppManager.Instance.SettingsManager.MainVolume; sound.SoundEffect.Volume = sound.baseVolume * AppManager.Instance.SettingsManager.SoundEffectsVolume * AppManager.Instance.SettingsManager.MainVolume;
sound.SoundEffect.Pitch = pitch; sound.SoundEffect.Pitch = pitch;
sound.SoundEffect.Play(); sound.SoundEffect.Play();
PlayingSounds.Add(sound); PlayingSounds.Add(sound);
@ -78,7 +78,7 @@ namespace ZoFo.GameCore.GameManagers
{ {
for (int i = 0; i < PlayingSounds.Count; i++) for (int i = 0; i < PlayingSounds.Count; i++)
{ {
//PlayingSounds[i].UpdateVolume(Vector2.Zero); PlayingSounds[i].UpdateVolume(Vector2.Zero);
if (PlayingSounds[i].SoundEffect.State == SoundState.Stopped) if (PlayingSounds[i].SoundEffect.State == SoundState.Stopped)
{ {
PlayingSounds.Remove(PlayingSounds[i]); PlayingSounds.Remove(PlayingSounds[i]);
@ -114,14 +114,14 @@ namespace ZoFo.GameCore.GameManagers
SoundEffect = soundEffect; SoundEffect = soundEffect;
Position = position; Position = position;
} }
/*/public void UpdateVolume(Vector2 playerPos) public void UpdateVolume(Vector2 playerPos)
{ {
if (isAmbient) if (isAmbient)
SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.MusicVolume * AppManager.Instance.SettingsManager.MainVolume; SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.MusicVolume * AppManager.Instance.SettingsManager.MainVolume;
else else
SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.SoundEffectsVolume * AppManager.Instance.SettingsManager.MainVolume;// * (float)Math.Clamp(1 - GetDistanceVol(playerPos),0,1); SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.SoundEffectsVolume * AppManager.Instance.SettingsManager.MainVolume;// * (float)Math.Clamp(1 - GetDistanceVol(playerPos),0,1);
}/*/ }
public double GetDistanceVol(Vector2 playerPos) // получение дистанции до объедка от игрока public double GetDistanceVol(Vector2 playerPos) // получение дистанции до объедка от игрока
{ {