3 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