2 using System.Collections.Generic;
\r
4 using System.Runtime.InteropServices;
\r
5 using System.Drawing;
\r
9 using Rectangle = System.Drawing.Rectangle;
\r
10 using Color = System.Drawing.Color;
\r
11 using SlimDXKey = SlimDX.DirectInput.Key;
\r
15 internal class CActConfigKeyAssign : CActivity
\r
17 public bool bキー入力待ちの最中である
\r
21 return this.bキー入力待ち;
\r
25 public void t開始(EPad pad, string strパッド名)
\r
28 this.strパッド名 = strパッド名;
\r
29 for (int i = 0; i < CConfigXml.AssignableCodes - 2; i++)
\r
31 this.structReset用KeyAssign[i].InputDevice = CDTXMania.Instance.ConfigIni.KeyAssign[pad][i].入力デバイス;
\r
32 this.structReset用KeyAssign[i].ID = CDTXMania.Instance.ConfigIni.KeyAssign[pad][i].ID;
\r
33 this.structReset用KeyAssign[i].Code = CDTXMania.Instance.ConfigIni.KeyAssign[pad][i].コード;
\r
37 public void tEnter押下()
\r
41 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
42 if (ptr == CConfigXml.AssignableCodes - 2)
\r
44 for (int i = 0; i < CConfigXml.AssignableCodes - 2; i++)
\r
46 CDTXMania.Instance.ConfigIni.KeyAssign[pad][i].CopyFrom(this.structReset用KeyAssign[i]);
\r
50 else if (ptr == CConfigXml.AssignableCodes - 1)
\r
53 CDTXMania.Instance.stageコンフィグ.tアサイン完了通知();
\r
56 this.bキー入力待ち = true;
\r
60 public void OnNext()
\r
64 CDTXMania.Instance.Skin.soundカーソル移動音.t再生する();
\r
66 ptr %= CConfigXml.AssignableCodes;
\r
70 public void OnPrevious()
\r
74 CDTXMania.Instance.Skin.soundカーソル移動音.t再生する();
\r
76 ptr += CConfigXml.AssignableCodes;
\r
77 ptr %= CConfigXml.AssignableCodes;
\r
81 public override void On活性化()
\r
85 this.pad = EPad.Unknown;
\r
88 this.bキー入力待ち = false;
\r
89 this.structReset用KeyAssign = new CKeyAssign[CConfigXml.AssignableCodes - 2];
\r
90 for (int i = 0; i < this.structReset用KeyAssign.Length; ++i)
\r
92 structReset用KeyAssign[i] = new CKeyAssign(EInputDevice.Unknown, 0, 0);
\r
99 public override void On非活性化()
\r
103 TextureFactory.tテクスチャの解放(ref this.txカーソル);
\r
104 TextureFactory.tテクスチャの解放(ref this.txHitKeyダイアログ);
\r
109 public override void OnManagedリソースの作成()
\r
113 this.prvFont = new CPrivateFastFont(CSkin.Path(@"Graphics\fonts\mplus-1p-heavy.ttf"), (int)(18 * Scale.Y)); // t項目リストの設定 の前に必要
\r
114 this.txカーソル = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig menu cursor.png"), false);
\r
115 this.txHitKeyダイアログ = TextureFactory.tテクスチャの生成(CSkin.Path(@"Graphics\ScreenConfig hit key to assign dialog.png"), false);
\r
116 base.OnManagedリソースの作成();
\r
120 public override void OnManagedリソースの解放()
\r
124 TextureFactory.t安全にDisposeする(ref prvFont);
\r
128 public override int On進行描画()
\r
134 if (CDTXMania.Instance.Input管理.Keyboard.bキーが押された((int)SlimDXKey.Escape))
\r
136 CDTXMania.Instance.Skin.sound取消音.t再生する();
\r
137 this.bキー入力待ち = false;
\r
138 CDTXMania.Instance.Input管理.tポーリング(CDTXMania.Instance.bApplicationActive, false);
\r
140 else if ((this.tキーチェックとアサイン_Keyboard() || this.tキーチェックとアサイン_MidiIn()) || (this.tキーチェックとアサイン_Joypad() || this.tキーチェックとアサイン_Mouse()))
\r
142 this.bキー入力待ち = false;
\r
143 CDTXMania.Instance.Input管理.tポーリング(CDTXMania.Instance.bApplicationActive, false);
\r
146 else if (CDTXMania.Instance.Input管理.Keyboard.bキーが押された((int)SlimDXKey.Delete))
\r
148 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
149 CDTXMania.Instance.ConfigIni.KeyAssign[this.pad][ptr].Reset();
\r
152 if (this.txカーソル != null)
\r
156 int num3 = 0x3e + (num * (ptr + 1));
\r
157 this.txカーソル.vc拡大縮小倍率 = new Vector3(1f, 0.75f, 1f);
\r
158 this.txカーソル.t2D描画(CDTXMania.Instance.Device, num2 * Scale.X, num3 * Scale.Y - 6, new Rectangle(0, 0, (int)(0x10 * Scale.X), (int)(0x20 * Scale.Y)));
\r
160 Rectangle rectangle = new Rectangle((int)(8 * Scale.X), 0, (int)(0x10 * Scale.X), (int)(0x20 * Scale.Y));
\r
161 for (int j = 0; j < 14; j++)
\r
163 this.txカーソル.t2D描画(CDTXMania.Instance.Device, num2 * Scale.X, num3 * Scale.Y - 6, rectangle);
\r
166 this.txカーソル.t2D描画(CDTXMania.Instance.Device, num2 * Scale.X, num3 * Scale.Y - 6, new Rectangle((int)(0x10 * Scale.X), 0, (int)(0x10 * Scale.X), (int)(0x20 * Scale.Y)));
\r
172 using (Bitmap bmpStr = prvFont.DrawPrivateFont(this.strパッド名, Color.White, Color.Black))
\r
174 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr);
\r
175 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
176 txStr.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y - 20);
\r
177 TextureFactory.tテクスチャの解放(ref txStr);
\r
183 for (int i = 0; i < CConfigXml.AssignableCodes - 2; i++)
\r
185 COptionKeyAssign stkeyassignArray = CDTXMania.Instance.ConfigIni.KeyAssign[this.pad][i];
\r
186 switch (stkeyassignArray.入力デバイス)
\r
188 case EInputDevice.Keyboard:
\r
189 this.tアサインコードの描画_Keyboard(i + 1, x + 20, y, stkeyassignArray.ID, stkeyassignArray.コード, ptr == i);
\r
192 case EInputDevice.MIDIIn:
\r
193 this.tアサインコードの描画_MidiIn(i + 1, x + 20, y, stkeyassignArray.ID, stkeyassignArray.コード, ptr == i);
\r
196 case EInputDevice.JoyPad:
\r
197 this.tアサインコードの描画_Joypad(i + 1, x + 20, y, stkeyassignArray.ID, stkeyassignArray.コード, ptr == i);
\r
200 case EInputDevice.Mouse:
\r
201 this.tアサインコードの描画_Mouse(i + 1, x + 20, y, stkeyassignArray.ID, stkeyassignArray.コード, ptr == i);
\r
205 strParam = string.Format("{0,2}.", i + 1);
\r
207 using (Bitmap bmpStr = b強調 ?
\r
208 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
209 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black))
\r
211 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
212 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
213 txStr.t2D描画(CDTXMania.Instance.Device, (x + 20) * Scale.X, y * Scale.Y - 20);
\r
214 TextureFactory.tテクスチャの解放(ref txStr);
\r
221 strParam = "Reset All Assign";
\r
222 b強調 = (ptr == CConfigXml.AssignableCodes - 2);
\r
223 using (Bitmap bmpStr = b強調 ?
\r
224 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
225 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black))
\r
227 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
228 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
229 txStr.t2D描画(CDTXMania.Instance.Device, (x + 20) * Scale.X, y * Scale.Y - 20);
\r
230 TextureFactory.tテクスチャの解放(ref txStr);
\r
234 strParam = "<< Returnto List";
\r
235 b強調 = (ptr == CConfigXml.AssignableCodes - 1);
\r
236 using (Bitmap bmpStr = b強調 ?
\r
237 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
238 prvFont.DrawPrivateFont(strParam, Color.White, Color.Black))
\r
240 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
241 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
242 txStr.t2D描画(CDTXMania.Instance.Device, (x + 20) * Scale.X, y * Scale.Y - 20);
\r
243 TextureFactory.tテクスチャの解放(ref txStr);
\r
246 if (this.bキー入力待ち && (this.txHitKeyダイアログ != null))
\r
248 this.txHitKeyダイアログ.t2D描画(CDTXMania.Instance.Device, 0x185 * Scale.X, 0xd7 * Scale.Y);
\r
256 [StructLayout(LayoutKind.Sequential)]
\r
257 private struct STKEYLABEL
\r
260 public string strLabel;
\r
261 public STKEYLABEL(int nCode, string strLabel)
\r
263 this.nCode = nCode;
\r
264 this.strLabel = strLabel;
\r
268 private bool bキー入力待ち;
\r
270 private STKEYLABEL[] KeyLabel = new STKEYLABEL[] {
\r
272 new STKEYLABEL((int)SlimDXKey.Escape, "[ESC]"),
\r
273 new STKEYLABEL((int)SlimDXKey.D1, "[ 1 ]"),
\r
274 new STKEYLABEL((int)SlimDXKey.D2, "[ 2 ]"),
\r
275 new STKEYLABEL((int)SlimDXKey.D3, "[ 3 ]"),
\r
276 new STKEYLABEL((int)SlimDXKey.D4, "[ 4 ]"),
\r
277 new STKEYLABEL((int)SlimDXKey.D5, "[ 5 ]"),
\r
278 new STKEYLABEL((int)SlimDXKey.D6, "[ 6 ]"),
\r
279 new STKEYLABEL((int)SlimDXKey.D7, "[ 7 ]"),
\r
280 new STKEYLABEL((int)SlimDXKey.D8, "[ 8 ]"),
\r
281 new STKEYLABEL((int)SlimDXKey.D9, "[ 9 ]"),
\r
282 new STKEYLABEL((int)SlimDXKey.D0, "[ 0 ]"),
\r
283 new STKEYLABEL((int)SlimDXKey.Minus, "[ - ]"),
\r
284 new STKEYLABEL((int)SlimDXKey.Equals, "[ = ]"),
\r
285 new STKEYLABEL((int)SlimDXKey.Backspace, "[BSC]"),
\r
286 new STKEYLABEL((int)SlimDXKey.Tab, "[TAB]"),
\r
287 new STKEYLABEL((int)SlimDXKey.Q, "[ Q ]"),
\r
288 new STKEYLABEL((int)SlimDXKey.W, "[ W ]"),
\r
289 new STKEYLABEL((int)SlimDXKey.E, "[ E ]"),
\r
290 new STKEYLABEL((int)SlimDXKey.R, "[ R ]"),
\r
291 new STKEYLABEL((int)SlimDXKey.T, "[ T ]"),
\r
292 new STKEYLABEL((int)SlimDXKey.Y, "[ Y ]"),
\r
293 new STKEYLABEL((int)SlimDXKey.U, "[ U ]"),
\r
294 new STKEYLABEL((int)SlimDXKey.I, "[ I ]"),
\r
295 new STKEYLABEL((int)SlimDXKey.O, "[ O ]"),
\r
296 new STKEYLABEL((int)SlimDXKey.P, "[ P ]"),
\r
297 new STKEYLABEL((int)SlimDXKey.LeftBracket, "[ [ ]"),
\r
298 new STKEYLABEL((int)SlimDXKey.RightBracket, "[ ] ]"),
\r
299 new STKEYLABEL((int)SlimDXKey.Return, "[Enter]"),
\r
300 new STKEYLABEL((int)SlimDXKey.LeftControl, "[L-Ctrl]"),
\r
301 new STKEYLABEL((int)SlimDXKey.A, "[ A ]"),
\r
302 new STKEYLABEL((int)SlimDXKey.S, "[ S ]"),
\r
303 new STKEYLABEL((int)SlimDXKey.D, "[ D ]"),
\r
304 new STKEYLABEL((int)SlimDXKey.F, "[ F ]"),
\r
305 new STKEYLABEL((int)SlimDXKey.G, "[ G ]"),
\r
306 new STKEYLABEL((int)SlimDXKey.H, "[ H ]"),
\r
307 new STKEYLABEL((int)SlimDXKey.J, "[ J ]"),
\r
308 new STKEYLABEL((int)SlimDXKey.K, "[ K ]"),
\r
309 new STKEYLABEL((int)SlimDXKey.L, "[ L ]"),
\r
310 new STKEYLABEL((int)SlimDXKey.Semicolon, "[ ; ]"),
\r
311 new STKEYLABEL((int)SlimDXKey.Apostrophe, "[ ' ]"),
\r
312 new STKEYLABEL((int)SlimDXKey.Grave, "[ ` ]"),
\r
313 new STKEYLABEL((int)SlimDXKey.LeftShift, "[L-Shift]"),
\r
314 new STKEYLABEL((int)SlimDXKey.Backslash, @"[ \]"),
\r
315 new STKEYLABEL((int)SlimDXKey.Z, "[ Z ]"),
\r
316 new STKEYLABEL((int)SlimDXKey.X, "[ X ]"),
\r
317 new STKEYLABEL((int)SlimDXKey.C, "[ C ]"),
\r
318 new STKEYLABEL((int)SlimDXKey.V, "[ V ]"),
\r
319 new STKEYLABEL((int)SlimDXKey.B, "[ B ]"),
\r
320 new STKEYLABEL((int)SlimDXKey.N, "[ N ]"),
\r
321 new STKEYLABEL((int)SlimDXKey.M, "[ M ]"),
\r
322 new STKEYLABEL((int)SlimDXKey.Comma, "[ , ]"),
\r
323 new STKEYLABEL((int)SlimDXKey.Period, "[ . ]"),
\r
324 new STKEYLABEL((int)SlimDXKey.Slash, "[ / ]"),
\r
325 new STKEYLABEL((int)SlimDXKey.RightShift, "[R-Shift]"),
\r
326 new STKEYLABEL((int)SlimDXKey.NumberPadStar, "[ * ]"),
\r
327 new STKEYLABEL((int)SlimDXKey.LeftAlt, "[L-Alt]"),
\r
328 new STKEYLABEL((int)SlimDXKey.Space, "[Space]"),
\r
329 new STKEYLABEL((int)SlimDXKey.CapsLock, "[CAPS]"),
\r
330 new STKEYLABEL((int)SlimDXKey.F1, "[F1]"),
\r
331 new STKEYLABEL((int)SlimDXKey.F2, "[F2]"),
\r
332 new STKEYLABEL((int)SlimDXKey.F3, "[F3]"),
\r
333 new STKEYLABEL((int)SlimDXKey.F4, "[F4]"),
\r
334 new STKEYLABEL((int)SlimDXKey.F5, "[F5]"),
\r
335 new STKEYLABEL((int)SlimDXKey.F6, "[F6]"),
\r
336 new STKEYLABEL((int)SlimDXKey.F7, "[F7]"),
\r
337 new STKEYLABEL((int)SlimDXKey.F8, "[F8]"),
\r
338 new STKEYLABEL((int)SlimDXKey.F9, "[F9]"),
\r
339 new STKEYLABEL((int)SlimDXKey.F10, "[F10]"),
\r
340 new STKEYLABEL((int)SlimDXKey.NumberLock, "[NumLock]"),
\r
341 new STKEYLABEL((int)SlimDXKey.ScrollLock, "[Scroll]"),
\r
342 new STKEYLABEL((int)SlimDXKey.NumberPad7, "[NPad7]"),
\r
343 new STKEYLABEL((int)SlimDXKey.NumberPad8, "[NPad8]"),
\r
344 new STKEYLABEL((int)SlimDXKey.NumberPad9, "[NPad9]"),
\r
345 new STKEYLABEL((int)SlimDXKey.NumberPadMinus, "[NPad-]"),
\r
346 new STKEYLABEL((int)SlimDXKey.NumberPad4, "[NPad4]"),
\r
347 new STKEYLABEL((int)SlimDXKey.NumberPad5, "[NPad5]"),
\r
348 new STKEYLABEL((int)SlimDXKey.NumberPad6, "[NPad6]"),
\r
349 new STKEYLABEL((int)SlimDXKey.NumberPadPlus, "[NPad+]"),
\r
350 new STKEYLABEL((int)SlimDXKey.NumberPad1, "[NPad1]"),
\r
351 new STKEYLABEL((int)SlimDXKey.NumberPad2, "[NPad2]"),
\r
352 new STKEYLABEL((int)SlimDXKey.NumberPad3, "[NPad3]"),
\r
353 new STKEYLABEL((int)SlimDXKey.NumberPad0, "[NPad0]"),
\r
354 new STKEYLABEL((int)SlimDXKey.NumberPadPeriod, "[NPad.]"),
\r
355 new STKEYLABEL((int)SlimDXKey.F11, "[F11]"),
\r
356 new STKEYLABEL((int)SlimDXKey.F12, "[F12]"),
\r
357 new STKEYLABEL((int)SlimDXKey.F13, "[F13]"),
\r
358 new STKEYLABEL((int)SlimDXKey.F14, "[F14]"),
\r
359 new STKEYLABEL((int)SlimDXKey.F15, "[F15]"),
\r
360 new STKEYLABEL((int)SlimDXKey.Kana, "[Kana]"),
\r
361 new STKEYLABEL((int)SlimDXKey.AbntC1, "[ ? ]"),
\r
362 new STKEYLABEL((int)SlimDXKey.Convert, "[Henkan]"),
\r
363 new STKEYLABEL((int)SlimDXKey.NoConvert, "[MuHenkan]"),
\r
364 new STKEYLABEL((int)SlimDXKey.Backslash, @"[ \ ]"),
\r
365 new STKEYLABEL((int)SlimDXKey.AbntC2, "[NPad.]"),
\r
366 new STKEYLABEL((int)SlimDXKey.NumberPadEquals, "[NPad=]"),
\r
367 new STKEYLABEL((int)SlimDXKey.PreviousTrack, "[ ^ ]"), // DIK_CIRCUMFLEX = 0x90
\r
368 new STKEYLABEL((int)SlimDXKey.AT, "[ @ ]"),
\r
369 new STKEYLABEL((int)SlimDXKey.Colon, "[ : ]"),
\r
370 new STKEYLABEL((int)SlimDXKey.Underline, "[ _ ]"),
\r
371 new STKEYLABEL((int)SlimDXKey.Kanji, "[Kanji]"),
\r
372 new STKEYLABEL((int)SlimDXKey.Stop, "[Stop]"),
\r
373 new STKEYLABEL((int)SlimDXKey.AX, "[AX]"),
\r
374 new STKEYLABEL((int)SlimDXKey.NumberPadEnter, "[NPEnter]"),
\r
375 new STKEYLABEL((int)SlimDXKey.RightControl, "[R-Ctrl]"),
\r
376 new STKEYLABEL((int)SlimDXKey.Mute, "[Mute]"),
\r
377 new STKEYLABEL((int)SlimDXKey.Calculator, "[Calc]"),
\r
378 new STKEYLABEL((int)SlimDXKey.PlayPause, "[PlayPause]"),
\r
379 new STKEYLABEL((int)SlimDXKey.MediaStop, "[MediaStop]"),
\r
380 new STKEYLABEL((int)SlimDXKey.VolumeDown, "[Volume-]"),
\r
381 new STKEYLABEL((int)SlimDXKey.VolumeUp, "[Volume+]"),
\r
382 new STKEYLABEL((int)SlimDXKey.WebHome, "[WebHome]"),
\r
383 new STKEYLABEL((int)SlimDXKey.NumberPadComma, "[NPad,]"),
\r
384 new STKEYLABEL((int)SlimDXKey.NumberPadSlash, "[ / ]"),
\r
385 new STKEYLABEL((int)SlimDXKey.PrintScreen, "[PrtScn]"),
\r
386 new STKEYLABEL((int)SlimDXKey.RightAlt, "[R-Alt]"),
\r
387 new STKEYLABEL((int)SlimDXKey.Pause, "[Pause]"),
\r
388 new STKEYLABEL((int)SlimDXKey.Home, "[Home]"),
\r
389 new STKEYLABEL((int)SlimDXKey.UpArrow, "[Up]"),
\r
390 new STKEYLABEL((int)SlimDXKey.PageUp, "[PageUp]"),
\r
391 new STKEYLABEL((int)SlimDXKey.LeftArrow, "[Left]"),
\r
392 new STKEYLABEL((int)SlimDXKey.RightArrow, "[Right]"),
\r
393 new STKEYLABEL((int)SlimDXKey.End, "[End]"),
\r
394 new STKEYLABEL((int)SlimDXKey.DownArrow, "[Down]"),
\r
395 new STKEYLABEL((int)SlimDXKey.PageDown, "[PageDown]"),
\r
396 new STKEYLABEL((int)SlimDXKey.Insert, "[Insert]"),
\r
397 new STKEYLABEL((int)SlimDXKey.Delete, "[Delete]"),
\r
398 new STKEYLABEL((int)SlimDXKey.LeftWindowsKey, "[L-Win]"),
\r
399 new STKEYLABEL((int)SlimDXKey.RightWindowsKey, "[R-Win]"),
\r
400 new STKEYLABEL((int)SlimDXKey.Applications, "[APP]"),
\r
401 new STKEYLABEL((int)SlimDXKey.Power, "[Power]"),
\r
402 new STKEYLABEL((int)SlimDXKey.Sleep, "[Sleep]"),
\r
403 new STKEYLABEL((int)SlimDXKey.Wake, "[Wake]"),
\r
409 private CKeyAssign[] structReset用KeyAssign;
\r
410 private string strパッド名;
\r
411 private CTexture txHitKeyダイアログ;
\r
412 private CTexture txカーソル;
\r
413 private CPrivateFastFont prvFont;
\r
415 private void tアサインコードの描画_Joypad(int line, int x, int y, int nID, int nCode, bool b強調)
\r
417 string str = string.Format("{0,2}. ", line);
\r
445 if ((6 <= nCode) && (nCode < 6 + 128)) // other buttons (128 types)
\r
447 str += string.Format("Button{0}", nCode - 5);
\r
449 else if ((6 + 128 <= nCode) && (nCode < 6 + 128 + 8)) // POV HAT ( 8 types; 45 degrees per HATs)
\r
451 str += string.Format("POV {0}", (nCode - 6 - 128) * 45);
\r
455 str += string.Format("Code{0}", nCode);
\r
459 using (Bitmap bmpStr = b強調 ?
\r
460 prvFont.DrawPrivateFont(str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
461 prvFont.DrawPrivateFont(str, Color.White, Color.Black))
\r
463 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
464 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
465 txStr.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y - 20);
\r
466 TextureFactory.tテクスチャの解放(ref txStr);
\r
470 private void tアサインコードの描画_Keyboard(int line, int x, int y, int nID, int nCode, bool b強調)
\r
473 foreach (STKEYLABEL stkeylabel in this.KeyLabel)
\r
475 if (stkeylabel.nCode == nCode)
\r
477 str = string.Format("{0,2}. Key {1}", line, stkeylabel.strLabel);
\r
483 str = string.Format("{0,2}. Key 0x{1:X2}", line, nCode);
\r
486 using (Bitmap bmpStr = b強調 ?
\r
487 prvFont.DrawPrivateFont(str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
488 prvFont.DrawPrivateFont(str, Color.White, Color.Black))
\r
490 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
491 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
492 txStr.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y - 20);
\r
493 TextureFactory.tテクスチャの解放(ref txStr);
\r
497 private void tアサインコードの描画_MidiIn(int line, int x, int y, int nID, int nCode, bool b強調)
\r
499 string str = string.Format("{0,2}. MidiIn #{1} code.{2}", line, nID, nCode);
\r
500 using (Bitmap bmpStr = b強調 ?
\r
501 prvFont.DrawPrivateFont(str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
502 prvFont.DrawPrivateFont(str, Color.White, Color.Black))
\r
504 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
505 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
506 txStr.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y - 20);
\r
507 TextureFactory.tテクスチャの解放(ref txStr);
\r
511 private void tアサインコードの描画_Mouse(int line, int x, int y, int nID, int nCode, bool b強調)
\r
513 string str = string.Format("{0,2}. Mouse Button{1}", line, nCode);
\r
514 using (Bitmap bmpStr = b強調 ?
\r
515 prvFont.DrawPrivateFont(str, Color.White, Color.Black, Color.Yellow, Color.OrangeRed) :
\r
516 prvFont.DrawPrivateFont(str, Color.White, Color.Black))
\r
518 CTexture txStr = TextureFactory.tテクスチャの生成(bmpStr, false);
\r
519 txStr.vc拡大縮小倍率 = new Vector3(0.75f, 0.75f, 1f);
\r
520 txStr.t2D描画(CDTXMania.Instance.Device, x * Scale.X, y * Scale.Y - 20);
\r
521 TextureFactory.tテクスチャの解放(ref txStr);
\r
525 private bool tキーチェックとアサイン_Joypad()
\r
527 foreach (IInputDevice device in CDTXMania.Instance.Input管理.list入力デバイス)
\r
529 if (device.e入力デバイス種別 == E入力デバイス種別.Joystick)
\r
531 for (int i = 0; i < 6 + 0x80 + 8; i++) // +6 for Axis, +8 for HAT
\r
533 if (device.bキーが押された(i))
\r
535 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
537 // #xxxxx: 2017.5.7 from: アサイン済みのキーと今回割り当てるキーが同じである場合は、削除されないようコードを未使用値(ここでは-1)にする。
\r
538 if (i == CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].コード)
\r
539 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].コード = -1;
\r
541 CDTXMania.Instance.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.JoyPad, device.ID, i);
\r
542 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].入力デバイス = EInputDevice.JoyPad;
\r
543 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].ID = device.ID;
\r
544 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].コード = i;
\r
553 private bool tキーチェックとアサイン_Keyboard()
\r
555 for( int i = 0; i < 256; i++ )
\r
557 if( i != (int) SlimDXKey.Escape &&
\r
558 i != (int) SlimDXKey.UpArrow &&
\r
559 i != (int) SlimDXKey.DownArrow &&
\r
560 i != (int) SlimDXKey.LeftArrow &&
\r
561 i != (int) SlimDXKey.RightArrow &&
\r
562 i != (int) SlimDXKey.Delete &&
\r
563 CDTXMania.Instance.Input管理.Keyboard.bキーが押された( i ) )
\r
565 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
567 // #xxxxx: 2017.5.7 from: アサイン済みのキーと今回割り当てるキーが同じである場合は、削除されないようコードを未使用値(ここでは-1)にする。
\r
568 if( i == CDTXMania.Instance.ConfigIni.KeyAssign[ pad ][ ptr ].コード )
\r
569 CDTXMania.Instance.ConfigIni.KeyAssign[ pad ][ ptr ].コード = -1;
\r
571 CDTXMania.Instance.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する( EInputDevice.Keyboard, 0, i );
\r
573 CDTXMania.Instance.ConfigIni.KeyAssign[ pad ][ ptr ].入力デバイス = EInputDevice.Keyboard;
\r
574 CDTXMania.Instance.ConfigIni.KeyAssign[ pad ][ ptr ].ID = 0;
\r
575 CDTXMania.Instance.ConfigIni.KeyAssign[ pad ][ ptr ].コード = i;
\r
582 private bool tキーチェックとアサイン_MidiIn()
\r
584 foreach (IInputDevice device in CDTXMania.Instance.Input管理.list入力デバイス)
\r
586 if (device.e入力デバイス種別 == E入力デバイス種別.MidiIn)
\r
588 for (int i = 0; i < 0x100; i++)
\r
590 if (device.bキーが押された(i))
\r
592 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
593 CDTXMania.Instance.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.MIDIIn, device.ID, i);
\r
594 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].入力デバイス = EInputDevice.MIDIIn;
\r
595 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].ID = device.ID;
\r
596 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].コード = i;
\r
605 private bool tキーチェックとアサイン_Mouse()
\r
607 for (int i = 0; i < 8; i++)
\r
609 if (CDTXMania.Instance.Input管理.Mouse.bキーが押された(i))
\r
611 CDTXMania.Instance.Skin.sound決定音.t再生する();
\r
612 CDTXMania.Instance.ConfigIni.t指定した入力が既にアサイン済みである場合はそれを全削除する(EInputDevice.Mouse, 0, i);
\r
613 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].入力デバイス = EInputDevice.Mouse;
\r
614 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].ID = 0;
\r
615 CDTXMania.Instance.ConfigIni.KeyAssign[pad][ptr].コード = i;
\r