Beispiel #1
0
        internal AccelerometerBinding(
            IAccelerometerInput input,
            Configuration.InputValueHandle handle,
            BindingType property,
            float zeroAngle,
            float sensitivity)
            : base(handle, zeroAngle, sensitivity)
        {
            this._input = input;
            this._type  = property;

            _event_handler = GetHandler(property);
            _input.AccelerometerChanged += _event_handler;

            _analyzer_handler           = new EventHandler <AccelerometerChangedEventArgs>(_analyzer_handle);
            input.AccelerometerChanged += _analyzer_handler;
        }
Beispiel #2
0
        private InputBinding ConfigureAccelerometer(
            XPathNavigator navigator, XPathNodeIterator bindingIt, IAccelerometerInput input)
        {
            string point       = bindingIt.Current.GetAttribute("point", "");
            float  zeroAngle   = float.Parse(bindingIt.Current.GetAttribute("zeroAngle", ""), CultureInfo.InvariantCulture);
            float  sensitivity = float.Parse(bindingIt.Current.GetAttribute("sensitivity", ""), CultureInfo.InvariantCulture);


            XPathNodeIterator acc = bindingIt.Current.Select("accelerometer");

            if (acc.Count > 0)
            {
                acc.MoveNext();
                string device  = acc.Current.GetAttribute("device", "");
                string strAxis = acc.Current.GetAttribute("axis", "");
                AccelerometerBinding.BindingType axis = (AccelerometerBinding.BindingType)Enum.Parse(typeof(AccelerometerBinding.BindingType), strAxis);
                input.Start(device);
                return(new AccelerometerBinding(input, Configuration.GetHandle(point), axis, zeroAngle, sensitivity));
            }
            return(null);
        }