using Bright.Serialization; using System.Threading.Tasks; {{ name = x.name namespace = x.namespace tables = x.tables }} namespace {{namespace}} { public sealed class {{name}} { {{~for table in tables ~}} {{~if table.comment != '' ~}} /// /// {{table.escape_comment}} /// {{~end~}} public {{table.full_name}} {{table.name}} {get; private set; } {{~end~}} public {{name}}() { } public async Task LoadAsync(System.Func> loader) { var tables = new System.Collections.Generic.Dictionary(); {{~for table in tables ~}} {{table.name}} = new {{table.full_name}}(await loader("{{table.output_data_file}}")); tables.Add("{{table.full_name}}", {{table.name}}); {{~end~}} {{~for table in tables ~}} {{table.name}}.Resolve(tables); {{~end~}} } public void TranslateText(System.Func translator) { {{~for table in tables ~}} {{table.name}}.TranslateText(translator); {{~end~}} } } }