private SoundResourcesManager() { _settings = new TemperatureUISettingsHandler(); _resources = new SortedSet <ResourcePlayer>(new ResourceNameComparer()); ResourceSet resourceSet = Properties.Resources.ResourceManager.GetResourceSet(CultureInfo.CurrentUICulture, true, true); foreach (DictionaryEntry entry in resourceSet) { if (entry.Value is UnmanagedMemoryStream) { _resources.Add(new ResourcePlayer() { ResourceName = entry.Key.ToString(), Stream = entry.Value as Stream }); } } if (_resources.Count > 0) { var resource = GetByResourceName(_settings.SoundResourceName); if (resource == null) { resource = GetResourcesList()[0]; } SelectedSound = resource; } }
internal void DisposeAll() { foreach (var res in _resources) { res.Dispose(); } _resources.Clear(); _resourcesList?.Clear(); SelectedSound = null; }