From d9173a7cc338e8c646b844d1d0f2805b8c570bef Mon Sep 17 00:00:00 2001 From: Jonni Liljamo Date: Wed, 21 Dec 2022 10:09:39 +0200 Subject: [PATCH] Add bevy_console --- Cargo.lock | 123 ++++++++++++++++++++++++++++++++++++++++++ sdbclient/Cargo.toml | 1 + sdbclient/src/main.rs | 9 ++++ 3 files changed, 133 insertions(+) diff --git a/Cargo.lock b/Cargo.lock index 7c2a7ee..ee62837 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -225,6 +225,30 @@ version = "0.13.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +[[package]] +name = "better-bae" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c42256f0525b8d9cb8e6573ba850478df93ba34ddd7bf64eeb47ff19a8422bc5" +dependencies = [ + "better-bae-macros", + "proc-macro2", + "syn", +] + +[[package]] +name = "better-bae-macros" +version = "0.1.9" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6b0f3144c211af9910842422e6835938ff01895bca8c143e28dcebdd23eb2dbc" +dependencies = [ + "heck", + "proc-macro-error", + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "bevy" version = "0.9.1" @@ -335,6 +359,40 @@ dependencies = [ "rodio", ] +[[package]] +name = "bevy_console" +version = "0.5.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e9dc4cac94fee1422622e25965f04e5f2b23e4b674783e617990a21a3e04ae84" +dependencies = [ + "bevy", + "bevy_console_derive", + "bevy_console_parser", + "bevy_egui", +] + +[[package]] +name = "bevy_console_derive" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fbe2a385f3b2bd64a98a2da677579f6354d0129782ca0a615d099ff33fdf496e" +dependencies = [ + "better-bae", + "proc-macro2", + "quote", + "syn", +] + +[[package]] +name = "bevy_console_parser" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "aaf47f8d4f6ab7867cf3e8a40e5d45567e4f1d5c436fe11e3070dde95fa66aca" +dependencies = [ + "nom", + "nom-supreme", +] + [[package]] name = "bevy_core" version = "0.9.1" @@ -957,6 +1015,15 @@ version = "0.1.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0d8c1fef690941d3e7788d328517591fecc684c084084702d6ff1641e993699a" +[[package]] +name = "brownstone" +version = "3.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c5839ee4f953e811bfdcf223f509cb2c6a3e1447959b0bff459405575bc17f22" +dependencies = [ + "arrayvec", +] + [[package]] name = "bumpalo" version = "3.11.1" @@ -1840,6 +1907,12 @@ dependencies = [ "serde", ] +[[package]] +name = "heck" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2540771e65fc8cb83cd6e8a237f70c319bd5c29f78ed1084ba5d50eeac86f7f9" + [[package]] name = "hermit-abi" version = "0.1.19" @@ -1989,6 +2062,12 @@ dependencies = [ "scoped_threadpool", ] +[[package]] +name = "indent_write" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0cfe9645a18782869361d9c8732246be7b410ad4e919d3609ebabdac00ba12c3" + [[package]] name = "indexmap" version = "1.9.2" @@ -2102,6 +2181,12 @@ dependencies = [ "libc", ] +[[package]] +name = "joinery" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "72167d68f5fce3b8655487b8038691a3c9984ee769590f93f2a631f4ad64e4f5" + [[package]] name = "jpeg-decoder" version = "0.1.22" @@ -2501,6 +2586,19 @@ dependencies = [ "minimal-lexical", ] +[[package]] +name = "nom-supreme" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bd3ae6c901f1959588759ff51c95d24b491ecb9ff91aa9c2ef4acc5b1dcab27" +dependencies = [ + "brownstone", + "indent_write", + "joinery", + "memchr", + "nom", +] + [[package]] name = "notify" version = "5.0.0" @@ -2879,6 +2977,30 @@ dependencies = [ "toml", ] +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "syn", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", +] + [[package]] name = "proc-macro2" version = "1.0.47" @@ -3105,6 +3227,7 @@ version = "0.1.0" dependencies = [ "bevy", "bevy-inspector-egui", + "bevy_console", "bevy_egui", "futures-lite", "reqwest", diff --git a/sdbclient/Cargo.toml b/sdbclient/Cargo.toml index 6dc7a90..9daeea4 100644 --- a/sdbclient/Cargo.toml +++ b/sdbclient/Cargo.toml @@ -15,6 +15,7 @@ bevy = { version = "0.9.1" } # 0.18.0 breaks inspector, but not a major issue right now bevy_egui = "0.17" bevy-inspector-egui = "0.14.0" +bevy_console = "0.5.0" # http requests reqwest = { version = "0.11.13", features = ["blocking", "json"] } diff --git a/sdbclient/src/main.rs b/sdbclient/src/main.rs index 6d170e8..87a5e44 100644 --- a/sdbclient/src/main.rs +++ b/sdbclient/src/main.rs @@ -11,6 +11,7 @@ use bevy::{ window::{CompositeAlphaMode, CursorGrabMode, PresentMode, WindowResizeConstraints}, }; +use bevy_console::{ConsoleConfiguration, ConsolePlugin, ToggleConsoleKey}; use bevy_egui::EguiPlugin; use bevy_inspector_egui::WorldInspectorPlugin; @@ -68,6 +69,14 @@ fn main() { app.add_plugin(EguiPlugin); app.add_plugin(WorldInspectorPlugin::new()); + app.add_plugin(ConsolePlugin); + app.insert_resource(ConsoleConfiguration { + keys: vec![ + ToggleConsoleKey::KeyCode(KeyCode::F1), + ToggleConsoleKey::KeyCode(KeyCode::F13), + ], + ..Default::default() + }); app.insert_resource(cfg::CfgSettings { volume_master: 7, -- 2.44.1