beet_flow

Crates.iobeet_flow
lib.rsbeet_flow
version0.0.8
created_at2024-07-27 05:30:13.14425+00
updated_at2026-01-15 05:14:43.528023+00
descriptionAn ECS control flow library
homepagehttps://beetstack.dev
repositoryhttps://github.com/mrchantey/beet
max_upload_size
id1317077
size165,587
Pete Hayman (mrchantey)

documentation

https://docs.rs/beet

README

beet_flow

Beet 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:

Hello World

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();
Commit count: 1391

cargo fmt