Beet is behavior expressed as entity trees, using Observers for control flow. The entity-based approach is very flexible and allows for multiple behavior paradigms to be used together as needed.
Currently implemented paradigms:
// A demonstration of Sequence control flow
world.spawn(SequenceFlow)
.with_child((
Name::new("Hello"),
EndOnRun::success(),
))
.with_child((
Name::new("World"),
EndOnRun::success(),
))
.trigger(OnRun);
The examples for beet are scene-based, meaning each example provides a scene for a common base app. As Bevy scene workflows are a wip, there are a few Placeholder
types used for not-yet-serializable types like cameras, asset handles etc.
Most examples rely on assets that can be downloaded with the following commands, or manually from here.
curl -o ./assets.tar.gz https://bevyhub-public.s3.us-west-2.amazonaws.com/assets.tar.gz
tar -xzvf ./assets.tar.gz
rm ./assets.tar.gz
bevy |
beet |
---|---|
0.15 | 0.0.4 |
0.14 | 0.0.2 |
0.12 | 0.0.1 |
- When we get
OnMutate
observers, they should probably replace mostOnInsert
observers we're using