しゅみぷろ

プログラミングとか

C# Interactive 便利に使おう -その2 UnityAssemblyの参照-

はじめに

esprog.hatenablog.com

以前のC# Interactive記事では、DLLの参照について書きました。 今回はUnity + Visual Studioで開発を進めている方向けに、Unityに特化したDLL参照について書き残します。

できること

f:id:es_program:20161012235002p:plain:w500

C# Interactiveで、現在Unity Editor上で使っているDLLを使うことが出来るようになります。 UnityEngineの機能は勿論、自身が開発した機能も使うことが出来ます

例えば、Unityで以下のようなスクリプトを作ったとします。

namespace Test
{
    public static class Math
    {
        public static int Add(int a, int b)
        {
            return a + b;
        }
    }
}

これを手軽にテストするのに、C# Interactiveをもちいて以下のように出来ます。

f:id:es_program:20161013000929p:plain

使い方

Unityで利用しているアセンブリをロードするcsxファイルを生成する

上記ファイルをUnityのプロジェクトファイルに入れるだけで準備OK。

f:id:es_program:20161013001156p:plain:w500

あとはC# Interactive上で

> #load ".\CreateUnityAssembliesLoader.csx"
> #load ".\LoadUnityAssemblies.csx"

とコマンドを実行します。後は好きなように使えます。

注意点として、一度ロードした後にUnity上で再度コンパイルした場合、一度

#reset

コマンドを実行してから

> #load ".\CreateUnityAssembliesLoader.csx"
> #load ".\LoadUnityAssemblies.csx"

しないと、参照しているAssemblyが更新されません。