2
0
mirror of https://github.com/esiur/esiur-dotnet.git synced 2025-06-27 05:23:13 +00:00
This commit is contained in:
2021-05-26 08:55:42 +03:00
parent 82cbe3b01c
commit ece7c7d08f
10 changed files with 36 additions and 26 deletions

View File

@ -17,7 +17,7 @@ namespace Esiur.Resource.Template
public static (uint, ArgumentTemplate) Parse(byte[] data, uint offset)
{
var cs = (uint)data[offset++];
var name = DC.GetString(data, offset, cs);
var name = data.GetString(offset, cs);
offset += cs;
var (size, type) = TemplateDataType.Parse(data, offset);

View File

@ -32,7 +32,7 @@ namespace Esiur.Resource.Template
get { return content; }
}
public Type RuntimeType { get; set; }
public Type ResourceType { get; set; }
public MemberTemplate GetMemberTemplate(MemberInfo member)
{
@ -157,18 +157,18 @@ namespace Esiur.Resource.Template
public static ResourceTemplate[] GetRuntimeTypes(ResourceTemplate template)
public static ResourceTemplate[] GetDependencies(ResourceTemplate template)
{
var list = new List<ResourceTemplate>();
list.Add(template);
Action<ResourceTemplate, List<ResourceTemplate>> getRuntimeTypes = null;
Action<ResourceTemplate, List<ResourceTemplate>> getDependenciesFunc = null;
getRuntimeTypes = (ResourceTemplate tmp, List<ResourceTemplate> bag) =>
getDependenciesFunc = (ResourceTemplate tmp, List<ResourceTemplate> bag) =>
{
if (template.RuntimeType == null)
if (template.ResourceType == null)
return;
// functions
@ -180,7 +180,7 @@ namespace Esiur.Resource.Template
if (!bag.Contains(frtt))
{
list.Add(frtt);
getRuntimeTypes(frtt, bag);
getDependenciesFunc(frtt, bag);
}
}
@ -194,7 +194,7 @@ namespace Esiur.Resource.Template
if (!bag.Contains(fpt))
{
bag.Add(fpt);
getRuntimeTypes(fpt, bag);
getDependenciesFunc(fpt, bag);
}
}
}
@ -211,7 +211,7 @@ namespace Esiur.Resource.Template
if (!bag.Contains(fpt))
{
bag.Add(fpt);
getRuntimeTypes(fpt, bag);
getDependenciesFunc(fpt, bag);
}
}
}
@ -228,7 +228,7 @@ namespace Esiur.Resource.Template
if (!bag.Contains(pt))
{
bag.Add(pt);
getRuntimeTypes(pt, bag);
getDependenciesFunc(pt, bag);
}
}
}
@ -243,13 +243,13 @@ namespace Esiur.Resource.Template
if (!bag.Contains(et))
{
bag.Add(et);
getRuntimeTypes(et, bag);
getDependenciesFunc(et, bag);
}
}
}
};
getRuntimeTypes(template, list);
getDependenciesFunc(template, list);
return list.ToArray();
}
@ -260,7 +260,7 @@ namespace Esiur.Resource.Template
type = ResourceProxy.GetBaseType(type);
RuntimeType = type;
ResourceType = type;
className = type.FullName;

View File

@ -108,7 +108,7 @@ namespace Esiur.Resource.Template
// type == DataType.Structure ||
// type == DataType.StructureArray)
{
var guid = DC.GetGuid(data, offset);
var guid = data.GetGuid(offset);
return (17, new TemplateDataType() { Type = type, TypeGuid = guid });
}
else