static void wiimote_ExtensionDetached(object sender, WiimoteExtensionEventArgs e) { IWiimote wiimote = (IWiimote)sender; IWiimoteExtension extension = e.Extension; if (extension is NunchukExtension) { Console.WriteLine("A nunchuk was detached from the Wiimote."); } wiimote.SetReportingMode(wiimote.ReportingMode); }
void Wiimote_ExtensionDetached(object sender, WiimoteExtensionEventArgs e) { Invoke(new System.Threading.ThreadStart(delegate() { while (extensionBox.Controls.Count > 0) { Control c = extensionBox.Controls[0]; extensionBox.Controls.RemoveAt(0); c.Dispose(); } extensionBox.Text = "Extension"; extensionBox.Height = 50; this.Height = extensionBox.Top + extensionBox.Height; reportingmodeBox.SelectedItem = Wiimote.ReportingMode; })); }
static void wiimote_ExtensionAttached(object sender, WiimoteExtensionEventArgs e) { IWiimote wiimote = (IWiimote)sender; // We can retrieve the attached extension by doing the following: IWiimoteExtension extension = e.Extension; // The extension is also available through 'wiimote.Extension'. // Here we can check what type of extension the attached extension is. // In this example we will only cover the Nunchuk, but we can also check for other available extensions. if (extension is NunchukExtension) { wiimote.SetReportingMode(ReportingMode.ButtonsAccelerometer16Extension); Console.WriteLine("A nunchuk attached to the Wiimote."); } // A few 'dummy-extensions' are available to detect various undefined situations. else if (extension is InvalidExtension) { Console.WriteLine("An extension was partially connected or the extension was erroneous."); } // UnknownExtension is a dummy-extension that that the attached extension // is not supported by Wii Device Library (or any other extension that is registered in WiimoteExtensionRegistry). else if (extension is UnknownExtension) { Console.WriteLine("An extension was connected, but was not recognized by Wii Device Library."); } else { Console.WriteLine("An extension was connected, but was not recognized by this example."); } wiimote.SetReportingMode(wiimote.ReportingMode); }
void Wiimote_ExtensionAttached(object sender, WiimoteExtensionEventArgs e) { IWiimoteExtension wiimoteExtension = Wiimote.Extension; Invoke(new Action<IWiimoteExtension>(delegate(IWiimoteExtension extension) { Control extensionControl = null; if (extension is NunchukExtension) { NunchukUserControl nunchukUC = new NunchukUserControl(); nunchukUC.Nunchuk = (NunchukExtension)extension; extensionControl = nunchukUC; } else if (extension is ClassicControllerExtension) { ClassicControllerUserControl classicControllerUC = new ClassicControllerUserControl(); classicControllerUC.ClassicController = (ClassicControllerExtension)extension; extensionControl = classicControllerUC; } else if (extension is GuitarExtension) { GuitarUserControl guitarUC = new GuitarUserControl(); guitarUC.Guitar = (GuitarExtension)extension; extensionControl = guitarUC; } ExtensionControl = (IExtensionControl)extensionControl; if (extensionControl != null) { extensionBox.Height = extensionControl.Height + 50; extensionBox.Text = extension.GetType().Name; extensionBox.Controls.Add(extensionControl); extensionControl.Dock = DockStyle.Fill; this.Height = extensionBox.Top + extensionBox.Height; } reportingmodeBox.SelectedItem = Wiimote.ReportingMode; }), wiimoteExtension); }