Пример #1
0
        public void Acquire(JoyConPlayer player)
        {
            //lock (this)
            {
                if (IsDisposed)
                {
                    throw new InvalidOperationException("Already disposed");
                }
                if (IsAcquired)
                {
                    throw new InvalidOperationException("Already acquired");
                }

                Logger.Info("Acquire JoyCon " + Guid);

                _device.OpenDevice(DeviceMode.NonOverlapped, DeviceMode.NonOverlapped,
                                   ShareMode.ShareRead | ShareMode.ShareWrite);
                Player = player;

                SetupLeds(player.ToJoyConLed());

                _cts         = new CancellationTokenSource();
                _pollingTask = Task.Run(() => PollingTask(), _cts.Token);
            }
        }
Пример #2
0
        public static JoyConPlayer?Next(this JoyConPlayer player)
        {
            switch (player)
            {
            case JoyConPlayer.First:
                return(JoyConPlayer.Second);

            case JoyConPlayer.Second:
                return(JoyConPlayer.Third);

            case JoyConPlayer.Third:
                return(JoyConPlayer.Fourth);

            case JoyConPlayer.Fourth:
                return(null);

            default:
                throw new NotImplementedException();
            }
        }
 public static JoyConLed ToJoyConLed(this JoyConPlayer player)
 {
     return(ToJoyConLed((JoyConPlayer?)player));
 }
Пример #4
0
 public void Acquire(JoyConPlayer player)
 {
     LeftJoyCon.Acquire(player);
     RightJoyCon.Acquire(player);
 }