use bevy::prelude::*; use bevy_console::{reply, AddConsoleCommand, ConsoleCommand, ConsolePlugin}; use clap::Parser; fn main() { App::new() // set background to red .add_plugins((DefaultPlugins, ConsolePlugin)) .add_console_command::(log_command) .run(); } /// Prints given arguments to the console #[derive(Parser, ConsoleCommand)] #[command(name = "log")] struct LogCommand { /// Message to print msg: String, /// Number of times to print message num: Option, } fn log_command(mut log: ConsoleCommand) { if let Some(Ok(LogCommand { msg, num })) = log.take() { let repeat_count = num.unwrap_or(1); for _ in 0..repeat_count { reply!(log, "{msg}"); } log.ok(); } }