Шаблон C#-скрипта для Entity
Шаблон создаёт исходный файл один раз; исключите заготовки из компиляции проекта.
Проектный шаблон
В editor/script/templates_search_path задаётся папка шаблонов проекта. Для примера используйте asset://script_templates и файл script_templates/Entity/counter.cs. Entity здесь — базовый тип, для которого предлагается шаблон.
// meta-name: Ready counter
// meta-description: Count readiness calls on an Entity script.
// meta-space-indent: 4
using _BINDINGS_NAMESPACE_;
public partial class _CLASS_ : _BASE_
{
public int ReadyCalls { get; private set; }
public override void _Ready()
{
ReadyCalls++;
ReckfellApi.Print("TEMPLATE_READY " + Name);
}
}Строки // meta- задают подпись, описание и размер отступа. BINDINGS_NAMESPACE заменяется на Reckfell, BASE — на выбранный базовый класс, CLASS — на имя создаваемого класса. Редактор также обрабатывает TS как единицу отступа.
Не компилировать заготовки
Добавьте в существующий .csproj внутри Project:
<ItemGroup>
<Compile Remove="script_templates/**/*.cs" />
</ItemGroup>Иначе стандартный поиск C#-файлов может включить заготовку с ещё не заменёнными именами. .reckfellignore управляет импортом редактора, а не правилом Compile в MSBuild.
Создать и проверить
Откройте создание C#-скрипта для Entity, включите использование шаблона и выберите Ready counter. Создайте GeneratedCounter.cs. После замены маркеров класс должен называться GeneratedCounter, наследоваться от Entity и содержать partial.
Пересоберите проект и прикрепите созданный файл к Entity. В _Ready ожидается TEMPLATE_READY с именем объекта, ReadyCalls становится 1. Изменение шаблона не обновляет уже созданные скрипты.
Здесь проверены подстановки по исходникам, сборка полученного файла и выполнение в движке. Создание через диалог редактора не заменено обещанием о проверенном клике: если шаблон не виден, проверьте настройку пути, папку Entity, расширение .cs и выбранный язык.