はじめに
「t4-templates-unity3d」を Unity プロジェクトに導入することで
Unity で T4テンプレートを使用できるようになります
使い方
Unity プロジェクトに拡張子が「.tt」のファイルを追加します
そして、.tt ファイルにコードを記述して、Inspector で「Generate」ボタンを押すと、
T4テンプレートを元に C# のコードが生成されます
例
<#@ template debug="false" hostspecific="true" language="C#v3.5" #> <#@ assembly name="System.Core" #> <#@ import namespace="System.IO" #> <#@ import namespace="System.Linq" #> <#@ import namespace="UnityEngine" #> <#@ import namespace="UnityEditor" #> <#@ output extension=".cs" #> public class Example { <# var scenes = EditorBuildSettings.scenes .Select(c => Path.GetFileNameWithoutExtension(c.path)) .Distinct() ; foreach (var n in scenes) { #> public const string <#= n #> = "<#= n #>"; <# } #> }
上記のような .tt ファイルを用意して、C# のコードを Generate すると
public class Example { public const string Example1 = "Example1"; public const string Example2 = "Example2"; public const string Example3 = "Example3"; }
このような、シーン名を定数で管理する C# のクラスが生成されます