Quantcast
Channel: C#タグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9541

コードを生成するコードを作ると人生が楽になる 【Unity】

$
0
0

シーン・サウンド・エフェクト等が追加された事で変数も新しく追加で用意する必要が出てきて
何回も決まりきった流れのコードを追記していく経験はありませんか

これはコードの自動生成で対策することが出来ます。

なにか難しそうに感じると思うのですが、とても単純でコード文を書いてファイル出力するだけで作れます

作り方

   private static string ASSETS_PATH = Application.dataPath + "/";
   private static string SOURCE_TEMPLATE =
    "public class #SCRIPTNAME# \n" +
    "{ \n" +
    "}";

    /// <summary>
    /// ソース出力
    /// </summary>
    /// <param name="fileName"></param>
    private static void CreateSorce(string fileName)
    {
        // インポート開始
        AssetDatabase.StartAssetEditing();

        StreamWriter cs = new StreamWriter(ASSETS_PATH + fileName + ".cs", false, Encoding.UTF8);

        // 書き出すコードを組み立てる
        StringBuilder stringBuilder = new StringBuilder(SOURCE_TEMPLATE);

        // ※ここで用途に合わせ追記

        // ファイルにコードを書き込む
        cs.Write(stringBuilder);

        // ファイルを閉じる
        cs.Close();

        // インポート終了
        AssetDatabase.StopAssetEditing();

        // アセットインポートする
        AssetDatabase.Refresh(ImportAssetOptions.ImportRecursive);
    }

次回はこの仕組みを使って何か便利な仕組みを紹介できればと考えています。


Viewing all articles
Browse latest Browse all 9541

Trending Articles