using System; using System.Collections.Generic; using System.IO; namespace Superlazy { public class SLWindowsLoader : SLDataLoader { public string DataPath { get; set; } = "../Data/"; public override void Load() { if (Directory.Exists(DataPath) == false) { SLLog.Warn($"Cant Find Data Path {Directory.GetCurrentDirectory()}{DataPath}"); return; } //{ // string[] files = Directory.GetFiles(dataPath, "*.xml", SearchOption.AllDirectories); // foreach (string fileName in files) // { // var fileRoot = Loader.XMLLoader.LoadFile(fileName); // MergeToRoot(fileName.Replace(dataPath, string.Empty), root, fileRoot); // } //} { var files = Directory.GetFiles(DataPath, "*.json", SearchOption.AllDirectories); foreach (var fileName in files) { using var file = File.OpenText(fileName); try { var json = file.ReadToEnd(); Load("json", json); } catch (Exception e) { SLLog.Error($"Cannot Parse {fileName}. \n{e.Message}"); } } files = Directory.GetFiles(DataPath, "*.yaml", SearchOption.AllDirectories); var generatedEvents = new List(); foreach (var fileName in files) { if (fileName.Contains("Generated")) // 생성된 파일들 { generatedEvents.Add(fileName); continue; } using var file = File.OpenText(fileName); try { var json = file.ReadToEnd(); Load("yaml", json); } catch (Exception e) { SLLog.Error($"Cannot Parse {fileName}. \n{e.Message}"); } } foreach (var fileName in generatedEvents) { using var file = File.OpenText(fileName); try { var json = file.ReadToEnd(); Load("yaml", json); } catch (Exception e) { SLLog.Error($"Cannot Parse {fileName}. \n{e.Message}"); } } } } } }