void v1StatusHelper_KinectV1StatusChanged(object sender, KinectV1Wrapper.StatusEventArgs e)
{
bool kinectFound = false;
for (int i = 0; i < availableKinects.Count; i++)
{
if (availableKinects[i].UniqueID == e.UniqueKinectID)
{
if (e.Status != KinectStatus.Disconnected)
{
availableKinects[i].Status = e.Status;
availableKinects[i].KinectTypeString = GetKinectTypeString(e.Status, e.isXBox360Kinect);
availableKinects[i].kinectType = KinectVersion.KinectV1;
if (e.Status != KinectStatus.Connected)
{
availableKinects[i].UseKinect = false;
}
}
else
{
availableKinects[i].UseKinect = false;
availableKinects[i].PropertyChanged -= useKinect_PropertyChanged;
availableKinects.RemoveAt(i);
renumberKinectIDs();
}
kinectsAvailableDataGrid.Items.Refresh();
kinectFound = true;
}
}
if (!kinectFound)
{
AvailableKinectData tempData = new AvailableKinectData();
tempData.KinectID = null;
tempData.UseKinect = false;
tempData.KinectTypeString = GetKinectTypeString(e.Status, e.isXBox360Kinect);
tempData.kinectType = KinectVersion.KinectV1;
tempData.PropertyChanged += useKinect_PropertyChanged;
tempData.Status = e.Status;
tempData.UniqueID = e.UniqueKinectID;
availableKinects.Add(tempData);
kinectsAvailableDataGrid.Items.Refresh();
}
//Update the number of Kinects attached to the computer
KinectStatusBlock.Text = availableKinects.Count.ToString();
}