| Crates.io | beet_flow |
| lib.rs | beet_flow |
| version | 0.0.8 |
| created_at | 2024-07-27 05:30:13.14425+00 |
| updated_at | 2026-01-15 05:14:43.528023+00 |
| description | An ECS control flow library |
| homepage | https://beetstack.dev |
| repository | https://github.com/mrchantey/beet |
| max_upload_size | |
| id | 1317077 |
| size | 165,587 |
beet_flowBeet Flow is an ECS control flow library built with Bevy Observers. The ECS architecture allows for a growing list of paradigms to be used interchangably:
A demonstration of a Sequence control flow common in behavior trees.
use beet_flow::prelude::*;
use beet_core::prelude::*;
let mut app = App::new();
app.add_plugins((
// manages action lifecycles
ControlFlowPlugin::default(),
// this will log the name of each action as it is triggered.
DebugFlowPlugin::default()
));
app.world_mut()
.spawn((
Name::new("My Behavior"),
Sequence,
children![
(
Name::new("Hello"),
EndWith(Outcome::Pass),
),
(
Name::new("World"),
EndWith(Outcome::Pass),
),
],
))
.trigger_target(GetOutcome)
.flush();