this repo has no description

multiple hunter ghosts

+20 -2
+20 -2
src/main.rs
··· 1 + #![allow(clippy::type_complexity)] 2 + 1 3 use bevy::prelude::*; 2 4 use bevy_bae::prelude::*; 3 5 ··· 28 30 Operator::new(collect_berry) 29 31 ), 30 32 )); 33 + commands.spawn(( 34 + Plan::new(), 35 + Sprite::from_image(asset_server.load("collector.png")), 36 + Sequence, 37 + tasks!( 38 + Operator::new(find_closest_berry), 39 + Operator::new(go_to_berry), 40 + Operator::new(collect_berry) 41 + ), 42 + Transform::from_translation(Vec3::splat(100.0)), 43 + )); 31 44 } 32 45 33 46 #[derive(Component)] 47 + #[relationship(relationship_target = TargetedBerry)] 34 48 pub struct TargetBerry(pub Entity); 35 49 50 + #[derive(Component)] 51 + #[relationship_target(relationship = TargetBerry)] 52 + pub struct TargetedBerry(Entity); 53 + 36 54 fn find_closest_berry( 37 55 In(input): In<OperatorInput>, 38 56 mut commands: Commands, 39 - berries: Query<(Entity, &Transform), With<Berry>>, 57 + berries: Query<(Entity, &Transform), (With<Berry>, Without<TargetedBerry>)>, 40 58 planner: Query<&Transform, With<Plan>>, 41 59 ) -> OperatorStatus { 42 60 let pos = planner.get(input.entity).unwrap().translation.xy(); ··· 60 78 fn go_to_berry( 61 79 In(input): In<OperatorInput>, 62 80 mut planners: Query<(&mut Transform, &TargetBerry), With<Plan>>, 63 - berries: Query<&Transform, (With<Berry>, Without<Plan>)>, 81 + berries: Query<&Transform, (With<TargetedBerry>, Without<Plan>)>, 64 82 time: Res<Time>, 65 83 ) -> OperatorStatus { 66 84 let (mut trans, target_entity) = planners.get_mut(input.entity).unwrap();