tangled
alpha
login
or
join now
morri.squi.dev
/
baecase
0
fork
atom
this repo has no description
0
fork
atom
overview
issues
pulls
pipelines
multiple hunter ghosts
morri.squi.dev
4 months ago
0eaeec5f
824407f1
+20
-2
1 changed file
expand all
collapse all
unified
split
src
main.rs
+20
-2
src/main.rs
···
1
1
+
#![allow(clippy::type_complexity)]
2
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
33
+
commands.spawn((
34
34
+
Plan::new(),
35
35
+
Sprite::from_image(asset_server.load("collector.png")),
36
36
+
Sequence,
37
37
+
tasks!(
38
38
+
Operator::new(find_closest_berry),
39
39
+
Operator::new(go_to_berry),
40
40
+
Operator::new(collect_berry)
41
41
+
),
42
42
+
Transform::from_translation(Vec3::splat(100.0)),
43
43
+
));
31
44
}
32
45
33
46
#[derive(Component)]
47
47
+
#[relationship(relationship_target = TargetedBerry)]
34
48
pub struct TargetBerry(pub Entity);
35
49
50
50
+
#[derive(Component)]
51
51
+
#[relationship_target(relationship = TargetBerry)]
52
52
+
pub struct TargetedBerry(Entity);
53
53
+
36
54
fn find_closest_berry(
37
55
In(input): In<OperatorInput>,
38
56
mut commands: Commands,
39
39
-
berries: Query<(Entity, &Transform), With<Berry>>,
57
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
63
-
berries: Query<&Transform, (With<Berry>, Without<Plan>)>,
81
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();