The ClientSimBaseInput::GetMouseButtonDown method ignored the button parameter, causing the mouse event to fire for the left, middle and right buttons at the same time when only one button is pressed.
|
public override bool GetMouseButton(int button) |
|
{ |
|
return _lastHandUsed == HandType.RIGHT ? _rightUseDown : _leftUseDown; |
|
} |
|
|
|
public override bool GetMouseButtonUp(int button) |
|
{ |
|
return |
|
_lastHandUsed == HandType.RIGHT |
|
? (!_rightUseDown && _rightUseChangeTick == _frameTick) |
|
: (!_leftUseDown && _leftUseChangeTick == _frameTick); |
|
} |
|
|
|
public override bool GetMouseButtonDown(int button) |
|
{ |
|
return |
|
_lastHandUsed == HandType.RIGHT |
|
? (_rightUseDown && _rightUseChangeTick == _frameTick) |
|
: (_leftUseDown && _leftUseChangeTick == _frameTick); |
|
} |
To replicate the issue: Add an Event System component to any UI. Then add a 'Pointer Down' event type.