public BalanceBoardBinding( IBalanceBoardInput input, Configuration.InputValueHandle handle, MovementOrientation orientation, float displacement, float sensitivityRed, float sensitivityBlue) : base(handle, displacement, sensitivityRed) { this._input = input; this._orientation = orientation; _event_handler = GetHandler(orientation); _input.BalanceChanged += _event_handler; _analyzer_handler = new EventHandler <BalanceChangedEventArgs>(_analyzer_handle); input.BalanceChanged += _analyzer_handler; }
private EventHandler <BalanceChangedEventArgs> GetHandler(MovementOrientation t) { switch (t) { case MovementOrientation.Horizontal: return(new EventHandler <BalanceChangedEventArgs>(_input_assign_X)); case MovementOrientation.HorizontaInverted: return(new EventHandler <BalanceChangedEventArgs>(_input_assign_X_inverted)); case MovementOrientation.Vertical: return(new EventHandler <BalanceChangedEventArgs>(_input_assign_Y)); case MovementOrientation.VerticalInverted: return(new EventHandler <BalanceChangedEventArgs>(_input_assign_Y_inverted)); default: throw new ApplicationException("Unknown balance board binding type!"); } }