Protocol: GravShip -GravShipFrameWork
GrabShipFramework は、RimWorld のグラブシップ(Gravship)離陸・着陸イベントを 他の MOD が安全に受け取れるようにするための汎用プラグインフレームワークです。 ● ShipPluginDef によるプラグイン宣言方式 XML で targetClassType とメソッド名を記述するだけで連携が成立します。 MOD同士が互いの DLL を参照する必要はありません。 ● Reflectionベースの自動検出 起動時に全アセンブリを走査し、指定されたクラスと静的メソッドを自動登録します。 ロード順や依存関係に左右されず、
GrabShipFramework は、RimWorld のグラブシップ(Gravship)離陸・着陸イベントを
他の MOD が安全に受け取れるようにするための汎用プラグインフレームワークです。
● ShipPluginDef によるプラグイン宣言方式
XML で targetClassType とメソッド名を記述するだけで連携が成立します。
MOD同士が互いの DLL を参照する必要はありません。
● Reflectionベースの自動検出
起動時に全アセンブリを走査し、指定されたクラスと静的メソッドを自動登録します。
ロード順や依存関係に左右されず、安全に動作します。
● 離陸・着陸イベントのディスパッチ
グラブシップの離陸時(TakeOff)、着陸時(Land)に
登録されたプラグインメソッドが呼び出されます。
● shipId による一意識別
各グラブシップは固有の shipId で管理され、
地上・飛行中の状態判定やデータ退避に利用できます。
● 非導入環境では何も起きない安全設計
GrabShipFramework が有効化されていない場合、
プラグインは自動的に無効化され、他 MOD へ影響を与えません。
MOD作者は、ShipPluginDef を記述し、対応する静的メソッドを用意するだけで
グラブシップの離着陸イベントに安全にフックできます。
Void型 任意メソッド名(Map map,int ShipId)
Protocol: Live-Wire - Live Electrical Construction Accidentsにひな型Def.xmlあります。