4 releases
0.1.3 | Feb 19, 2024 |
---|---|
0.1.2 | Nov 29, 2023 |
0.1.1 | Nov 28, 2023 |
0.1.0 | Nov 28, 2023 |
#734 in Game dev
30KB
523 lines
slowchop_console
A Quake style console and log plugin for Bevy.
⚠️ Warning ⚠️
This was rushed out for the Bevy Jam, and only tested on macOS. Not recommended to use, unless you're willing to help fix it up. 😅
Features
- Uses bevy_ui for rendering.
- A console that can be opened and closed with a keypress.
- Captures all bevy (tracing) log messages and displays them in the console.
- Colorizes log messages depending on log level.
- Uses an enum as the possible actions. ("Commands" IMO is a better term but that's taken by Bevy.)
- Enum supports floats, integers, strings, bools, and Vec of those types.
Optional
arguments work, which must be after any non-optional arguments.- Actions are validated against the enum.
- Actions executed are emitted as an event.
Actions Enum
use bevy::prelude::Event;
use slowchop_console::Actions;
#[derive(Actions, Event)]
enum MyGameActions {
Quit,
Spawn(f32, f32, f32, Option<String>),
}
This will create a quit
action that takes no arguments. The spawn
action takes 3 floats, and
optionally a String.
Check out the full example on how to integrate.
License: MIT OR Apache-2.0
Dependencies
~38–75MB
~1.5M SLoC