public void WriteAllOpenAssets() { foreach (var assetsFileName in _openAssetsFiles.Keys.ToList()) { var assetsFile = _openAssetsFiles[assetsFileName]; if (assetsFile.HasChanges) { Log.LogMsg($"File {assetsFileName} has changed, writing new contents."); try { _fileProvider.WriteCombinedAssets(assetsFile, BSConst.KnownFiles.AssetsRootPath + assetsFileName); } catch (Exception ex) { Log.LogErr($"Exception writing assets file {assetsFileName}", ex); throw; } } _openAssetsFiles.Remove(assetsFileName); } }