some summary comments

This commit is contained in:
AlessandroCH 2025-03-09 22:14:29 +01:00
parent c375fb9af7
commit d0e91fdc78
3 changed files with 19 additions and 18 deletions

View File

@ -11,7 +11,9 @@ namespace Campofinale.Resource
{ {
public class ResourceLoader public class ResourceLoader
{ {
/// <summary>
/// Load table cfg automatically inside ResourceManager fields
/// </summary>
public static void LoadTableCfg() public static void LoadTableCfg()
{ {
var tableCfgTypes = GetAllTableCfgTypes(); var tableCfgTypes = GetAllTableCfgTypes();
@ -19,7 +21,7 @@ namespace Campofinale.Resource
foreach (var type in tableCfgTypes) foreach (var type in tableCfgTypes)
{ {
var attr = type.GetCustomAttribute<TableCfgTypeAttribute>(); var attr = type.GetCustomAttribute<TableCfgTypeAttribute>();
string json = ReadJsonFile(attr.Name); string json = ResourceManager.ReadJsonFile(attr.Name);
FieldInfo field = GetResourceField(type); FieldInfo field = GetResourceField(type);
if (field != null && json.Length > 0) if (field != null && json.Length > 0)
{ {
@ -49,21 +51,7 @@ namespace Campofinale.Resource
return JsonConvert.DeserializeObject(json, valueType); return JsonConvert.DeserializeObject(json, valueType);
} }
public static string ReadJsonFile(string path)
{
try
{
return File.ReadAllText(path);
}
catch (Exception e)
{
Logger.PrintError($"Error occured while loading {path} Err: {e.Message}");
ResourceManager.missingResources = true;
return "";
}
}
public static List<Type> GetAllTableCfgTypes() public static List<Type> GetAllTableCfgTypes()
{ {
return Assembly.GetExecutingAssembly() return Assembly.GetExecutingAssembly()

View File

@ -78,6 +78,11 @@ namespace Campofinale.Resource
return levelDatas.Find(a => a.id == name).idNum; return levelDatas.Find(a => a.id == name).idNum;
} }
public static bool missingResources = false; public static bool missingResources = false;
/// <summary>
/// Utility method for read a json file
/// </summary>
/// <param name="path">The file path</param>
/// <returns>Return the file content if the file exist, else it return an empty string</returns>
public static string ReadJsonFile(string path) public static string ReadJsonFile(string path)
{ {
try try

View File

@ -8,7 +8,9 @@ namespace Campofinale.Resource
{ {
public abstract class TableCfgResource public abstract class TableCfgResource
{ {
/// <summary>
/// Not implemented yet
/// </summary>
public void OnLoad() public void OnLoad()
{ {
@ -17,7 +19,13 @@ namespace Campofinale.Resource
[AttributeUsage(AttributeTargets.Class, Inherited = false)] [AttributeUsage(AttributeTargets.Class, Inherited = false)]
public class TableCfgTypeAttribute : Attribute public class TableCfgTypeAttribute : Attribute
{ {
/// <summary>
/// Path of the Resource
/// </summary>
public string Name { get; } public string Name { get; }
/// <summary>
/// Priority of load (still not implemented)
/// </summary>
public LoadPriority Priority { get; } public LoadPriority Priority { get; }
public TableCfgTypeAttribute(string name, LoadPriority priority) public TableCfgTypeAttribute(string name, LoadPriority priority)