83 lines
2.7 KiB (Stored with Git LFS)
C#
83 lines
2.7 KiB (Stored with Git LFS)
C#
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<string>();
|
|
|
|
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}");
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} |