Edit: i was a dunce and explained data-driven, which it also is, but is not what you asked.
Bevy is data oriented due to its ECS: roughly: which data an entity has attached to it decides which behaviours are run. Want something to have a health bar? Just attach the Health { current: 50, max: 100 } struct and it will have all associated behaviour like being able to take damage. Want to make it invincible again? Just remove the Health struct.
This is different from OOP engines, where you might need to keep an is_invincible boolean around to check against.
Bevy is data oriented due to its ECS: roughly: which data an entity has attached to it decides which behaviours are run. Want something to have a health bar? Just attach the Health { current: 50, max: 100 } struct and it will have all associated behaviour like being able to take damage. Want to make it invincible again? Just remove the Health struct.
This is different from OOP engines, where you might need to keep an is_invincible boolean around to check against.