AtsEXを使ったBve5またはBve6用のプラグインのためのテンプレート
全然クイックじゃないクイックスタートから取り掛かるのがおすすめです
- 取っ掛かりやすいように3種類のプラグインのファイル
- マッププラグイン
- 車両プラグイン
- 拡張機能
- Actionsでのdll自動生成
- 頑張って書いたwiki
- AtsEX
- ver1.0-RC7 - v1.0.40209.1 or later
- Win10 22H2, Win11 22H2 or later
- Visual Studio 2022
- Microsoft Visual Studio Community 2022 (64 ビット) - Current Version 17.5.3
- Visual Studio 2022
- Bve
- BVE Trainsim Version 6.0.7554.619
- AtsEx.CoreExtensions (1.0.0-rc7)
- AtsEx.PluginHost (1.0.0-rc7)
間接参照を含めたすべての依存情報については、各プロジェクトのフォルダにある packages.lock.json
をご確認ください。
- Use this template から新しくリポジトリを作成する
- githubリポジトリの詳細を設定する
- LICENSEの著作権表記を変更する
- 自分の作りたい機能に合わせて設定する
- コードを書く
- リリースする
Use this template
ボタンから新しいリポジトリの作成画面に入るCreate a new repository
で新しくリポジトリを作成する- リポジトリの名前はお好みで
- Description にプラグインの概要とかを書いておくといい
- リポジトリの設定画面でDescriptionやTopicsを設定する
- LICENSEの著作権表記を変更する
- README.md を消した後 README_TEMPLATE.md を README.md にリネームしてtodoを埋める
< > Code
からURLをコピーする- Visual Studio を開いて リポジトリのクローン からコピーしたURLでローカルにクローンする
できないときとかは下のコマンドでできる
git clone https://github.com/USERNAME/REPONAME.git
- AtsExCsTemplate.csproj を開いてすべて保存から適当な場所にslnを生成する
- NuGetからAtsEx関連のライブラリを入れる(ビルドすれば勝手に入る)
- 開発するプラグインの種類に応じて要らないファイルを削除する
- MapPlugin/
- マッププラグイン用のプロジェクト
- VehiclePlugin/
- 車両プラグイン用のプロジェクト
- Extension/
- 拡張機能用のプロジェクト
- MapPlugin/
Properties/AssemblyInfo.cs BveからAtsExのバージョン情報を見たときに表示される内容を設定できます AtsExのバージョン情報画面から見えるのはファイル名と下の3項目です
- AssemblyTitle
- プラグインの名前
- AssemblyDescription
- プラグインの説明
- AssemblyVersion
- プラグインのバージョン
頑張ってゴリゴリ書きましょう
- githubリポジトリの詳細を設定する
- LICENSEの著作権表記を変更する
- README.md を消した後 README_TEMPLATE.md を README.md にリネームしてtodoを埋める
公開ができる状態になったらmainにpushしてtag打ってreleaseを作りましょう
※この項目に書いてあることは環境によって差異があるかもしれないので適宜自分の環境に合わせて読み替えること
そのままの状態でビルドしてもデバッグできないのでBveからAtsEx経由でビルドしたプラグインが読み込めるようにする必要があります
そのためには大きく次のA,Bで2通りのやり方があります
おすすめはBのシンボリックリンク経由です
シンボリックリンク経由だとpdbなどのごみがBve側のディレクトリに散らばったりしなくて嬉しいです
- メニューバー > プロジェクト > (プロジェクト名)のプロパティ を選択しプロジェクトのプロパティ画面を開く
- サイドバー > ビルド を選択しビルドの設定画面を開く
- 出力セクションの出力パスをプラグインの出力先に設定する
- 試しにビルドしてみて出力されるか確認する
- 生成物がない場合はビルドしてダミーのdllを生成する
- 出力ディレクトリ(binの下)にある生成物へのシンボリックリンクをプラグインの配置場所に配置する
- winでシンボリックリンクを簡単に張るにはLink Shell Extensionがおすすめ
- 試しにビルドしてみて更新されるか確認する
- メニューバー > デバッグ > (プロジェクト名)のデバッグプロパティ を選択しプロジェクトのデバッグプロパティ画面を開く
- 開始動作を"外部プログラムの開始"を選択しBveのパスを設定する
- 必要があればコマンドライン引数にシナリオファイルのパスを設定する
- ここでシナリオファイルのパスを設定したらそのシナリオが直接読み込まれる
- 何も指定しなければ普通にシナリオ選択画面が立ち上がる
- 適当にブレークとかを張る
- デバッグを始める
- F5キー
- メニューバーのデバッグとテストの下あたりの開始ボタン(緑の三角形)
- 張ったブレークで止まるか見てみる
- C#は初めてなのでお作法がわかりません
- ミスとか良くないところがあったらissue立てるなりしてくれればできる範囲で対応します
- PR大歓迎!!!
- 自分用に作ったので適当です、自分が欲しい機能をとりあえず入れてます
- AtsExとAtsEXがどっちもあったのでここでは引用を除いてコードに準じてAtsExとしています
- AtsEXが正式な表記っぽい?