Skip to main content

hud/
hud.rs

1use nightshade_api::prelude::*;
2
3fn main() {
4    let mut app = open();
5    let cube = spawn_cube(&mut app.world, vec3(0.0, 0.5, 0.0));
6    set_color(&mut app.world, cube, TEAL);
7
8    let fps_text = spawn_text(&mut app.world, "fps: 0", ScreenAnchor::TopLeft);
9    spawn_text(
10        &mut app.world,
11        "G grid, B bloom, 1 sky, 2 night, 3 black",
12        ScreenAnchor::BottomLeft,
13    );
14
15    let mut grid = true;
16    let mut bloom = false;
17    while frame(&mut app) {
18        let step = delta_time(&app.world);
19        rotate(&mut app.world, cube, Vec3::y(), step);
20        let frames_per_second = app.world.resources.window.timing.frames_per_second;
21        set_text(
22            &mut app.world,
23            fps_text,
24            &format!("fps: {frames_per_second:.0}"),
25        );
26        if key_pressed(&app.world, KeyCode::KeyG) {
27            grid = !grid;
28            show_grid(&mut app.world, grid);
29        }
30        if key_pressed(&app.world, KeyCode::KeyB) {
31            bloom = !bloom;
32            set_bloom(&mut app.world, bloom);
33        }
34        if key_pressed(&app.world, KeyCode::Digit1) {
35            set_background(&mut app.world, Background::Sky);
36        }
37        if key_pressed(&app.world, KeyCode::Digit2) {
38            set_background(&mut app.world, Background::Color([0.02, 0.01, 0.08, 1.0]));
39        }
40        if key_pressed(&app.world, KeyCode::Digit3) {
41            set_background(&mut app.world, Background::Color(BLACK));
42        }
43    }
44}