use crate::z_ignore_test_common::*;
use flecs_ecs::prelude::*;
#[derive(Default, Component)]
#[flecs(meta)]
pub struct Point {
pub x: f32,
pub y: f32,
}
#[derive(Default, Component)]
#[flecs(meta)]
pub struct Line {
pub start: Point,
pub stop: Point,
}
fn main() {
let world = World::new();
let e = world.entity().add(Line::id());
e.get::<&mut Line>(|line| {
let mut cur = world.cursor(line);
cur.push(); cur.member("start"); cur.push(); cur.member("x"); cur.set_float(10.0); cur.member("y"); cur.set_float(20.0); cur.pop(); cur.member("stop"); cur.push(); cur.member("x"); cur.set_float(30.0); cur.member("y"); cur.set_float(40.0); cur.pop(); cur.pop();
println!("{}", world.to_expr(line));
});
}
#[cfg(feature = "flecs_nightly_tests")]
#[test]
fn test() {
let output_capture = OutputCapture::capture().unwrap();
main();
output_capture.test("reflection_nested_set_member".to_string());
}