Develop and Download Open Source Software

Browse Subversion Repository

Contents of /trunk/DTXManiaプロジェクト/コード/ステージ/08.結果/CActResultRank.cs

Parent Directory Parent Directory | Revision Log Revision Log


Revision 232 - (show annotations) (download)
Wed Jan 15 06:14:57 2014 UTC (10 years, 2 months ago) by ron1120
File size: 10453 byte(s)
#xxxxx ギター用リザルト画面の改善。エクセレント、フルコンボ時に難あり。
1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.Drawing;
5 using SlimDX;
6 using FDK;
7
8 namespace DTXMania
9 {
10 internal class CActResultRank : CActivity
11 {
12 // コンストラクタ
13
14 public CActResultRank()
15 {
16 base.b活性化してない = true;
17 }
18
19
20 // メソッド
21
22 public void tアニメを完了させる()
23 {
24 this.ctランク表示.n現在の値 = this.ctランク表示.n終了値;
25 }
26
27
28 // CActivity 実装
29
30 public override void On活性化()
31 {
32
33 #region [ 本体位置 ]
34 this.n本体1X = 0;
35 this.n本体1Y = 0;
36
37 this.n本体2X = 0;
38 this.n本体2Y = 0;
39
40 this.n本体3X = 0;
41 this.n本体3Y = 0;
42
43
44 if (CDTXMania.ConfigIni.bDrums有効)
45 {
46 this.n本体1X = 138;
47 this.n本体1Y = 8;
48 }
49 else if (CDTXMania.ConfigIni.bGuitar有効)
50 {
51 if (CDTXMania.DTX.bチップがある.Guitar)
52 {
53 this.n本体1X = 138;
54 this.n本体1Y = 8;
55 }
56
57 if (CDTXMania.DTX.bチップがある.Bass)
58 {
59 this.n本体2X = 850;
60 this.n本体2Y = 420;
61 }
62
63 if (CDTXMania.ConfigIni.bIsSwappedGuitarBass && CDTXMania.DTX.bチップがある.Guitar && CDTXMania.DTX.bチップがある.Bass)
64 {
65 this.n本体3X = this.n本体1X;
66 this.n本体3Y = this.n本体1Y;
67 this.n本体1X = this.n本体2X;
68 this.n本体1Y = this.n本体2Y;
69 this.n本体2X = this.n本体3X;
70 this.n本体2Y = this.n本体3Y;
71 }
72 }
73 #endregion
74
75 base.On活性化();
76 }
77 public override void On非活性化()
78 {
79 if( this.ctランク表示 != null )
80 {
81 this.ctランク表示 = null;
82 }
83 base.On非活性化();
84 }
85 public override void OnManagedリソスの作成()
86 {
87 if( !base.b活性化してない )
88 {
89 if (CDTXMania.ConfigIni.bDrums有効)
90 {
91 switch (CDTXMania.stage結果.n総合ランク値)
92 {
93 case 0:
94 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankSS.png"));
95 break;
96
97 case 1:
98 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankS.png"));
99 break;
100
101 case 2:
102 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankA.png"));
103 break;
104
105 case 3:
106 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankB.png"));
107 break;
108
109 case 4:
110 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankC.png"));
111 break;
112
113 case 5:
114 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankD.png"));
115 break;
116
117 case 6:
118 case 99: // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす
119 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankE.png"));
120 break;
121
122 default:
123 this.txランク文字 = null;
124 break;
125 }
126 }
127 else if( CDTXMania.ConfigIni.bGuitar有効 )
128 {
129 switch( CDTXMania.stage結果.nランク値.Guitar )
130 {
131 case 0:
132 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankSS.png"));
133 break;
134
135 case 1:
136 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankS.png"));
137 break;
138
139 case 2:
140 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankA.png"));
141 break;
142
143 case 3:
144 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankB.png"));
145 break;
146
147 case 4:
148 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankC.png"));
149 break;
150
151 case 5:
152 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankD.png"));
153 break;
154
155 case 6:
156 case 99: // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす
157 this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_rankE.png" ) );
158 if( CDTXMania.ConfigIni.bギタが全部オトプレイである )
159 this.txランク文字 = CDTXMania.tテクスチャの生成( CSkin.Path( @"Graphics\8_rankSS.png" ) );
160 break;
161
162 default:
163 this.txランク文字 = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankE.png"));
164 break;
165 }
166 switch (CDTXMania.stage結果.nランク値.Bass)
167 {
168 case 0:
169 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankSS.png"));
170 break;
171
172 case 1:
173 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankS.png"));
174 break;
175
176 case 2:
177 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankA.png"));
178 break;
179
180 case 3:
181 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankB.png"));
182 break;
183
184 case 4:
185 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankC.png"));
186 break;
187
188 case 5:
189 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankD.png"));
190 break;
191
192 case 6:
193 case 99: // #23534 2010.10.28 yyagi: 演奏チップが0個のときは、rankEと見なす
194 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankE.png"));
195 if (CDTXMania.ConfigIni.bスが全部オトプレイである)
196 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankSS.png"));
197 break;
198
199 default:
200 this.txランク文字2P = CDTXMania.tテクスチャの生成(CSkin.Path(@"Graphics\8_rankE.png"));
201 break;
202 }
203 }
204 base.OnManagedリソスの作成();
205 }
206 }
207 public override void OnManagedリソスの解放()
208 {
209 if( !base.b活性化してない )
210 {
211 CDTXMania.tテクスチャの解放( ref this.txランク文字 );
212 CDTXMania.tテクスチャの解放( ref this.txランク文字2P );
213 base.OnManagedリソスの解放();
214 }
215 }
216 public override int On進行描画()
217 {
218 if( base.b活性化してない )
219 {
220 return 0;
221 }
222 if( base.b初めての進行描画 )
223 {
224 this.ctランク表示 = new CCounter(0, 0x3e8, 2, CDTXMania.Timer);
225 base.b初めての進行描画 = false;
226 }
227 this.ctランク表示.t進行();
228 if( this.ctランク表示.n現在の値 >= 500 )
229 {
230 double num2 = ( (double) ( this.ctランク表示.n現在の値 - 500 ) ) / 500.0;
231 if ( this.txランク文字 != null && this.n本体1Y != 0 )
232 {
233 this.txランク文字.t2D描画(CDTXMania.app.Device, this.n本体1X, this.n本体1Y, new Rectangle(0, 0, (int)((double)txランク文字.sz画像サイズ.Width * num2), this.txランク文字.sz画像サイズ.Height));
234 }
235 if ( this.txランク文字2P != null && this.n本体2Y != 0 )
236 {
237 this.txランク文字2P.t2D描画(CDTXMania.app.Device, this.n本体2X, this.n本体2Y, new Rectangle(0, 0, (int)((double)txランク文字.sz画像サイズ.Width * num2), this.txランク文字.sz画像サイズ.Height));
238 }
239 }
240 if( !this.ctランク表示.b終了値に達した )
241 {
242 return 0;
243 }
244 return 1;
245 }
246
247
248 // その他
249
250 #region [ private ]
251 //-----------------
252 private CCounter ctランク表示;
253 private int n本体1X;
254 private int n本体1Y;
255 private int n本体2X;
256 private int n本体2Y;
257 private int n本体3X;
258 private int n本体3Y;
259 private CTexture txランク文字;
260 private CTexture txランク文字2P;
261 //-----------------
262 #endregion
263 }
264 }

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26