luban/src/Luban.Job.Cfg/Source/Generate/CsEditorRender.cs

33 lines
1.0 KiB
C#

using Luban.Common.Protos;
using Luban.Job.Cfg.Defs;
using Luban.Job.Common;
using Luban.Job.Common.Generate;
using Luban.Job.Common.Utils;
using System.Collections.Generic;
using System.Threading.Tasks;
namespace Luban.Job.Cfg.Generate
{
[Render("code_cs_unity_editor")]
class CsEditorRender : TemplateCodeRenderBase
{
override protected string RenderTemplateDir => "cs_editor_json";
public override void Render(GenContext ctx)
{
foreach (var c in ctx.Assembly.Types.Values)
{
ctx.Tasks.Add(Task.Run(() =>
{
var content = FileHeaderUtil.ConcatAutoGenerationHeader(RenderAny(c), ELanguage.CS);
var file = RenderFileUtil.GetDefTypePath(c.FullName, ELanguage.CS);
var md5 = CacheFileUtil.GenMd5AndAddCache(file, content);
ctx.GenCodeFilesInOutputCodeDir.Add(new FileInfo() { FilePath = file, MD5 = md5 });
}));
}
}
}
}