-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Description
Input will be consolidated into isolated input modules. An input module has a couple of tasks:
- Register any listeners it needs for input
- Listen and keep track of input
- Emit events to the radix tree as they occur
For example, within the context of the keyboard & mouse input module, this would look like this:
- Subscribing to the correct Forge events
- Keeping track of mouse movement and traversing a radix tree based on the keypresses
- Send a
start inputevent once thebending togglekey is pressed, send Forms as they are formed from keyboard presses or mouse movement, then send thestop inputevent once thebending togglekey is pressed once more.
So, what is needed is at least an implementation of the keyboard & mouse input module. A base input module interface might be helpful, but it shouldn't be too restrictive as it is up to each individual input module to decide how they want to structure themselves, as data is passed directly from each input module to the radix tree.
Important is that input modules should be dynamic. It should be possible to unregister and register them at any point, even mid-game.
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
🏗 In progress