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 };
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);

View file

@ -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();

View file

@ -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) // получение дистанции до объедка от игрока
{