OSDN Git Service

#36043 rev.920 で手違いが起きたため、一度 rev.919 に戻し、ファイルを再修正。Ech定義の使用を CChip のプロパティを使うよう一部変更。
[dtxmania/dtxmania.git] / DTXManiaプロジェクト / コード / プラグイン / IPluginActivity.cs
1 using System;\r
2 using System.Collections.Generic;\r
3 using System.Text;\r
4 \r
5 namespace DTXMania\r
6 {\r
7         /// <summary>\r
8         /// <para>Activity プラグインへのインターフェース。</para>\r
9         /// <para>DTXMania は、IPluginActivity に対して、以下のライフサイクルを実行します。</para>\r
10         /// <para>(1) DTXMania の起動処理の最後(セットアップ画面が表示される直前)に一度だけ、On初期化()・OnManagedリソースの作成()・OnUnmanagedリソースの作成() をこの順番で1回ずつ呼び出します。</para>\r
11         /// <para>(2) DTXMania の終了処理の最初(Thank you for playing が消えた直後)に一度だけ、OnUnmanagedリソースの解放()・OnManagedリソースの解放()・On終了() をこの順番で1回ずつ呼び出します。</para>\r
12         /// <para>(3) DTXMania の起動中、すなわち(1)~(2)の間は、どんなシーンであっても、常に On進行描画() を1フレームにつき1回ずつ呼び出します。</para>\r
13         /// <para>(4) Direct3D デバイスのリセット時には、デバイスのリセット前に OnUnmanagedリソースの解放() を1回呼び出し、デバイスをリセットしたのち、OnUnmanagedリソースの作成() を1回呼び出します。</para>\r
14         /// <para>(5) Direct3D デバイスのロスト時には、デバイスの再生成前に OnUnmanagedリソースの解放()・OnManagedリソースの解放() を1回ずつ呼び出し、デバイスを再生成したのち、OnManagedリソースの作成()・OnUnmanagedリソースの作成() を1回ずつ呼び出します。</para>\r
15         /// </summary>\r
16     public interface IPluginActivity\r
17         {\r
18                 /// <summary>\r
19                 /// <para>プラグインの初期化を行います。</para>\r
20                 /// <para>DTXMania の起動処理の最後(セットアップ画面が表示される直前)に、DTXMania から一度だけ呼び出されます。</para>\r
21                 /// <param name="PluginHost">プラグインが、ホスト(DTXMania)の情報にアクセスするためのオブジェクト。</param>\r
22                 /// </summary>\r
23                 void On初期化( DTXMania.IPluginHost PluginHost );\r
24 \r
25                 /// <summary>\r
26                 /// <para>プラグインの終了処理を行います。</para>\r
27                 /// <para>DTXMania の終了処理の最初(Thank you for playing が消えた直後)に、DTXMania から一度だけ呼び出されます。</para>\r
28                 /// </summary>\r
29                 void On終了();\r
30 \r
31                 /// <summary>\r
32                 /// Managed リソースを作成します。\r
33                 /// </summary>\r
34                 void OnManagedリソースの作成();\r
35                 \r
36                 /// <summary>\r
37                 /// Unmanaged リソースを作成します。\r
38                 /// </summary>\r
39                 void OnUnmanagedリソースの作成();\r
40 \r
41                 /// <summary>\r
42                 /// Unmanaged リソースを解放します。\r
43                 /// </summary>\r
44                 void OnUnmanagedリソースの解放();\r
45 \r
46                 /// <summary>\r
47                 /// Managed リソースを解放します。\r
48                 /// </summary>\r
49                 void OnManagedリソースの解放();\r
50 \r
51                 /// <summary>\r
52                 /// <para>プラグインの進行と描画を行います。</para>\r
53                 /// <para>※現在の DTXMania では、進行と描画は分離されていません。</para>\r
54                 /// <para>※BeginScene()/EndScene() は DTXMania 側で行うため、プラグイン側では不要です。</para>\r
55                 /// <para>※keyboard.tポーリング() は DTXMania 側で行いますのでプラグイン側では行わないで下さい。</para>\r
56                 /// <param name="pad">パッド入力。他のプラグインが入力占有中である場合は null が渡されます。</param>\r
57                 /// <param name="keyboard">キーボード入力。他のプラグインが入力占有中である場合は null が渡されます。</param>\r
58                 /// </summary>\r
59                 void On進行描画( DTXMania.CPad pad, FDK.IInputDevice keyboard );\r
60 \r
61                 /// <summary>\r
62                 /// <para>ステージが変わる度に呼び出されます。</para>\r
63                 /// <para>呼び出しタイミングは、新しいステージの活性化直後かつ描画開始前です。</para>\r
64                 /// </summary>\r
65     void Onステージ変更(CConfigIni config);\r
66 \r
67                 /// <summary>\r
68                 /// <para>選曲画面で選択曲が変更された場合に呼び出されます。</para>\r
69                 /// <para>同じ set.def に属する曲の難易度が(HH×2で)変更された場合でも呼び出されます。</para>\r
70                 /// <para>ただし、選択が曲でない(BOX, BACK, RANDOM など)場合には呼び出されません。</para>\r
71                 /// </summary>\r
72                 /// <param name="str選択曲ファイル名">選択されている曲のファイルの名前。絶対パス。</param>\r
73                 /// <param name="setDef">選択されている曲の set.def の情報。set.def が存在しなければ null を渡します。</param>\r
74                 /// <param name="nブロック番号inSetDef">選択されている曲のset.defブロック番号(0~)。setDef.blocks[]の引数です。set.def が存在しなければ負数を渡します。</param>\r
75                 /// <param name="n曲番号inブロック">選択されている曲のブロック内の曲番号(0~4)。setDef.blocks[nブロック番号inSetDef].File[]/Label[]の引数です。set.def が存在しなければ負数を渡します。\r
76                 /// この番号は、選曲画面でプレイヤーが目にしているレベル(L1~L5)に常に対応するとは限りません。</param>\r
77                 void On選択曲変更( string str選択曲ファイル名, DTXMania.CSetDef setDef, int nブロック番号inSetDef, int n曲番号inブロック );\r
78 \r
79                 void On演奏クリア( DTXMania.CScoreIni scoreIni );\r
80                 void On演奏失敗( DTXMania.CScoreIni scoreIni );\r
81                 void On演奏キャンセル( DTXMania.CScoreIni scoreIni );\r
82         }\r
83 }\r