m_zandvliet

Logical Joystick Attempt

Sep 15th, 2014
284
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.02 KB | None | 0 0
  1. var logicalInputs = new Dictionary<JoystickInputId, IList<Func<ButtonState>>>();
  2.  
  3. for (int i = 0; i < connectedJoysticks.Length; i++) {
  4.     var joystickButtonSourcePeripheral = UnityJoystick.ButtonPeripheral(i);
  5.         foreach (var pair in joystickButtonSourcePeripheral.InputMap.Source) {
  6.             if (!logicalInputs.ContainsKey(pair.Key)) {
  7.                         logicalInputs.Add(pair.Key, new List<Func<ButtonState>>());
  8.                 }
  9.                 logicalInputs[pair.Key].Add(pair.Value);
  10.         }
  11. }
  12.            
  13. var logicalInputsMerged = new Dictionary<JoystickInputId, Func<ButtonState>>();
  14.  
  15. foreach (var pair in logicalInputs) {
  16.     var merged = Core.MergePollFns<ButtonState>(Adapters.MergeButtons, pair.Value);
  17.         logicalInputsMerged.Add(pair.Key, merged);
  18. }
  19.  
  20. var logicalInputMap = new InputMap<JoystickInputId, ButtonState>(logicalInputsMerged);
  21.  
  22. var logicalButtonSourcePeripheral = new Peripheral<JoystickInputId, ButtonState>(new PeripheralId(UnityJoystick.PeripheralId, "button"), logicalInputMap);
Advertisement
Add Comment
Please, Sign In to add comment