Files
coven/core/console_commands.jai
2025-01-09 22:02:23 +01:00

59 lines
1.5 KiB
Plaintext

add_engine_console_commands :: () {
add_command(console, "new", cmd_new_scene);
add_command(console, "load", cmd_load_scene);
}
cmd_new_scene :: (arguments: [] string) {
if arguments.count != 1 {
console_error("Expected one argument, got %\n", arguments.count);
return;
}
if engine.mode == .PLAYING {
console_error("Can't create new scene while in play-mode\n");
return;
}
scene_path := tprint("../assets/scenes/%", arguments[0]);
if file_exists(scene_path) {
console_error("Scene '%' already exist\n", arguments[0]);
return;
}
#if EDITOR {
engine.editor.selected_entities.count = 0;
}
if engine.current_scene != null {
unload_scene(engine.current_scene);
}
make_directory_if_it_does_not_exist(scene_path);
engine.current_scene = create_scene(arguments[0]);
switch_to_scene(arguments[0]);
console_success("Scene '%' loaded\n", arguments[0]);
}
cmd_load_scene :: (arguments: [] string) {
if arguments.count != 1 {
console_error("Scene '%' doesn't exist\n", arguments[0]);
return;
}
scene_path := tprint("../assets/scenes/%", arguments[0]);
if !file_exists(scene_path) {
console_error("Scene '%' doesn't exist\n", arguments[0]);
return;
}
#if EDITOR {
engine.editor.selected_entities.count = 0;
}
switch_to_scene(arguments[0]);
console_success("Scene '%' loaded\n", arguments[0]);
}