namespace TJAPlayer3 { /// /// Activity プラグインへのインターフェース。 /// DTXMania は、IPluginActivity に対して、以下のライフサイクルを実行します。 /// (1) DTXMania の起動処理の最後(セットアップ画面が表示される直前)に一度だけ、On初期化()_OnManagedリソースの作成()_OnUnmanagedリソースの作成() をこの順番で1回ずつ呼び出します。 /// (2) DTXMania の終了処理の最初(Thank you for playing が消えた直後)に一度だけ、OnUnmanagedリソースの解放()_OnManagedリソースの解放()_On終了() をこの順番で1回ずつ呼び出します。 /// (3) DTXMania の起動中、すなわち(1)~(2)の間は、どんなシーンであっても、常に On進行描画() を1フレームにつき1回ずつ呼び出します。 /// (4) Direct3D デバイスのリセット時には、デバイスのリセット前に OnUnmanagedリソースの解放() を1回呼び出し、デバイスをリセットしたのち、OnUnmanagedリソースの作成() を1回呼び出します。 /// (5) Direct3D デバイスのロスト時には、デバイスの再生成前に OnUnmanagedリソースの解放()_OnManagedリソースの解放() を1回ずつ呼び出し、デバイスを再生成したのち、OnManagedリソースの作成()_OnUnmanagedリソースの作成() を1回ずつ呼び出します。 /// public interface IPluginActivity { /// /// プラグインの初期化を行います。 /// DTXMania の起動処理の最後(セットアップ画面が表示される直前)に、DTXMania から一度だけ呼び出されます。 /// プラグインが、ホスト(DTXMania)の情報にアクセスするためのオブジェクト。 /// void On初期化( global::TJAPlayer3.IPluginHost PluginHost ); /// /// プラグインの終了処理を行います。 /// DTXMania の終了処理の最初(Thank you for playing が消えた直後)に、DTXMania から一度だけ呼び出されます。 /// void On終了(); /// /// Managed リソースを作成します。 /// void OnManagedリソースの作成(); /// /// Unmanaged リソースを作成します。 /// void OnUnmanagedリソースの作成(); /// /// Unmanaged リソースを解放します。 /// void OnUnmanagedリソースの解放(); /// /// Managed リソースを解放します。 /// void OnManagedリソースの解放(); /// /// プラグインの進行と描画を行います。 /// ※現在の DTXMania では、進行と描画は分離されていません。 /// ※BeginScene()/EndScene() は DTXMania 側で行うため、プラグイン側では不要です。 /// ※keyboard.tポーリング() は DTXMania 側で行いますのでプラグイン側では行わないで下さい。 /// パッド入力。他のプラグインが入力占有中である場合は null が渡されます。 /// キーボード入力。他のプラグインが入力占有中である場合は null が渡されます。 /// void On進行描画( global::TJAPlayer3.CPad pad, FDK.IInputDevice keyboard ); /// /// ステージが変わる度に呼び出されます。 /// 呼び出しタイミングは、新しいステージの活性化直後かつ描画開始前です。 /// void Onステージ変更(); /// /// 選曲画面で選択曲が変更された場合に呼び出されます。 /// 同じ set.def に属する曲の難易度が(HH×2で)変更された場合でも呼び出されます。 /// ただし、選択が曲でない(BOX, BACK, RANDOM など)場合には呼び出されません。 /// /// 選択されている曲のファイルの名前。絶対パス。 /// 選択されている曲のブロック内の曲番号(0~4)。 void On選択曲変更( string str選択曲ファイル名, int n曲番号inブロック ); void On演奏クリア( global::TJAPlayer3.CScoreIni scoreIni ); void On演奏失敗( global::TJAPlayer3.CScoreIni scoreIni ); void On演奏キャンセル( global::TJAPlayer3.CScoreIni scoreIni ); } }