using Godot; using System; using System.Linq; using Godot.Collections; namespace BITKit; [GlobalClass] public partial class ScriptableTemplate : TemplateResource { [Export] private Array templates; public override FormResource[] GetTemplates() => templates.ToArray(); public override string[] GetTemplateNames() => templates.Select(x => x.Name).ToArray(); public override FormResource GetTemplate(string name) => templates.Single(x => x.Name == name); public override bool IsSupportCreateTemplate => true; public override FormResource CreateTemplate() { var @new = new ExampleFormResource("New Template" + DateTime.Now); templates.Add(@new); return @new; } public override void DeleteTemplate(string name) { throw new NotImplementedException(); } }