OSDN Git Service

5983456764e94cdce80dbdfa1143a3d0dc2ede13
[dtxmania/dtxmania.git] / DTXMania / コード / ステージ / 07.演奏 / TypesForPlayStage.cs
1 using System;
2 using System.Collections.Generic;
3 using System.Linq;
4 using System.Text;
5 using System.Threading.Tasks;
6 using System.Reflection;
7 using FDK;
8 using System.Runtime;
9 using System.Runtime.InteropServices;
10
11 namespace DTXMania
12 {
13         internal partial class CStage演奏画面共通
14         {
15                 protected enum HitState
16                 {
17                         NotHit,
18                         Hit,
19                         DontCare
20                 }
21                 protected class CHitCountOfRank
22                 {
23                         // Fields
24                         public int Good;
25                         public int Great;
26                         public int Miss;
27                         public int Perfect;
28                         public int Poor;
29
30                         // Properties
31                         public int this[int index]
32                         {
33                                 get
34                                 {
35                                         switch (index)
36                                         {
37                                                 case 0:
38                                                         return this.Perfect;
39
40                                                 case 1:
41                                                         return this.Great;
42
43                                                 case 2:
44                                                         return this.Good;
45
46                                                 case 3:
47                                                         return this.Poor;
48
49                                                 case 4:
50                                                         return this.Miss;
51                                         }
52                                         throw new IndexOutOfRangeException();
53                                 }
54                                 set
55                                 {
56                                         switch (index)
57                                         {
58                                                 case 0:
59                                                         this.Perfect = value;
60                                                         return;
61
62                                                 case 1:
63                                                         this.Great = value;
64                                                         return;
65
66                                                 case 2:
67                                                         this.Good = value;
68                                                         return;
69
70                                                 case 3:
71                                                         this.Poor = value;
72                                                         return;
73
74                                                 case 4:
75                                                         this.Miss = value;
76                                                         return;
77                                         }
78                                         throw new IndexOutOfRangeException();
79                                 }
80                         }
81                 }
82
83                 [StructLayout(LayoutKind.Sequential)]
84                 protected struct ST空打ち
85                 {
86                         public CChip HH;
87                         public CChip SD;
88                         public CChip BD;
89                         public CChip HT;
90                         public CChip LT;
91                         public CChip FT;
92                         public CChip CY;
93                         public CChip HHO;
94                         public CChip RD;
95                         public CChip LC;
96                         public CChip this[int index]
97                         {
98                                 get
99                                 {
100                                         switch (index)
101                                         {
102                                                 case 0:
103                                                         return this.HH;
104
105                                                 case 1:
106                                                         return this.SD;
107
108                                                 case 2:
109                                                         return this.BD;
110
111                                                 case 3:
112                                                         return this.HT;
113
114                                                 case 4:
115                                                         return this.LT;
116
117                                                 case 5:
118                                                         return this.FT;
119
120                                                 case 6:
121                                                         return this.CY;
122
123                                                 case 7:
124                                                         return this.HHO;
125
126                                                 case 8:
127                                                         return this.RD;
128
129                                                 case 9:
130                                                         return this.LC;
131                                         }
132                                         throw new IndexOutOfRangeException();
133                                 }
134                                 set
135                                 {
136                                         switch (index)
137                                         {
138                                                 case 0:
139                                                         this.HH = value;
140                                                         return;
141
142                                                 case 1:
143                                                         this.SD = value;
144                                                         return;
145
146                                                 case 2:
147                                                         this.BD = value;
148                                                         return;
149
150                                                 case 3:
151                                                         this.HT = value;
152                                                         return;
153
154                                                 case 4:
155                                                         this.LT = value;
156                                                         return;
157
158                                                 case 5:
159                                                         this.FT = value;
160                                                         return;
161
162                                                 case 6:
163                                                         this.CY = value;
164                                                         return;
165
166                                                 case 7:
167                                                         this.HHO = value;
168                                                         return;
169
170                                                 case 8:
171                                                         this.RD = value;
172                                                         return;
173
174                                                 case 9:
175                                                         this.LC = value;
176                                                         return;
177                                         }
178                                         throw new IndexOutOfRangeException();
179                                 }
180                         }
181                 }
182
183                 protected struct STMixer
184                 {
185                         internal bool bIsAdd;
186                         internal CSound csound;
187                         internal bool b演奏終了後も再生が続くチップである;
188                 };
189
190         }
191 }