• R/O
  • R/O (HTTP)
  • R/W (SSH)
  • R/W (HTTPS)

CsWin10Desktop3: Commit

Visual C# 6.0, Windows10 Desktop App


Commit MetaInfo

Revision8a76a6f0be699f162d869cae12df9f0fbf73618b (tree)
Time2017-01-09 20:28:58
Authorくまかみ工房 <kumakamikoubou@gmai...>
Commiterくまかみ工房

Log Message

演奏ステージ以外のステージについて、操作コマンドへの対応を追加。

一部、固定キー(ESCなどバインディングによらないもの)も残す。

Change Summary

Incremental Difference

--- a/StrokeStyleT/ステージ/タイトル/タイトルステージ.cs
+++ b/StrokeStyleT/ステージ/タイトル/タイトルステージ.cs
@@ -2,6 +2,7 @@
22 using System.Collections.Generic;
33 using System.Diagnostics;
44 using System.Linq;
5+using SharpDX.DirectInput;
56 using FDK;
67 using FDK.メディア;
78
@@ -53,13 +54,14 @@ namespace SST.ステージ.タイトル
5354
5455 StrokeStyleT.すべての入力デバイスをポーリングする();
5556
56- // Enter 押下 → 確定&ステージ終了
57- if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Return ) )
57+ // 決定 → 確定&ステージ終了
58+ if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.決定 ) )
5859 {
5960 this.現在のフェーズ = フェーズ.確定;
6061 }
61- // Esc 押下 → キャンセル&ステージ終了
62- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Escape ) )
62+ // キャンセル or ESC → キャンセル&ステージ終了
63+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.キャンセル ) ||
64+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Escape ) )
6365 {
6466 this.現在のフェーズ = フェーズ.キャンセル;
6567 }
--- a/StrokeStyleT/ステージ/ログイン/ログインステージ.cs
+++ b/StrokeStyleT/ステージ/ログイン/ログインステージ.cs
@@ -116,7 +116,7 @@ namespace SST.ステージ.ログイン
116116 this.ユーザインデックス = Math.Max( this.ユーザインデックス - 1, 0 );
117117 }
118118 #else
119-#warning ユーザ選択画面が完成するまでは、AutoPlayer で自動的にログインするようにする。
119+//#warning ユーザ選択画面が完成するまでは、AutoPlayer で自動的にログインするようにする。
120120 StrokeStyleT.ユーザ管理.ユーザを選択する( Properties.Resources.AUTOPLAYER );
121121 this.現在のフェーズ = フェーズ.確定;
122122 return;
--- a/StrokeStyleT/ステージ/演奏/演奏ステージ.cs
+++ b/StrokeStyleT/ステージ/演奏/演奏ステージ.cs
@@ -4,6 +4,7 @@ using System.Collections.Generic;
44 using System.Diagnostics;
55 using System.Linq;
66 using SharpDX;
7+using SharpDX.DirectInput;
78 using FDK;
89 using FDK.メディア;
910 using FDK.メディア.サウンド.WASAPI;
@@ -302,23 +303,24 @@ namespace SST.ステージ.演奏
302303
303304 // 入力。
304305
306+ // 演奏ステージでは、入力履歴(=操作コマンド)を使わず、キーバインディングにも依存せず、ダイレクトにキーを判別する。
305307 StrokeStyleT.すべての入力デバイスをポーリングする( 入力履歴を記録する: false );
306308
307309 // ESC 押下 → キャンセル
308- if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Escape ) &&
310+ if( StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Escape ) &&
309311 StrokeStyleT.ビュアーモードではない ) // ビュアーモードでは無効。
310312 {
311313 this.BGMを停止する();
312314 this.現在のフェーズ.Value = フェーズ.キャンセル;
313315 }
314316 // 上矢印押下 → 譜面スクロール速度の倍率を +0.5
315- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Up ) )
317+ else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Up ) )
316318 {
317319 StrokeStyleT.ユーザ管理.現在選択されているユーザ.オプション.譜面スクロール速度の倍率 =
318320 Math.Min( StrokeStyleT.ユーザ管理.現在選択されているユーザ.オプション.譜面スクロール速度の倍率 + 0.5, 8.0 ); // 最大 8.0
319321 }
320322 // 下矢印押下 → 譜面スクロール速度の倍率を -0.5
321- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Down ) )
323+ else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Down ) )
322324 {
323325 StrokeStyleT.ユーザ管理.現在選択されているユーザ.オプション.譜面スクロール速度の倍率 =
324326 Math.Max( StrokeStyleT.ユーザ管理.現在選択されているユーザ.オプション.譜面スクロール速度の倍率 - 0.5, 0.5 ); // 最小 0.5
--- a/StrokeStyleT/ステージ/結果/結果ステージ.cs
+++ b/StrokeStyleT/ステージ/結果/結果ステージ.cs
@@ -3,6 +3,7 @@ using System.Collections.Generic;
33 using System.Diagnostics;
44 using System.Linq;
55 using SharpDX;
6+using SharpDX.DirectInput;
67 using FDK.メディア;
78
89 namespace SST.ステージ.結果
@@ -78,9 +79,10 @@ namespace SST.ステージ.結果
7879
7980 StrokeStyleT.すべての入力デバイスをポーリングする();
8081
81- // Enter or ESC 押下 → ステージ終了。
82- if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Return ) ||
83- StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Escape ) )
82+ // 決定 or キャンセル or ESC → ステージ終了。
83+ if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.決定 ) ||
84+ StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.キャンセル ) ||
85+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Escape ) )
8486 {
8587 this.現在のフェーズ = フェーズ.終了;
8688 }
--- a/StrokeStyleT/ステージ/起動/起動ステージ.cs
+++ b/StrokeStyleT/ステージ/起動/起動ステージ.cs
@@ -125,8 +125,8 @@ namespace SST.ステージ.起動
125125
126126 StrokeStyleT.すべての入力デバイスをポーリングする();
127127
128- // Enter 押下 → このステージを抜ける。
129- if( StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Return ) )
128+ // 決定 → このステージを抜ける。
129+ if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.決定 ) )
130130 {
131131 Log.Info( "起動ステージをスキップします。" );
132132 this.現在のフェーズ = フェーズ.終了;
--- a/StrokeStyleT/ステージ/選曲/選曲ステージ.cs
+++ b/StrokeStyleT/ステージ/選曲/選曲ステージ.cs
@@ -2,6 +2,7 @@
22 using System.Collections.Generic;
33 using System.Diagnostics;
44 using System.Linq;
5+using SharpDX.DirectInput;
56 using FDK.メディア;
67
78 namespace SST.ステージ.選曲
@@ -84,8 +85,8 @@ namespace SST.ステージ.選曲
8485
8586 StrokeStyleT.すべての入力デバイスをポーリングする();
8687
87- // Enter 押下
88- if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Return ) )
88+ // 決定 → 現在選択されているノードによって異なる。
89+ if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.決定 ) )
8990 {
9091 if( StrokeStyleT.曲ツリー管理.現在選択されているノード is 曲.MusicNode )
9192 {
@@ -111,26 +112,32 @@ namespace SST.ステージ.選曲
111112 Trace.Fail( "[バグあり] 確定された曲が、曲でも BOX でも 戻る でも null でもありません。" );
112113 }
113114 }
114- // Esc 押下 → 戻る
115- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Escape ) )
115+ // キャンセル or ESC → 戻る
116+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.キャンセル ) ||
117+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Escape ) )
118+
116119 {
117120 this.現在のフェーズ = フェーズ.キャンセル;
118121 }
119122
120- // カーソルキー(キーバインドに寄らず固定)→ 選曲カーソル移動
121- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Left ) )
123+ // 上下左右またはカーソルキー(キーバインドに寄らず固定)→ 選曲カーソル移動
124+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.左 ) ||
125+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Left ) )
122126 {
123127 this._曲パネルビュー.カーソルを左に移動する();
124128 }
125- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Right ) )
129+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.右 ) ||
130+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Right ) )
126131 {
127132 this._曲パネルビュー.カーソルを右に移動する();
128133 }
129- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Up ) )
134+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.上 ) ||
135+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Up ) )
130136 {
131137 this._曲パネルビュー.カーソルを上に移動する();
132138 }
133- else if( StrokeStyleT.入力管理.キーボード入力.キーが押された( SharpDX.DirectInput.Key.Down ) )
139+ else if( StrokeStyleT.入力管理.操作コマンドが入力された( 入力.操作コマンド種別.下 ) ||
140+ StrokeStyleT.入力管理.キーボード入力.キーが押された( Key.Down ) )
134141 {
135142 this._曲パネルビュー.カーソルを下に移動する();
136143 }
--- a/StrokeStyleT/入力/入力管理.cs
+++ b/StrokeStyleT/入力/入力管理.cs
@@ -35,6 +35,7 @@ namespace SST.入力
3535
3636 this._最大履歴数 = 最大履歴数;
3737 this._入力履歴 = new List<入力種別>( this._最大履歴数 );
38+ this._前回の履歴追加時刻sec = null;
3839
3940 this._キーバインディング = キーバインディング.読み込む( this._KeyBindingsXmlファイルパス );
4041 }
@@ -79,7 +80,7 @@ namespace SST.入力
7980 {
8081 this.履歴に追加する(
8182 this._キーバインディング.キーボードto入力[ ev.Key ],
82- QPCTimer.生カウント相対値を秒へ変換して返す( ev.TimeStamp ) ); // 相対だろうが絶対だろうが、どっちかに統一さえされていればいい。
83+ QPCTimer.生カウント相対値を秒へ変換して返す( ev.TimeStamp ) ); // 相対だろうが絶対だろうが、どっちかに統一さえされていればいい。
8384 }
8485 }
8586 }
Show on old repository browser