Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
bevyengine
GitHub Repository: bevyengine/bevy
Path: blob/main/tests-integration/simple-ecs-test/src/lib.rs
6595 views
1
#![allow(dead_code)]
2
use bevy::prelude::*;
3
4
#[derive(Component)]
5
struct MyComponent {
6
value: f32,
7
}
8
9
#[derive(Resource)]
10
struct MyResource {
11
value: f32,
12
}
13
14
fn hello_world(query: Query<&MyComponent>, resource: Res<MyResource>) {
15
let component = query.iter().next().unwrap();
16
let comp_value = component.value; // rust-analyzer suggestions work
17
let res_value_deref = resource.value; // rust-analyzer suggestions don't work but ctrl+click works once it's written, also type inlay hints work correctly
18
let res_value_direct = resource.into_inner().value; // rust-analyzer suggestions work
19
println!(
20
"hello world! Value: {} {} {}",
21
comp_value, res_value_deref, res_value_direct
22
);
23
}
24
25
fn spawn_component(mut commands: Commands) {
26
commands.spawn(MyComponent { value: 10.0 });
27
}
28
29
#[test]
30
fn simple_ecs_test() {
31
App::new()
32
.insert_resource(MyResource { value: 5.0 })
33
.add_systems(Startup, spawn_component)
34
.add_systems(Update, hello_world)
35
.run();
36
}
37
38