/// <summary> /// Initialize <see cref="BeatmapProcessor"/> with unique settings. /// </summary> /// <param name="processorSettings"><see cref="BeatmapProcessorSettings"/></param> /// <param name="graphicsDevice"><see cref="GraphicsDevice"/> used to loading <see cref="Texture2D"/></param> public BeatmapProcessor(BeatmapProcessorSettings processorSettings, GraphicsDevice graphicsDevice) { ProcessorSettings = processorSettings; _graphicsDevice = graphicsDevice; _beatmapSettingsList = new List <BeatmapProcessorContainerEntry>(); string folder = ProcessorSettings.BeatmapsFolder; // Is beatmap folder empty bool isFolderEmpty = true; if (!Directory.Exists(folder)) { Directory.CreateDirectory(folder); } // If there is at least one folder in beatmap directory, the beatmap folder is not empty if (Directory.EnumerateFileSystemEntries(folder).Any()) { isFolderEmpty = false; } if (!isFolderEmpty) { // If there is no database file, initialize it if (!File.Exists(ProcessorSettings.DatabaseName)) { InitializeDatabase(graphicsDevice); } else { ProcessDatabase(graphicsDevice); } } LogHelper.Log($"BeatmapProcessor: Found {_beatmapSettingsList.Count} beatmaps"); }
public BeatmapReader(BeatmapProcessorSettings processorSettings) { ProcessorSettings = processorSettings; }
public BeatmapWriter(BeatmapProcessorSettings processorSettings) { ProcessorSettings = processorSettings; }