internal InputAnalyzer(ObservableDictionary <string, string> parameters, IDevice device, IAnalyzer analyzer) { _parameters = parameters; _analyzer = analyzer; _analyzerWrapper = new AnalyzerWrapper(analyzer, parameters); _analyzerWrapper.Run(); _device = device; _input = device.GamingInput; if (_input is ISkeletonInput && analyzer is ISkeletonAnalyzer) { (_input as ISkeletonInput).SkeletonChanged += (_skeleton_handler = new EventHandler <SkeletonChangedEventArgs>(InputAnalyzer_SkeletonChanged)); } else if (_input is IAccelerometerInput && analyzer is IAccelerometerAnalyzer) { (_input as IAccelerometerInput).AccelerometerChanged += (_accelerometer_handler = new EventHandler <AccelerometerChangedEventArgs>(InputAnalyzer_AccelerometerChanged)); } else if (_input is IBalanceBoardInput && analyzer is IBalanceBoardAnalyzer) { (_input as IBalanceBoardInput).BalanceChanged += (_ballanceBoard_handler = new EventHandler <BalanceChangedEventArgs>(InputAnalyzer_BalanceChanged)); } else if (_input is IEmgSensorInput && analyzer is IEmgSignalAnalyzer) { (_input as IEmgSensorInput).MuscleActivationChanged += (_emg_handler = new EventHandler <MuscleActivationChangedEventArgs>(InputAnalyzer_MuscleActivationChanged)); } }
public void AddAnalyzer(IBalanceBoardAnalyzer analyzer, ObservableDictionary <string, string> parameters) { AnalyzerWrapper executor = new AnalyzerWrapper(analyzer, parameters); executor.Run(); _analyzerWrapers.Add(executor); _analyzers.Add(analyzer, parameters); }