1use nightshade::prelude::*;
6
7pub fn set_window_title(world: &mut World, title: &str) {
9 world
10 .res_mut::<nightshade::ecs::window::resources::Window>()
11 .title = title.to_string();
12}
13
14pub fn window_size(world: &World) -> Option<(u32, u32)> {
16 world
17 .res::<nightshade::ecs::window::resources::Window>()
18 .cached_viewport_size
19}
20
21pub fn lock_cursor(world: &mut World, locked: bool) {
26 set_cursor_locked(world, locked);
27 set_cursor_visible(world, !locked);
28}
29
30pub fn cursor_locked(world: &World) -> bool {
32 world
33 .res::<nightshade::ecs::window::resources::Window>()
34 .cursor_locked
35}
36
37pub fn frames_per_second(world: &World) -> f32 {
39 world.res::<nightshade::ecs::time::Time>().frames_per_second
40}
41
42pub fn frame_count(world: &World) -> u32 {
45 world.res::<nightshade::ecs::time::Time>().frame_counter
46}
47
48pub fn uptime_milliseconds(world: &World) -> u64 {
50 world
51 .res::<nightshade::ecs::time::Time>()
52 .uptime_milliseconds
53}
54
55pub fn request_exit(world: &mut World) {
57 world
58 .res_mut::<nightshade::ecs::window::resources::Window>()
59 .should_exit = true;
60}