MCPcopy Create free account
hub / github.com/AryanpurTech/BlueEngine / main

Function main

examples/utils/render_order.rs:10–66  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

8use blue_engine::{Engine, ObjectSettings, Vector3, primitive_shapes::square};
9
10fn main() -> Result<(), blue_engine::error::Error> {
11 // initialize the engine
12 let mut engine = Engine::new()?;
13
14 // make the first layer
15 square(
16 "layer1",
17 ObjectSettings::default(),
18 &mut engine.renderer,
19 &mut engine.objects,
20 )?;
21
22 // make the second layer
23 square(
24 "layer2",
25 ObjectSettings::default(),
26 &mut engine.renderer,
27 &mut engine.objects,
28 )?;
29
30 // Get layer 1 object
31 engine
32 .objects
33 .get_mut("layer1")
34 .expect("failed to gete object")
35 .set_color(1f32, 0.5, 0f32, 1f32) // set a color to differentiate it
36 .set_position(Vector3::new(-0.5, 0f32, 0f32)) // move it to left a bit
37 .set_render_order(0); // set render order to 0th
38
39 // Get layer 2 object
40 engine
41 .objects
42 .get_mut("layer2")
43 .expect("failed to gete object")
44 .set_color(0f32, 0f32, 1f32, 1f32) // set a color to differentiate it
45 .set_position(Vector3::new(0.5, 0f32, 0f32)) // move it to right a bit
46 .set_render_order(1); // set render order to 1st
47
48 // get a timer for order change
49 let start = std::time::Instant::now();
50
51 // start the update loop
52 engine.update_loop(move |engine| {
53 // get the target layer to change order of
54 let target = engine.objects.get_mut("layer1").unwrap();
55
56 // on ever 2 seconds change order
57 if start.elapsed().as_secs().is_multiple_of(2) {
58 target.set_render_order(2);
59 } else {
60 // change back to default
61 target.set_render_order(0);
62 }
63 })?;
64
65 Ok(())
66}

Callers

nothing calls this directly

Calls 5

set_render_orderMethod · 0.80
set_colorMethod · 0.80
update_loopMethod · 0.80
squareFunction · 0.50
set_positionMethod · 0.45

Tested by

no test coverage detected