Exemple #1
0
 /// <summary>
 /// 複数のゲームパッドのボタン入力の和を取る
 /// </summary>
 /// <param name="pads"></param>
 /// <returns>各ボタンが押されている/いないの配列。状態をとれるパッドが存在しない場合はnull</returns>
 public static bool[] ZipPadsStates(GamePadDevice[] pads)
 {
     var states = pads.Select(p => p.GetState()).Where(s => s != null);
     if (states.Any())
     {
         bool[] bt = states.Select(s => s.Buttons)
             .Aggregate((a, b) => a.Zip(b, (x, y) => x || y).ToArray()).ToArray();//複数パッドを合成
         return bt;
     }
     else return null;
 }