OSDN Git Service

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