Exemplo n.º 1
0
        private async void ComboBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            if (IsSetting)
            {
                return;
            }
            var comboBox = (ComboBox)sender;

            if (comboBox.SelectedItem == null)
            {
                return;
            }
            var command = new PipeCommands.SetTrackerSerialNumbers();

            command.Head      = (HeadTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "HMD"
            }).ToTuple();
            command.LeftHand  = (LeftHandTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "コントローラー"
            }).ToTuple();
            command.RightHand = (RightHandTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "コントローラー"
            }).ToTuple();
            command.Pelvis    = (PelvisTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "トラッカー"
            }).ToTuple();
            command.LeftFoot  = (LeftFootTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "トラッカー"
            }).ToTuple();
            command.RightFoot = (RightFootTrackerComboBox.SelectedItem as TrackerInfo ?? new TrackerInfo {
                TypeName = "トラッカー"
            }).ToTuple();
            await Globals.Client.SendCommandAsync(command);
        }
 private void SetTrackersList(List <Tuple <string, string> > list, PipeCommands.SetTrackerSerialNumbers setting)
 {
     TrackersList.Clear();
     foreach (var d in list.OrderBy(d => d.Item1).ThenBy(d => d.Item2))
     {
         var trackerinfo = new TrackerConfigWindow.TrackerInfo {
             TypeName = d.Item1, SerialNumber = d.Item2, Background = WhiteBrush
         };
         TrackersList.Add(trackerinfo);
     }
 }
        private void SetTrackersList(List <Tuple <string, string> > list, PipeCommands.SetTrackerSerialNumbers setting)
        {
            TrackersList.Clear();
            list.Add(Tuple.Create("HMD", default(string)));
            list.Add(Tuple.Create("コントローラー", default(string)));
            list.Add(Tuple.Create("トラッカー", default(string)));
            list.Add(Tuple.Create("割り当てしない", default(string)));
            foreach (var d in list.OrderBy(d => d.Item1).ThenBy(d => d.Item2))
            {
                var trackerinfo = new TrackerInfo {
                    TypeName = d.Item1, SerialNumber = d.Item2, Background = WhiteBrush
                };
                TrackersList.Add(trackerinfo);
                if (d.Item2 != null)
                {
                    TrackersViewList.Add(trackerinfo);
                }
            }
            Func <Tuple <string, string>, TrackerInfo> getItem = (set) =>
            {
                var item = TrackersList.Where(d => d.TypeName == set.Item1 && d.SerialNumber == set.Item2).FirstOrDefault();
                if (item == null)
                {
                    var newitem = new TrackerInfo {
                        TypeName = set.Item1, SerialNumber = set.Item2, Background = WhiteBrush
                    }; TrackersList.Add(newitem); item = newitem;
                }
                return(item);
            };

            IsSetting = true;
            HeadTrackerComboBox.SelectedItem       = getItem(setting.Head);
            LeftHandTrackerComboBox.SelectedItem   = getItem(setting.LeftHand);
            RightHandTrackerComboBox.SelectedItem  = getItem(setting.RightHand);
            PelvisTrackerComboBox.SelectedItem     = getItem(setting.Pelvis);
            LeftFootTrackerComboBox.SelectedItem   = getItem(setting.LeftFoot);
            RightFootTrackerComboBox.SelectedItem  = getItem(setting.RightFoot);
            LeftElbowTrackerComboBox.SelectedItem  = getItem(setting.LeftElbow);
            RightElbowTrackerComboBox.SelectedItem = getItem(setting.RightElbow);
            LeftKneeTrackerComboBox.SelectedItem   = getItem(setting.LeftKnee);
            RightKneeTrackerComboBox.SelectedItem  = getItem(setting.RightKnee);
        }