Skip to content

Refactor: Input System Redesign #51

@GuilhermeF03

Description

@GuilhermeF03

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.

Metadata

Metadata

Assignees

Projects

Status

In progress

Relationships

None yet

Development

No branches or pull requests

Issue actions