diff --git a/addons/sound_manager/SoundManager.cs b/addons/sound_manager/SoundManager.cs index 95a7611..eb0e305 100644 --- a/addons/sound_manager/SoundManager.cs +++ b/addons/sound_manager/SoundManager.cs @@ -1,3 +1,5 @@ +#nullable enable + using Godot; using Godot.Collections; @@ -5,250 +7,150 @@ namespace NathanHoad { public partial class SoundManager : Node { - private static Node instance; + private static Node? instance; public static Node Instance { - get - { - if (instance == null) - { - instance = (Node)Engine.GetSingleton("SoundManager"); - } - return instance; - } + get => instance ??= (Node)Engine.GetSingleton("SoundManager"); } - public static ProcessModeEnum SoundProcessMode { get => ((Node)Instance.Get("sound_effects")).ProcessMode; - set - { - ((Node)Instance.Get("sound_effects")).ProcessMode = value; - } + set => ((Node)Instance.Get("sound_effects")).ProcessMode = value; } public static ProcessModeEnum UISoundProcessMode { get => ((Node)Instance.Get("ui_sound_effects")).ProcessMode; - set - { - ((Node)Instance.Get("ui_sound_effects")).ProcessMode = value; - } + set => ((Node)Instance.Get("ui_sound_effects")).ProcessMode = value; } public static ProcessModeEnum AmbientSoundProcessMode { get => ((Node)Instance.Get("ambient_sounds")).ProcessMode; - set - { - ((Node)Instance.Get("ambient_sounds")).ProcessMode = value; - } + set => ((Node)Instance.Get("ambient_sounds")).ProcessMode = value; } public static ProcessModeEnum MusicProcessMode { get => ((Node)Instance.Get("music")).ProcessMode; - set - { - ((Node)Instance.Get("music")).ProcessMode = value; - } + set => ((Node)Instance.Get("music")).ProcessMode = value; } #region Sounds public static float GetSoundVolume() - { - return (float)Instance.Call("get_sound_volume"); - } + => (float)Instance.Call("get_sound_volume"); + public static void SetSoundVolume(float volume) + => Instance.Call("set_sound_volume", volume); public static float GetUISoundVolume() - { - return (float)Instance.Call("get_ui_sound_volume"); - } - - - public static void SetSoundVolume(float volume) - { - Instance.Call("set_sound_volume", volume); - } + => (float)Instance.Call("get_ui_sound_volume"); + public static void SetUISoundVolume(float volume) + => Instance.Call("set_ui_sound_volume", volume); public static AudioStreamPlayer PlaySound(AudioStream resource, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_sound", resource, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_sound", resource, overrideBus); public static AudioStreamPlayer PlaySoundWithPitch(AudioStream resource, float pitch, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_sound_with_pitch", resource, pitch, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_sound_with_pitch", resource, pitch, overrideBus); public static void StopSound(AudioStream resource) - { - Instance.Call("stop_sound", resource); - } - + => Instance.Call("stop_sound", resource); public static AudioStreamPlayer PlayUISound(AudioStream resource, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_ui_sound", resource, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_ui_sound", resource, overrideBus); public static AudioStreamPlayer PlayUISoundWithPitch(AudioStream resource, float pitch, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_ui_sound_with_pitch", resource, pitch, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_ui_sound_with_pitch", resource, pitch, overrideBus); public static void StopUISound(AudioStream resource) - { - Instance.Call("stop_ui_sound", resource); - } - + => Instance.Call("stop_ui_sound", resource); public static void SetDefaultSoundBus(string bus) - { - Instance.Call("set_default_sound_bus", bus); - } - + => Instance.Call("set_default_sound_bus", bus); public static void SetDefaultUISoundBus(string bus) - { - Instance.Call("set_default_ui_sound_bus", bus); - } + => Instance.Call("set_default_ui_sound_bus", bus); #endregion #region Ambient sounds - public static AudioStreamPlayer PlayAmbientSound(AudioStream resource, float fadeInDuration, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_ambient_sound", resource, fadeInDuration); - } + public static float GetAmbientSoundVolume() + => (float)Instance.Call("get_ambient_sound_volume"); + public static void SetAmbientSoundVolume(float volume) + => Instance.Call("set_ambient_sound_volume", volume); - public static void StopAmbientSound(AudioStream resource, float fadeOutDuration) - { - Instance.Call("stop_ambient_sound", resource, fadeOutDuration); - } + public static AudioStreamPlayer PlayAmbientSound(AudioStream resource, float fadeInDuration = 0.0f, string overrideBus = "") + => (AudioStreamPlayer)Instance.Call("play_ambient_sound", resource, fadeInDuration, overrideBus); + public static void StopAmbientSound(AudioStream resource, float fadeOutDuration = 0.0f) + => Instance.Call("stop_ambient_sound", resource, fadeOutDuration); - public static void StopAllAmbientSounds(float fadeOutDuration) - { - Instance.Call("stop_all_ambient_sounds", fadeOutDuration); - } - + public static void StopAllAmbientSounds(float fadeOutDuration = 0.0f) + => Instance.Call("stop_all_ambient_sounds", fadeOutDuration); public static void SetDefaultAmbientSoundBus(string bus) - { - Instance.Call("set_default_ambient_sound_bus", bus); - } + => Instance.Call("set_default_ambient_sound_bus", bus); #endregion - #region Music + #region Music public static float GetMusicVolume() - { - return (float)Instance.Call("get_music_volume"); - } - + => (float)Instance.Call("get_music_volume"); public static void SetMusicVolume(float volume) - { - Instance.Call("set_music_volume", volume); - } - + => Instance.Call("set_music_volume", volume); public static AudioStreamPlayer PlayMusic(AudioStream resource, float crossFadeDuration = 0.0f, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_music", resource, crossFadeDuration, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_music", resource, crossFadeDuration, overrideBus); public static AudioStreamPlayer PlayMusicFromPosition(AudioStream resource, float position, float crossFadeDuration = 0.0f, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_music_from_position", resource, position, crossFadeDuration, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_music_from_position", resource, position, crossFadeDuration, overrideBus); public static AudioStreamPlayer PlayMusicAtVolume(AudioStream resource, float volume, float crossFadeDuration = 0.0f, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_music_at_volume", resource, volume, crossFadeDuration, overrideBus); - } + => (AudioStreamPlayer)Instance.Call("play_music_at_volume", resource, volume, crossFadeDuration, overrideBus); public static AudioStreamPlayer PlayMusicFromPositionAtVolume(AudioStream resource, float position, float volume, float crossFadeDuration = 0.0f, string overrideBus = "") - { - return (AudioStreamPlayer)Instance.Call("play_music_from_position_at_volume", resource, position, volume, crossFadeDuration, overrideBus); - } - + => (AudioStreamPlayer)Instance.Call("play_music_from_position_at_volume", resource, position, volume, crossFadeDuration, overrideBus); public static Array GetMusicTrackHistory() - { - return (Array)Instance.Call("get_music_track_history"); - } - + => (Array)Instance.Call("get_music_track_history"); public static string GetLastPlayedMusicTrack() - { - return (string)Instance.Call("get_last_played_music_track"); - } - - - public static bool IsMusicPlaying(AudioStream resource = null) - { - return (bool)Instance.Call("is_music_playing", resource); - } + => (string)Instance.Call("get_last_played_music_track"); + public static bool IsMusicPlaying(AudioStream? resource = null) + => (bool)Instance.Call("is_music_playing", resource!); public static bool IsMusicTrackPlaying(string resource_path) - { - return (bool)Instance.Call("is_music_track_playing", resource_path); - } - + => (bool)Instance.Call("is_music_track_playing", resource_path); public static Array GetCurrentlyPlayingMusic() - { - return (Array)Instance.Call("get_currently_playing_music"); - } - + => (Array)Instance.Call("get_currently_playing_music"); public static Array GetCurrentlyPlayingTracks() - { - return (Array)Instance.Call("get_currently_playing_tracks"); - } - + => (Array)Instance.Call("get_currently_playing_tracks"); - public static void PauseMusic(AudioStream resource = null) - { - Instance.Call("pause_music", resource); - } - - - public static void ResumeMusic(AudioStream resource = null) - { - Instance.Call("resume_music", resource); - } + public static void PauseMusic(AudioStream? resource = null) + => Instance.Call("pause_music", resource!); + public static void ResumeMusic(AudioStream? resource = null) + => Instance.Call("resume_music", resource!); public static void StopMusic(float fadeOutDuration = 0.0f) - { - Instance.Call("stop_music", fadeOutDuration); - } - + => Instance.Call("stop_music", fadeOutDuration); public static void SetDefaultMusicBus(string bus) - { - Instance.Call("set_default_music_bus", bus); - } + => Instance.Call("set_default_music_bus", bus); #endregion }