Files
mROA/mROA.Codegen/Tools/LinkTemplateSection.cs
T

39 lines
906 B
C#
Raw Normal View History

2025-03-29 19:31:10 +03:00
namespace mROA.Codegen.Tools
{
public class LinkTemplateSection : ITemplateSection, IBaking
{
public LinkTemplateSection(string linkedTag, TemplateDocument context)
{
2025-03-29 19:31:10 +03:00
LinkedTag = linkedTag;
Context = context;
}
2025-03-29 19:31:10 +03:00
public string LinkedTag { get; }
public string Bake()
{
return Context[LinkedTag]?.ToString();
}
2025-03-29 19:31:10 +03:00
public TemplateDocument Context { get; set; }
public int TargetLength
{
get
{
2025-03-29 19:31:10 +03:00
var attached = Context[LinkedTag];
return attached?.TargetLength ?? 0;
}
}
2025-03-29 19:31:10 +03:00
public object Clone()
{
2025-03-29 19:31:10 +03:00
return new LinkTemplateSection(LinkedTag, Context);
}
public override string ToString()
{
2025-03-29 19:31:10 +03:00
return $"{nameof(LinkedTag)}: {LinkedTag}";
}
}
}