Appearance
Input and inventory UI
Input-device tracking
URicInputSubsystem is a local-player subsystem. Use GetCurrentInputType() or GetInputType(ContextObject) to choose mouse/keyboard, gamepad, or touch presentation.
Bind OnInputMethodChanged to update prompts. The subsystem also provides SetCursorPosition and SetSimulatedMouse.
Although FRicAnalogCursor exists, this version's input subsystem does not create it automatically. Do not assume that installing the module enables gamepad cursor navigation without additional integration.
Create a drag payload
Subclass the abstract URicDragPayload and store the data your UI needs, such as an item GUID, source container GUID, and proposed rotation.
The base payload has no built-in item fields. Populate your payload from the current inventory view.
Connect a drag session
- Obtain
URicDragAndDropHelperSubsystemfrom the game instance. - Call
StartDrag(Payload). - Use
OnDragStartedto show the drag visual. - Resolve the target widget, container, and slot.
- Call the predicted inventory's
GetDropActionandProcessDrop. - Finish with
EndDrag(SlotIndex, Result), including on cancellation.
GetWidgetOfClassAtScreenPosition accepts blocking widget classes for hit testing. The helper manages the drag session and events; it does not perform the inventory mutation itself.
Context menus
ShowContextMenu and CloseContextMenu notify listeners through OnShowContextMenu and OnCloseContextMenu. Your widgets render the menu and invoke the chosen item action.
Refresh widgets
Use manager events for an authoritative presentation, or predicted synchronization/container subscriptions for the client view. Resolve an item's visual data through a visual resolver.
Re-resolve pointers by GUID after synchronization. Cancel stale drags when the referenced item is removed, and unbind widget delegates when the widget closes.