No description
Find a file
2026-01-22 21:33:14 -05:00
src 0.18.0 2026-01-22 21:33:14 -05:00
.gitignore :33 2026-01-15 21:35:15 -05:00
Cargo.lock 0.18.0 2026-01-22 21:33:14 -05:00
Cargo.toml 0.18.0 2026-01-22 21:33:14 -05:00
README.md out,, 2026-01-18 14:46:00 -05:00
rust-toolchain.toml :33 2026-01-15 21:35:15 -05:00

おさん狐

a data binding library for bevy

Usage

#[derive(Component)]
pub struct DataSource(String);

let data_source = commands.spawn(DataSource(":3")).id();

let binding = ComponentBinding::new(|source: &DataSource, target: &mut Text| {
  target.0 = source.0;
});

// spawn using components
let target = commands.spawn((
    Text::new("hi! <33"),
    BindingTarget(data_source),
    binding
  ))
  .id();

// or with commands
commands.spawn(Text::new("hi <33"))
  .register_binding(data_source, binding);

// or with a system
let binding_system = BindingSystem::new(|entities: In<BoundEntities>, sources: Query<&DataSource>, Query<&mut Text>| {
  todo!()
});

commands.register_binding(
  data_source,
  target,
  binding_system
    // type inference helper
    .with_source::<DataSource>()
)