diff --git a/ZoFo/GameCore/GUI/OptionsGUI.cs b/ZoFo/GameCore/GUI/OptionsGUI.cs index a60611b..a2ae74a 100644 --- a/ZoFo/GameCore/GUI/OptionsGUI.cs +++ b/ZoFo/GameCore/GUI/OptionsGUI.cs @@ -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 }; slider_OverallVolume.SliderChanged += (newVal) => { - + AppManager.Instance.SettingsManager.SetMainVolume(newVal); }; 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 }; slider_MusicVolume.SliderChanged += (newVal) => { - + AppManager.Instance.SettingsManager.SetMusicVolume(newVal); }; 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 }; slider_EffectsVolume.SliderChanged += (newVal) => { - + AppManager.Instance.SettingsManager.SetSoundEffectsVolume(newVal); }; 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) }; button_FullScreen.Checked += (newCheckState) => { - + AppManager.Instance.SettingsManager.SetIsFullScreen(newCheckState); }; Elements.Add(button_FullScreen); diff --git a/ZoFo/GameCore/GameManagers/AppManager.cs b/ZoFo/GameCore/GameManagers/AppManager.cs index fbb7726..3809c7f 100644 --- a/ZoFo/GameCore/GameManagers/AppManager.cs +++ b/ZoFo/GameCore/GameManagers/AppManager.cs @@ -36,6 +36,7 @@ namespace ZoFo.GameCore.GameManagers public InputManager InputManager; public ItemManager.ItemManager ItemManager; + public SettingsManager SettingsManager; public AnimationBuilder animationBuilder{get;set; } @@ -53,8 +54,9 @@ namespace ZoFo.GameCore.GameManagers Instance = this; InputManager = new InputManager(); - - + SettingsManager = new SettingsManager(); + SettingsManager.LoadSettings(); + currentGUI = new MainMenuGUI(); debugHud = new DebugHUD(); diff --git a/ZoFo/GameCore/GameManagers/SoundManager.cs b/ZoFo/GameCore/GameManagers/SoundManager.cs index d99211e..f17ec05 100644 --- a/ZoFo/GameCore/GameManagers/SoundManager.cs +++ b/ZoFo/GameCore/GameManagers/SoundManager.cs @@ -42,7 +42,7 @@ namespace ZoFo.GameCore.GameManagers public void StartAmbientSound(string soundName) // запустить звук у которого нет позиции { 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.Play(); @@ -57,7 +57,7 @@ namespace ZoFo.GameCore.GameManagers { var sound = new Sound(Sounds[soundName].CreateInstance(), soundPos, false) { baseVolume = baseVolume, basePich = pitch }; 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.Play(); PlayingSounds.Add(sound); @@ -78,7 +78,7 @@ namespace ZoFo.GameCore.GameManagers { 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) { PlayingSounds.Remove(PlayingSounds[i]); @@ -114,14 +114,14 @@ namespace ZoFo.GameCore.GameManagers SoundEffect = soundEffect; Position = position; } - /*/public void UpdateVolume(Vector2 playerPos) + public void UpdateVolume(Vector2 playerPos) { if (isAmbient) SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.MusicVolume * AppManager.Instance.SettingsManager.MainVolume; else SoundEffect.Volume = baseVolume * AppManager.Instance.SettingsManager.SoundEffectsVolume * AppManager.Instance.SettingsManager.MainVolume;// * (float)Math.Clamp(1 - GetDistanceVol(playerPos),0,1); - }/*/ + } public double GetDistanceVol(Vector2 playerPos) // получение дистанции до объедка от игрока {