Exemple #1
0
 internal void SetWiimoteButtonState(object p_buttonState)
 {
     // InvokeRequired required compares the thread ID of the
     // calling thread to the thread ID of the creating thread.
     // If these threads are different, it returns true.
     if (this.WiimoteStatus.InvokeRequired)
     {
         SetWiimoteButtonStateCallback d = new SetWiimoteButtonStateCallback(SetWiimoteButtonState);
         this.Invoke(d, new object[] { p_buttonState });
     }
     else
     {
         WiimoteButtonState buttonState = (WiimoteButtonState)p_buttonState;
         if (buttonState == WiimoteButtonState.CONNECTED)
         {
             this.wiimoteConnect.Enabled    = false;
             this.wiimoteDisconnect.Enabled = true;
         }
         else
         {
             this.wiimoteConnect.Enabled    = true;
             this.wiimoteDisconnect.Enabled = false;
         }
     }
 }
        public WiimoteGlobal(WiimotePlugin plugin, IWiimoteData data, Dictionary <uint, Action> updaters)
        {
            this.plugin = plugin;
            this.data   = data;

            acceleration = new AccelerationGlobal(data, out accelerationTrigger, out accelerationCalibratedTrigger);
            buttons      = new WiimoteButtonState(data, out buttonTrigger);
            motionplus   = new MotionPlusGlobal(data, out motionPlusTrigger, out motionPlusCalibratedTrigger);
            nunchuck     = new NunchuckGlobal(data, out nunchuckTrigger);

            updaters[data.WiimoteNumber] = OnWiimoteDataReceived;
        }
        public WiimoteGlobal(WiimotePlugin plugin, IWiimoteData data, Dictionary <uint, Action> updaters, Dictionary <uint, Action> capabilitiesUpdaters, Dictionary <uint, Action> statusUpdaters)
        {
            this.plugin = plugin;
            this.data   = data;

            acceleration      = new AccelerationGlobal(data, out accelerationTrigger, out accelerationCalibratedTrigger);
            buttons           = new WiimoteButtonState(data, out buttonTrigger);
            motionplus        = new MotionPlusGlobal(data, out motionPlusTrigger, out motionPlusCalibratedTrigger);
            nunchuck          = new NunchuckGlobal(data, out nunchuckTrigger);
            classicController = new ClassicControllerGlobal(data, out classicControllerTrigger);
            guitar            = new GuitarGlobal(data, out guitarTrigger);
            balanceBoard      = new BalanceBoardGlobal(data, out balanceBoardTrigger);
            capabilities      = new CapabilitiesGlobal(data, out capabilitiesTrigger);
            //TODO: Allow setting led status
            status = new StatusGlobal(plugin, data, out statusTrigger);

            updaters[data.WiimoteNumber]             = OnWiimoteDataReceived;
            capabilitiesUpdaters[data.WiimoteNumber] = capabilitiesTrigger;
            statusUpdaters[data.WiimoteNumber]       = statusTrigger;
        }