YMM4 Plugin utilities library
YMM4のプラグイン(ymme
等)を開発するときに便利なユーティリティライブラリです。
- これ自体はYMM4のプラグインではありません。
- ただの.NETのクラスライブラリです。
- YMM4のプラグインを開発するときに参照して使う用です。
複数のプロジェクトがあるので参照して使ってください。
複数のプラグインから異なるバージョンのYmmeUtilを参照すると、 最初にYmm4本体に読み込まれたDllしか使用されず、正しく機能しない問題があります。 (.NETの仕様)
ILRepack を利用してYmmeUtilのDllをプラグインDLLに埋め込むことで回避できる可能性があります。
詳しくは sandbox/plugin/ObjectListTest の ILRepack.targets
を見てください。
YMM4の実装に依存しない便利クラスが入っています。
AssemblyUtil.GetVersion()
/GetVersionString()
- プラグインのクラスのType型を渡すことでプラグインのVersionを取得できます
- AssemblyInfoのVersionです
- MinVerなどのsem ver.ライブラリを使う前提です
- プラグインのクラスのType型を渡すことでプラグインのVersionを取得できます
UpdateChecker
- Githubのreleasesで配布されているYMM4プラグインの更新確認やDL URLの取得を行うクラス
- 詳しくは
tests/UpdateCheckerTest.cs
をご覧ください!
YMM4本体に依存する便利クラスが入っています。
TaskbarUtil
WindowUtil
GetYmmMainWindow()
- YMM4のフォーカスされたメインウィンドウを一つ、取得します
GetYmmMainWindows()
- YMM4のメインウィンドウをすべて取得します
GetToolWindow(string windowName)
- ツールウィンドウを取得します
FocusBack()
- 外部のアプリにフォーカスが移った後に呼ぶとYMM4にフォーカスを戻すことができる
プラグイン向けに公開されていないYMM4本体機能へアクセスするためのラッパーライブラリです。
YMM4本体のアップデートで機能しなくなる可能性があります。 ただし、その場合でも直接参照するよりこのラッパーを経由することで、プラグイン側の処理は変えなくても済むようになります。
TimelineUtil
- タイムラインにアクセスするためのクラス
ItemEditorUtil
- アイテムエディタ(右側のパネル)にアクセスするためのクラス
Wrap/
Items/
- 各アイテムのラッパークラス
ItemFactory
- 動的なアイテムオブジェクトから適切なラッパーオブジェクトを生成するファクトリクラス
ViewModels/
WrapTimelineItemViewModel
- タイムラインに表示されているアイテムのViewModelのラッパー
- GithubReleaseDownloader
- MIT License
- Copyright (c) 2023 Russell Camo (@russkyc)
- Mayerch1.GithubUpdateCheck
- MIT License
- Copyright (c) 2020 Christian Mayer