« Kerbal Space ProgramのパーツMODを作る 2 | トップページ | Kerbal Space ProgramのパーツMODを作る 4 »

2015年7月14日 (火)

Kerbal Space ProgramのパーツMODを作る 3

パーツの振る舞いをバニラとは変えたいので、コードを書かなければならない。

KSPのMODはUnityが提供するMonoBehaviourを継承する必要がある。
Microsoftが「Visual Studio Tools for Unity」というツールを提供しており、これを使えばUnityからVisual Studioを呼び出せるようだ。しかし、Unityは重いから使いたくない。どうせデバッグはKSPでするのだし。
ということでUnityに乗っからず開発する方法を試してみる。
Visual C#でC:\Program Files\Unity\Editor\Data\PlaybackEngines\windowsstandalonesupport\Variations\win64_nondevelopment_mono\Data\Managed\UnityEngine.dllを参照に追加することでMonoBehaviourを継承できるようになった。
クラスにKSPAddon属性を追加する必要があるのだが、これはC:\Program Files (x86)\Steam\SteamApps\common\Kerbal Space Program\KSP_Data\Managed\Assembly-CSharp.dllを参照に追加すればよい。
コード:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using UnityEngine;
namespace ClassLibrary1
{
    [KSPAddon(KSPAddon.Startup.Flight, false)]
    public class Class1 : MonoBehaviour
    {
        void Awake()
        {
            Debug.Log("Hello World!");
        }
    }
}
LaunchしたときのKSP.log:
[LOG 19:50:57.695] Hello World!
フォーラムにMOD開発に関するリンクがたくさんあるが、NoAttach tagは使いそう。
CFG File Documentationも役に立つ。

« Kerbal Space ProgramのパーツMODを作る 2 | トップページ | Kerbal Space ProgramのパーツMODを作る 4 »

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/1499066/60740350

この記事へのトラックバック一覧です: Kerbal Space ProgramのパーツMODを作る 3:

« Kerbal Space ProgramのパーツMODを作る 2 | トップページ | Kerbal Space ProgramのパーツMODを作る 4 »