「しばりす2」用の自動コンパイル機能を実現するためのPatcherです。
単一/複数のcsファイルからDLLを生成出来ます。
「PluginExt.dll」やその他依存するDLLがあるプラグインもコンパイル出来ます。
リソースを含むDLLも生成出来ます。
設定を外部化しているので、他のUnity製アプリケーションで「しばりす2」を使う場合にもコンフィグファイルを用意するだけで使えるはず。
「Sybaris」フォルダに「Sybaris.AutoCompile.Patcher.dll」を入れてください。
初回起動時に「Sybaris\Config」にコンフィグファイル「Sybaris.AutoCompile.Patcher.xml」が作られます。
初期値はCOM3D2/CM3D2のプラグインがコンパイル出来る設定になっています。
コンパイルするには「Sybaris\UnityInjector\AutoCompile」フォルダを作り、その中にcsファイルを入れて起動してください。
「CscPath」 :コンパイルに使うcsc.exeのパスを指定します。
「AutoCompilePath」:「AutoCompile」フォルダのパスです。
「OutPath」 :DLLが出力されるパスです。
「BaseOption」 :csc.exeに渡す基本の引数です。
「LibPath」 :参照するDLLがあるパスのリストです。
「IgnoreDll」 :参照から除外するDLLのリストです。
相対パスで指定する場合、「Sybaris.AutoCompile.Patcher.dll」があるフォルダからの相対パスとして解釈されます。
COM3D2以外のゲームで使う場合や、「PluginExt.dll」等に依存するプラグインを作る為に、参照として「LibPath」で指定したフォルダに入っているDLLを全て/r:オプションとして指定する様にしています。
不要な参照は無視してくれるので問題ないのですが、使用しているプラグインやコンパイルするソースによっては型の競合警告(CS0436)等が出る場合があります。
(警告なのでDLLは出来上がります)
参照から除外したいDLLがある場合は「IgnoreDll」で指定してください。
「しばりす2」用ではありますが、一応「しばりす」でも使用は可能です。
ただ、コンフィグファイルは書き換える必要があるので、おまけとして用意しました。
元の「しばりす」に自動コンパイル機能があるので特に無くても困らないですが。
「AutoCompile」フォルダは「しばりす」が使っているので「AutoCompile2」フォルダにソースを入れるように設定しています。
テスト用にコンパイル出来るサンプルプラグインも用意しました。
AutoCompile用にソースを公開して下さるプラグイン製作者様が配布の際に参考にして頂けると幸いです。
GitHubでのライセンスは一番緩そうなMITライセンスにしていますが、
基本的なスタンスはこれまでの↓から変更はありません。
改変、転載、ご自由にどうぞ。
プルリクエストも大歓迎です。
他のUnity製アプリケーションで使う場合、適宜設定したコンフィグファイルと共に配布して頂いて構いません。
※MODはKISSサポート対象外です。
※MODを利用するに当たり、問題が発生してもKISSは一切の責任を負いかねます。
※カスタムメイド3D2を購入されている方のみが利用できます。
※カスタムメイド3D2上で表示する目的以外の利用は禁止します。
※これらの事項は http://kisskiss.tv/kiss/diary.php?no=558 を優先します。