YmmeUtil
YMM4 Plugin utilities library
Install / Use
/learn @InuInu2022/YmmeUtilREADME
YmmeUtil
YMM4 Plugin utilities library
これはなに
YMM4のプラグイン(ymme等)を開発するときに便利なユーティリティライブラリです。
注意点
- これ自体はYMM4のプラグインではありません。
- ただの.NETのクラスライブラリです。
- YMM4のプラグインを開発するときに参照して使う用です。
使い方
複数のプロジェクトがあるので参照して使ってください。
バージョン不一致の解決
複数のプラグインから異なるバージョンのYmmeUtilを参照すると、 最初にYmm4本体に読み込まれたDllしか使用されず、正しく機能しない問題があります。 (.NETの仕様)
ILRepack を利用してYmmeUtilのDllをプラグインDLLに埋め込むことで回避できる可能性があります。
詳しくは sandbox/plugin/ObjectListTest の ILRepack.targets を見てください。
YmmeUtil.Common
YMM4の実装に依存しない便利クラスが入っています。
AssemblyUtil.GetVersion()/GetVersionString()- プラグインのクラスのType型を渡すことでプラグインのVersionを取得できます
- AssemblyInfoのVersionです
- MinVerなどのsem ver.ライブラリを使う前提です
- プラグインのクラスのType型を渡すことでプラグインのVersionを取得できます
UpdateChecker- Githubのreleasesで配布されているYMM4プラグインの更新確認やDL URLの取得を行うクラス
- 詳しくは
tests/UpdateCheckerTest.csをご覧ください!
YmmeUtil.Ymm4
YMM4本体に依存する便利クラスが入っています。
TaskbarUtil- タスクバーに進捗を表示するための処理が入っています
- プラグインの処理で時間が掛かる時など用
GetMainTaskbarInfo()- YMM4のメインウィンドウの
TaskbarInfoを取得(ない場合は生成)
- YMM4のメインウィンドウの
StartIndeterminate()/PauseIndeterminate()/FinishIndeterminate()- トータルの進捗が分からない時用の進捗表示

ShowError()- エラー表示
ShowNormal()- 通常表示
ShowProgress()/FinishProgress()- 進捗%表示
- タスクバーに進捗を表示するための処理が入っています
WindowUtilGetYmmMainWindow()- YMM4のフォーカスされたメインウィンドウを一つ、取得します
GetYmmMainWindows()- YMM4のメインウィンドウをすべて取得します
GetToolWindow(string windowName)- ツールウィンドウを取得します
FocusBack()- 外部のアプリにフォーカスが移った後に呼ぶとYMM4にフォーカスを戻すことができる
YmmeUtil.Bridge
プラグイン向けに公開されていない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
