OSDN Git Service

#32713 初コミット。SVNrev567時点での、ファイルはbranch/140707(ReBuild XGVersion)から移行したもの。
[dtxmaniaxg-verk/dtxmaniaxg-verk-git.git] / DTXManiaプロジェクト / コード / プラグイン / CPluginHost.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.IO;
5 using System.Drawing;
6 using SlimDX;
7 using SlimDX.Direct3D9;
8 using FDK;
9
10 namespace DTXMania
11 {
12         internal class CPluginHost : IPluginHost
13         {
14                 // コンストラクタ
15
16                 public CPluginHost()
17                 {
18                         this._DTXManiaVersion = new CDTXVersion( CDTXMania.VERSION );
19                 }
20
21
22                 // IPluginHost 実装
23
24                 public CDTXVersion DTXManiaVersion
25                 {
26                         get { return this._DTXManiaVersion; }
27                 }
28                 public Device D3D9Device
29                 {
30                         get { return (CDTXMania.app != null ) ? CDTXMania.app.Device : null; }
31                 }
32                 public Format TextureFormat
33                 {
34                         get { return CDTXMania.TextureFormat; }
35                 }
36                 public CTimer Timer
37                 {
38                         get { return CDTXMania.Timer; }
39                 }
40                 public CSound管理 Sound管理
41                 {
42                         get { return CDTXMania.Sound管理; }
43                 }
44                 public Size ClientSize
45                 {
46                         get { return CDTXMania.app.Window.ClientSize; }
47                 }
48                 public CStage.Eステージ e現在のステージ
49                 {
50                         get { return ( CDTXMania.r現在のステージ != null ) ? CDTXMania.r現在のステージ.eステージID : CStage.Eステージ.何もしない; }
51                 }
52                 public CStage.Eフェーズ e現在のフェーズ
53                 {
54                         get { return ( CDTXMania.r現在のステージ != null ) ? CDTXMania.r現在のステージ.eフェーズID : CStage.Eフェーズ.共通_通常状態; }
55                 }
56                 public bool t入力を占有する(IPluginActivity act)
57                 {
58                         if (CDTXMania.act現在入力を占有中のプラグイン != null)
59                                 return false;
60
61                         CDTXMania.act現在入力を占有中のプラグイン = act;
62                         return true;
63                 }
64                 public bool t入力の占有を解除する(IPluginActivity act)
65                 {
66                         if (CDTXMania.act現在入力を占有中のプラグイン == null || CDTXMania.act現在入力を占有中のプラグイン != act)
67                                 return false;
68
69                         CDTXMania.act現在入力を占有中のプラグイン = null;
70                         return true;
71                 }
72                 public void tシステムサウンドを再生する( Eシステムサウンド sound )
73                 {
74                         if( CDTXMania.Skin != null )
75                                 CDTXMania.Skin[ sound ].t再生する();
76                 }
77                 
78                 
79                 // その他
80
81                 #region [ private ]
82                 //-----------------
83                 private CDTXVersion _DTXManiaVersion;
84                 //-----------------
85                 #endregion
86         }
87 }