2个不稳定版本
0.2.0 | 2024年7月4日 |
---|---|
0.1.0 | 2024年5月16日 |
#1232 在 游戏开发
121 每月下载次数
19KB
397 行
bevy_two_entities
一个提供Bevy的Query和Query
和(&Query, &Query)
的便利特质的微型crate,用于涉及恰好两个实体的情况。
示例
fn game_over(
collisions: Query<&Collision>,
players: Query<(), With<Player>>,
enemies: Query<(), With<Enemy>>,
mut next_state: ResMut<NextState<GameState>>,
) {
for collision in &collisions {
if (&players, &enemies).both(collision.0, collision.1) {
next_state.set(GameState::GameOver);
}
}
}
fn damage_enemy(
collisions: Query<&Collision>,
players: Query<(), With<Player>>,
mut enemies: Query<&mut HitPoints, With<Enemy>>,
) {
for collision in &collisions {
let mut queries = (&players, &mut enemies);
let Some((_, mut enemy_hp)) = queries.get_both_mut(collision.0, collision.1) else {
continue;
};
enemy_hp.0 -= 1;
}
}
兼容性
bevy_two_entities |
bevy |
---|---|
0.2 |
0.14 |
0.1 |
0.13 |
依赖关系
~23MB
~425K SLoC