Merge remote-tracking branch 'origin/master' into sdl_platform

# Conflicts:
#	Source/Editor/Viewport/MainEditorGizmoViewport.cs
This commit is contained in:
2026-02-03 17:39:43 +02:00
173 changed files with 8848 additions and 3046 deletions

View File

@@ -81,6 +81,8 @@ Delegate<const Float2&, float> Input::MouseWheel;
Delegate<const Float2&> Input::MouseMove;
Delegate<const Float2&> Input::MouseMoveRelative;
Action Input::MouseLeave;
Delegate<InputGamepadIndex, GamepadButton> Input::GamepadButtonDown;
Delegate<InputGamepadIndex, GamepadButton> Input::GamepadButtonUp;
Delegate<const Float2&, int32> Input::TouchDown;
Delegate<const Float2&, int32> Input::TouchMove;
Delegate<const Float2&, int32> Input::TouchUp;
@@ -1045,6 +1047,19 @@ void InputService::Update()
break;
}
}
// TODO: route gamepad button events into global InputEvents queue to improve processing
for (int32 i = 0; i < Input::Gamepads.Count(); i++)
{
auto gamepad = Input::Gamepads[i];
for (int32 buttonIdx = 1; buttonIdx < (int32)GamepadButton::MAX; buttonIdx++)
{
GamepadButton button = (GamepadButton)buttonIdx;
if (gamepad->GetButtonDown(button))
Input::GamepadButtonDown((InputGamepadIndex)i, button);
else if (gamepad->GetButtonUp(button))
Input::GamepadButtonUp((InputGamepadIndex)i, button);
}
}
// Update all actions
for (int32 i = 0; i < Input::ActionMappings.Count(); i++)