ProjectDDD/Assets/_Datas/SLShared/SLSystem/SLEntitySpace/SLWindowsLoader.cs
2025-06-17 20:47:57 +09:00

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}");
}
}
}
}
}
}