branchsbox/gamepad-ui-navigationcancel

72 Commits over 427 Days - 0.01cph!

16 Days Ago
PanelTraversalSystem: Refactor root panel focus, in case a modal pops up in the way, or any other overlay Can pop modals PanelTraversalSystem: pop modal one-by-one if hitting B on controller
16 Days Ago
Broke input actions, whoops
17 Days Ago
Don't double-render UI
17 Days Ago
Don't need these
17 Days Ago
Cleanup
17 Days Ago
PanelTraversalSystem: Refactor, no more block size, don't use GetPanelsAt, filter root panel descendants by on-screen, eligible panels, then rate them
17 Days Ago
ControllerInput: don't use input actions because they change game to game, use raw buttons https://files.facepunch.com/tony/1b0611b1/sbox_6PTr7T3esQ.mp4
17 Days Ago
Break properly when clicking simulated mouse, so we don't interact with every rootpanel, now it's ordered properly
17 Days Ago
Priority Refactor, didn't make much sense to do it this way
17 Days Ago
Adhere to RootPanel Priority when rendering overlays
17 Days Ago
VirtualCursorSystem - work relative to screen size
17 Days Ago
Clickable class is prioritized, fix modal system NRE, reduce panel traversal block size
24 Days Ago
Close modals if we hit back button
24 Days Ago
Update Input.config for menu project
25 Days Ago
Process inputs in the menu
25 Days Ago
Post-rebase compile fixes
25 Days Ago
Add gamepad navigation support to main menu UI and game menu UI - Virtual cursor system - Panel traversal system Refactor: remove IVirtualCursor, IMenuSystem hook-ins, cursor razor component - add InputOverlaySystem which works in MenuDll and GameMenuDll, add RootPanel.Priority Demote some new stuff from being public Fixed overlay flicker when re-laying out (due to stuff being pressed on), don't set Style.Width|Height GameManager -> Game Use input actions instead of now gone digital action state stuff Remove unused code Remove IGameInstance.InputSettings (not used) Push menu inputs when we don't have an input config to read Fixed editor error w/ InputSettings.Actions
8 Months Ago
Fixed editor error w/ InputSettings.Actions
8 Months Ago
Push menu inputs when we don't have an input config to read
8 Months Ago
Remove IGameInstance.InputSettings (not used)
8 Months Ago
Remove unused code
8 Months Ago
GameManager -> Game Use input actions instead of now gone digital action state stuff
8 Months Ago
Add gamepad navigation support to main menu UI and game menu UI - Virtual cursor system - Panel traversal system Refactor: remove IVirtualCursor, IMenuSystem hook-ins, cursor razor component - add InputOverlaySystem which works in MenuDll and GameMenuDll, add RootPanel.Priority Demote some new stuff from being public Fixed overlay flicker when re-laying out (due to stuff being pressed on), don't set Style.Width|Height
9 Months Ago
Demote some new stuff from being public Fixed overlay flicker when re-laying out (due to stuff being pressed on), don't set Style.Width|Height
9 Months Ago
Refactor: remove IVirtualCursor, IMenuSystem hook-ins, cursor razor component - add InputOverlaySystem which works in MenuDll and GameMenuDll, add RootPanel.Priority
9 Months Ago
Add gamepad navigation support to main menu UI and game menu UI - Virtual cursor system - Panel traversal system
9 Months Ago
Add gamepad navigation support to main menu UI and game menu UI - Virtual cursor system - Panel traversal system
9 Months Ago
More post-rebase fixes
9 Months Ago
Delete minimal.scene Start drafting out UI navigation with controller, by traversing panels Refactor so we can switch between panel traversal and virtual cursor based on input Don't revert back to PanelTraversalSystem if analog is empty Add basic working virtual cursor using PanelInput.UpdateMouse Fixed calculation of virtual cursor position Use stylesheet to style virtual cursor, add ScrollSpeed Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access Disable system if mouse is moving at all Make VirtualCursorOverlay a razor panel Update SteamInput manifest to include joystick inputs for Menu action set Hide mouse cursor while we have controller input active Support processing any number of root panels, make it work in GameMenu Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu Process inputs in MenuDll Remove some direct controller access, use Input.AnalogMove/AnalogLook instead VCS: only tick for panels that want mouse input VCS: fix is-pressed style Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection Add PanelTraversalOverlay (for lack of a better name) Work on finding panels from delta, fixed not finding an initial focused panel Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling Decrease block increment size, can get finer selections (i.e PackageCard modal button) Fix FindPanelsAt never finding more than 1 panel Remove PanelTraversalOverlay, it looked shit When enabling VCS, use the mouse's current position Traverse blocks relative to the screen size, instead of set pixels Add IControllerInputSystem.Destroy Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around Minor cleanup Run Input.SetFocus( null ) on IControllerInputSystem.Destroy Scope UI simulation Remove context hacks Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input Only use pointer-events on elements we want to click on for SocialBar Remove unused code, documentation pass When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor) Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist Don't run ControllerInput.Tick at all if we don't have a controller Docs for IVirtualCursor Kill controller input system if we run out of gamepads to use General cleanup, remove unused ControllerOverlay panel Add adjustable analog sensitivity for UI Post-merge fix Support Alex's scrolling Post-merge fix Usability improvements to PanelTraversalSystem https://files.facepunch.com/tony/1b0111b1/parsecd_jzxSdkesRI.mp4 Update PackageCard to add hover style to package body, can click entire body to open overlay Refactor controller input polling, insert into AccumActionsPressed|Released and have the input context system handle everything else. Makes gamepad Input.Pressed/Released work properly ControllerInput: use correct actionset actions for dpad/select actions if we're actually in-game.. I really hate this, and want to change it asap Get rid of InputState.Controller, it doesn't serve any puspose Post-rebase fix
10 Months Ago
ControllerInput: use correct actionset actions for dpad/select actions if we're actually in-game.. I really hate this, and want to change it asap Get rid of InputState.Controller, it doesn't serve any puspose
10 Months Ago
Refactor controller input polling, insert into AccumActionsPressed|Released and have the input context system handle everything else. Makes gamepad Input.Pressed/Released work properly
10 Months Ago
Temporary disable DISABLE_VK_LAYER_VALVE_steam_overlay_1 because SteamInput doesn't work without steam overlay (wtf)
10 Months Ago
Start drafting out UI navigation with controller, by traversing panels Refactor so we can switch between panel traversal and virtual cursor based on input Don't revert back to PanelTraversalSystem if analog is empty Add basic working virtual cursor using PanelInput.UpdateMouse Fixed calculation of virtual cursor position Use stylesheet to style virtual cursor, add ScrollSpeed Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access Disable system if mouse is moving at all Make VirtualCursorOverlay a razor panel Update SteamInput manifest to include joystick inputs for Menu action set Hide mouse cursor while we have controller input active Support processing any number of root panels, make it work in GameMenu Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu Process inputs in MenuDll Remove some direct controller access, use Input.AnalogMove/AnalogLook instead VCS: only tick for panels that want mouse input VCS: fix is-pressed style Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection Add PanelTraversalOverlay (for lack of a better name) Work on finding panels from delta, fixed not finding an initial focused panel Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling Decrease block increment size, can get finer selections (i.e PackageCard modal button) Fix FindPanelsAt never finding more than 1 panel Remove PanelTraversalOverlay, it looked shit When enabling VCS, use the mouse's current position Traverse blocks relative to the screen size, instead of set pixels Add IControllerInputSystem.Destroy Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around Minor cleanup Run Input.SetFocus( null ) on IControllerInputSystem.Destroy Scope UI simulation Remove context hacks Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input Only use pointer-events on elements we want to click on for SocialBar Remove unused code, documentation pass When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor) Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist Don't run ControllerInput.Tick at all if we don't have a controller Docs for IVirtualCursor Kill controller input system if we run out of gamepads to use General cleanup, remove unused ControllerOverlay panel Add adjustable analog sensitivity for UI Post-merge fix Support Alex's scrolling Fixed action set flip-flopping between Menu and InGame twice a frame :S Post-merge fix Usability improvements to PanelTraversalSystem https://files.facepunch.com/tony/1b0111b1/parsecd_jzxSdkesRI.mp4 Update PackageCard to add hover style to package body, can click entire body to open overlay
10 Months Ago
Post-merge fix
10 Months Ago
Start drafting out UI navigation with controller, by traversing panels Refactor so we can switch between panel traversal and virtual cursor based on input Don't revert back to PanelTraversalSystem if analog is empty Add basic working virtual cursor using PanelInput.UpdateMouse Fixed calculation of virtual cursor position Use stylesheet to style virtual cursor, add ScrollSpeed Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access Disable system if mouse is moving at all Make VirtualCursorOverlay a razor panel Update SteamInput manifest to include joystick inputs for Menu action set Hide mouse cursor while we have controller input active Support processing any number of root panels, make it work in GameMenu Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu Process inputs in MenuDll Remove some direct controller access, use Input.AnalogMove/AnalogLook instead VCS: only tick for panels that want mouse input VCS: fix is-pressed style Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection Add PanelTraversalOverlay (for lack of a better name) Work on finding panels from delta, fixed not finding an initial focused panel Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling Decrease block increment size, can get finer selections (i.e PackageCard modal button) Fix FindPanelsAt never finding more than 1 panel Remove PanelTraversalOverlay, it looked shit When enabling VCS, use the mouse's current position Traverse blocks relative to the screen size, instead of set pixels Add IControllerInputSystem.Destroy Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around Minor cleanup Run Input.SetFocus( null ) on IControllerInputSystem.Destroy Scope UI simulation Remove context hacks Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input Only use pointer-events on elements we want to click on for SocialBar Remove unused code, documentation pass When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor) Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist Don't run ControllerInput.Tick at all if we don't have a controller Docs for IVirtualCursor Kill controller input system if we run out of gamepads to use General cleanup, remove unused ControllerOverlay panel Add adjustable analog sensitivity for UI Post-merge fix Support Alex's scrolling Fixed action set flip-flopping between Menu and InGame twice a frame :S
11 Months Ago
Fixed action set flip-flopping between Menu and InGame twice a frame :S
11 Months Ago
Support Alex's scrolling
11 Months Ago
Post-merge fix
11 Months Ago
Start drafting out UI navigation with controller, by traversing panels Refactor so we can switch between panel traversal and virtual cursor based on input Don't revert back to PanelTraversalSystem if analog is empty Add basic working virtual cursor using PanelInput.UpdateMouse Fixed calculation of virtual cursor position Use stylesheet to style virtual cursor, add ScrollSpeed Refactor, virtual cursor as its own rootpanel so we don't add a panel to every root panel we access Disable system if mouse is moving at all Make VirtualCursorOverlay a razor panel Update SteamInput manifest to include joystick inputs for Menu action set Hide mouse cursor while we have controller input active Support processing any number of root panels, make it work in GameMenu Scale ControllerInput.GetAnalog by Input.ControllerLookYaw(Pitch)Speed Scale virtual cursor position movement by delta time, no wonder it felt different on GameMenu Process inputs in MenuDll Remove some direct controller access, use Input.AnalogMove/AnalogLook instead VCS: only tick for panels that want mouse input VCS: fix is-pressed style Refactor, add ControllerOverlay, so we can add another overlay for panel traversal selection Add PanelTraversalOverlay (for lack of a better name) Work on finding panels from delta, fixed not finding an initial focused panel Give eligible panels a score and give it some data to score by, focus the lowest scoring panel, also hook up selection and scrolling Decrease block increment size, can get finer selections (i.e PackageCard modal button) Fix FindPanelsAt never finding more than 1 panel Remove PanelTraversalOverlay, it looked shit When enabling VCS, use the mouse's current position Traverse blocks relative to the screen size, instead of set pixels Add IControllerInputSystem.Destroy Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around Minor cleanup Run Input.SetFocus( null ) on IControllerInputSystem.Destroy Scope UI simulation Remove context hacks Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input Only use pointer-events on elements we want to click on for SocialBar Remove unused code, documentation pass When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor) Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist Don't run ControllerInput.Tick at all if we don't have a controller Docs for IVirtualCursor Kill controller input system if we run out of gamepads to use General cleanup, remove unused ControllerOverlay panel Add adjustable analog sensitivity for UI
1 Year Ago
Add adjustable analog sensitivity for UI
1 Year Ago
Kill controller input system if we run out of gamepads to use General cleanup, remove unused ControllerOverlay panel
1 Year Ago
Docs for IVirtualCursor
1 Year Ago
Remove InputManifestTemplate/GamepadManifestTemplate groups from Sandbox.Game csproj since they don't exist Don't run ControllerInput.Tick at all if we don't have a controller
1 Year Ago
When looking for an initial panel for traversal, use the mouse position (works w/ virtual cursor)
1 Year Ago
Remove unused code, documentation pass
1 Year Ago
Only use pointer-events on elements we want to click on for SocialBar
1 Year Ago
Pass DoAnyPanelsWantMouseVisible() to ControllerInput, don't call if we don't need input
1 Year Ago
Scope UI simulation Remove context hacks
1 Year Ago
Run Input.SetFocus( null ) on IControllerInputSystem.Destroy
1 Year Ago
Add IControllerInputSystem.Destroy Store last mouse position, don't run in multiple contexts (sort this out in a better way next) - fixes VCS overlay lingering around Minor cleanup