-
Notifications
You must be signed in to change notification settings - Fork 55
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Command built-in controllers via events or another keymap agnostic way. #5
Comments
The controllers do currently work based on events, but the plugins will add a As a workaround, you could make your own But I could also try to make the plugins generic over an input bindings system. |
Not urgent for my use-case, just something I noticed. I'm planning on implementing my own controller as of now, but if I make a PR with it, I would like there to be a standard for generic bindings. Perhaps a solution could be to expose an events enum with more "input"-y variants -- something you could map one to one with a button press. As of now the events used aren't much more abstract as using the the |
I assume you mean something like the amethyst Basically a mapping of bevy's Consider the FPS controller event: pub enum ControlEvent {
Rotate(Vec2),
TranslateEye(Vec3),
} I don't think abstracting over So that's why I think it makes sense for controller to define their own event type to be as abstract as possible. Another crate could provide the abstraction you want in order to generate the events from
I disagree. The controller implementations require a fair bit of complexity that is hidden by the event interface. Many different input schemes could be implemented by "simply" generating those events. So that's why I like my idea of making the plugins generic over an entire input system. And in Bevy, that's as simple as not implementing the input system at all. The API can be "you just need to run a system that generates |
After looking at the current controllers in more detail, I think the current |
As implemented, the controls are hardcoded. This is not a practical design for any serious game.
The text was updated successfully, but these errors were encountered: