/// <summary> /// On GUI, draws the base inspector and track controls /// </summary> public override void OnInspectorGUI() { _settingsSO = (target as MMSoundManager).settingsSo; _mmSoundManager = target as MMSoundManager; if (_settingsSO != null) { _masterVolume = _settingsSO.GetTrackVolume(MMSoundManager.MMSoundManagerTracks.Master); _musicVolume = _settingsSO.GetTrackVolume(MMSoundManager.MMSoundManagerTracks.Music); _sfxVolume = _settingsSO.GetTrackVolume(MMSoundManager.MMSoundManagerTracks.Sfx); _uiVolume = _settingsSO.GetTrackVolume(MMSoundManager.MMSoundManagerTracks.UI); } serializedObject.Update(); DrawDefaultInspector(); serializedObject.ApplyModifiedProperties(); if (((_settingsSO != null) && _mmSoundManager.gameObject.activeInHierarchy)) { DrawTrack("Master Track", MMSoundManager.Instance.settingsSo.Settings.MasterOn, MMSoundManager.MMSoundManagerTracks.Master, _masterColorMute, _masterColorUnmute, _masterColorPause, _masterColorStop, _masterColorPlay, _masterColorFree); DrawTrack("Music Track", MMSoundManager.Instance.settingsSo.Settings.MusicOn, MMSoundManager.MMSoundManagerTracks.Music, _musicColorMute, _musicColorUnmute, _musicColorPause, _musicColorStop, _musicColorPlay, _musicColorFree); DrawTrack("SFX Track", MMSoundManager.Instance.settingsSo.Settings.SfxOn, MMSoundManager.MMSoundManagerTracks.Sfx, _sfxColorMute, _sfxColorUnmute, _sfxColorPause, _sfxColorStop, _sfxColorPlay, _sfxColorFree); DrawTrack("UI Track", MMSoundManager.Instance.settingsSo.Settings.UIOn, MMSoundManager.MMSoundManagerTracks.UI, _uiColorMute, _uiColorUnmute, _uiColorPause, _uiColorStop, _uiColorPlay, _uiColorFree); DrawSaveLoadButtons(); } }