OSDN Git Service

Merge branch 'feature/37178_プロジェクトとソリューションファイルの英語化' into develop
[dtxmania/dtxmania.git] / DTXMania / コード / ステージ / 07.演奏 / TypesForPlayStage.cs
diff --git a/DTXMania/コード/ステージ/07.演奏/TypesForPlayStage.cs b/DTXMania/コード/ステージ/07.演奏/TypesForPlayStage.cs
new file mode 100644 (file)
index 0000000..5983456
--- /dev/null
@@ -0,0 +1,191 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Reflection;
+using FDK;
+using System.Runtime;
+using System.Runtime.InteropServices;
+
+namespace DTXMania
+{
+       internal partial class CStage演奏画面共通
+       {
+               protected enum HitState
+               {
+                       NotHit,
+                       Hit,
+                       DontCare
+               }
+               protected class CHitCountOfRank
+               {
+                       // Fields
+                       public int Good;
+                       public int Great;
+                       public int Miss;
+                       public int Perfect;
+                       public int Poor;
+
+                       // Properties
+                       public int this[int index]
+                       {
+                               get
+                               {
+                                       switch (index)
+                                       {
+                                               case 0:
+                                                       return this.Perfect;
+
+                                               case 1:
+                                                       return this.Great;
+
+                                               case 2:
+                                                       return this.Good;
+
+                                               case 3:
+                                                       return this.Poor;
+
+                                               case 4:
+                                                       return this.Miss;
+                                       }
+                                       throw new IndexOutOfRangeException();
+                               }
+                               set
+                               {
+                                       switch (index)
+                                       {
+                                               case 0:
+                                                       this.Perfect = value;
+                                                       return;
+
+                                               case 1:
+                                                       this.Great = value;
+                                                       return;
+
+                                               case 2:
+                                                       this.Good = value;
+                                                       return;
+
+                                               case 3:
+                                                       this.Poor = value;
+                                                       return;
+
+                                               case 4:
+                                                       this.Miss = value;
+                                                       return;
+                                       }
+                                       throw new IndexOutOfRangeException();
+                               }
+                       }
+               }
+
+               [StructLayout(LayoutKind.Sequential)]
+               protected struct ST空打ち
+               {
+                       public CChip HH;
+                       public CChip SD;
+                       public CChip BD;
+                       public CChip HT;
+                       public CChip LT;
+                       public CChip FT;
+                       public CChip CY;
+                       public CChip HHO;
+                       public CChip RD;
+                       public CChip LC;
+                       public CChip this[int index]
+                       {
+                               get
+                               {
+                                       switch (index)
+                                       {
+                                               case 0:
+                                                       return this.HH;
+
+                                               case 1:
+                                                       return this.SD;
+
+                                               case 2:
+                                                       return this.BD;
+
+                                               case 3:
+                                                       return this.HT;
+
+                                               case 4:
+                                                       return this.LT;
+
+                                               case 5:
+                                                       return this.FT;
+
+                                               case 6:
+                                                       return this.CY;
+
+                                               case 7:
+                                                       return this.HHO;
+
+                                               case 8:
+                                                       return this.RD;
+
+                                               case 9:
+                                                       return this.LC;
+                                       }
+                                       throw new IndexOutOfRangeException();
+                               }
+                               set
+                               {
+                                       switch (index)
+                                       {
+                                               case 0:
+                                                       this.HH = value;
+                                                       return;
+
+                                               case 1:
+                                                       this.SD = value;
+                                                       return;
+
+                                               case 2:
+                                                       this.BD = value;
+                                                       return;
+
+                                               case 3:
+                                                       this.HT = value;
+                                                       return;
+
+                                               case 4:
+                                                       this.LT = value;
+                                                       return;
+
+                                               case 5:
+                                                       this.FT = value;
+                                                       return;
+
+                                               case 6:
+                                                       this.CY = value;
+                                                       return;
+
+                                               case 7:
+                                                       this.HHO = value;
+                                                       return;
+
+                                               case 8:
+                                                       this.RD = value;
+                                                       return;
+
+                                               case 9:
+                                                       this.LC = value;
+                                                       return;
+                                       }
+                                       throw new IndexOutOfRangeException();
+                               }
+                       }
+               }
+
+               protected struct STMixer
+               {
+                       internal bool bIsAdd;
+                       internal CSound csound;
+                       internal bool b演奏終了後も再生が続くチップである;
+               };
+
+       }
+}