You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Summary
After we removed the input logic from nodes, the input system was left in a unusable state. We'll need to redesign the whole system, as terminal/TUI apps differ logically from GUI apps due to the input mocking done by HeadlessApplication.
Motivation
Without the input systems, we can't interact with our games.
Proposed Solution
Our system will need to:
Propagate input to nodes/behaviors somehow
Note
Re-stating the nodeInput and onInput lifecycle methods is a much cleaner solution, and doing that wouldn't really break separation of concerns as input is a core part of it. (Similar to how godot nodes have onInput support)
They also will need to support multiple backends, because HeadlessApplication mocks libgdx input. Instead of implementing a custom "half-headless" backend, which would become a rabbit hole, the more reallistic option is
Implement a layer over our TUI layer, which will be built on top of Mordant.
Summary
After we removed the input logic from nodes, the input system was left in a unusable state. We'll need to redesign the whole system, as terminal/TUI apps differ logically from GUI apps due to the input mocking done by
HeadlessApplication.Motivation
Without the input systems, we can't interact with our games.
Proposed Solution
Our system will need to:
Note
Re-stating the
nodeInputandonInputlifecycle methods is a much cleaner solution, and doing that wouldn't really break separation of concerns as input is a core part of it. (Similar to how godot nodes haveonInputsupport)They also will need to support multiple backends, because
HeadlessApplicationmocks libgdx input. Instead of implementing a custom "half-headless" backend, which would become a rabbit hole, the more reallistic option is