-
Notifications
You must be signed in to change notification settings - Fork 2
拡張機能
停P edited this page Dec 8, 2023
·
2 revisions
本項ではAtsEXのプラグインのうち拡張機能を扱う
拡張機能は公式によると次のように説明されている
拡張機能は、他の2種類のプラグインとは異なり読み込まれている車両、路線に関わらず常に読み込まれる仕様のプラグインです。
形としては入力デバイスプラグインに近いと言えます。
このことからも、常に読み込まれる必要のある機能の実装や、使用頻度が高く必要に応じて参照する機能の実装などに向いているとわかる
拡張機能を実装する場合には、拡張機能であるという情報をAtsEx側に伝達するため次の設定が必要となる
- プラグインのメインクラスに
PluginType(PluginType.Extension)
属性を付与 -
PluginBase
抽象クラスを継承- 基本的に
PluginBase
から派生したAssemblyPluginBase
抽象クラスを継承
- 基本的に
-
IExtension
インターフェースを実装 -
Tick
でExtensionTickResult
を返す
この時の最小構成を下に引用して示す
[PluginType(PluginType.Extension)]
internal class ExtensionMain : AssemblyPluginBase, IExtension
{
public ExtensionMain(PluginBuilder builder) : base(builder)
{
}
public override void Dispose()
{
}
public override void Tick(TimeSpan elapsed)
{
return new ExtensionTickResult();
}
}
AtsExの導入場所にあるExtensions
フォルダの中にプラグインを配置する
デフォルト: C:\Users\Public\Documents\AtsEx\1.0\Extensions
常に読み込まれるため、参照するために特別な設定は必要ない
拡張機能はBveの起動と同時にAtsEXから呼ばれ、終了時に開放される