Adjust downstream code to default parameters (itest, dodge-the-creeps) · godot-rust/gdext@01ce0bb (original) (raw)
1
1
`use crate::hud::Hud;
`
2
2
`use crate::mob;
`
3
3
`use crate::player;
`
4
``
`-
use godot::engine::node::InternalMode;
`
``
4
+
5
5
`use godot::engine::{Marker2D, PathFollow2D, RigidBody2D, Timer};
`
6
6
`use godot::prelude::*;
`
``
7
+
7
8
`use rand::Rng as _;
`
8
``
`-
use std::f64::consts::PI;
`
``
9
`+
use std::f32::consts::PI;
`
9
10
``
10
11
`// Deriving GodotClass makes the class available to Godot
`
11
12
`#[derive(GodotClass)]
`
`@@ -33,7 +34,7 @@ impl Main {
`
33
34
` hud.bind_mut().show_game_over();
`
34
35
``
35
36
`self.music().stop();
`
36
``
`-
self.death_sound().play(0.0);
`
``
37
`+
self.death_sound().play();
`
37
38
`}
`
38
39
``
39
40
`#[func]
`
`@@ -45,22 +46,22 @@ impl Main {
`
45
46
`self.score = 0;
`
46
47
``
47
48
` player.bind_mut().start(start_position.get_position());
`
48
``
`-
start_timer.start(0.0);
`
``
49
`+
start_timer.start();
`
49
50
``
50
51
`let mut hud = self.base.get_node_as::("Hud");
`
51
52
`let hud = hud.bind_mut();
`
52
53
` hud.update_score(self.score);
`
53
54
` hud.show_message("Get Ready".into());
`
54
55
``
55
``
`-
self.music().play(0.0);
`
``
56
`+
self.music().play();
`
56
57
`}
`
57
58
``
58
59
`#[func]
`
59
60
`fn on_start_timer_timeout(&self) {
`
60
61
`let mut mob_timer = self.base.get_node_as::("MobTimer");
`
61
62
`let mut score_timer = self.base.get_node_as::("ScoreTimer");
`
62
``
`-
mob_timer.start(0.0);
`
63
``
`-
score_timer.start(0.0);
`
``
63
`+
mob_timer.start();
`
``
64
`+
score_timer.start();
`
64
65
`}
`
65
66
``
66
67
`#[func]
`
`@@ -82,19 +83,15 @@ impl Main {
`
82
83
`let mut rng = rand::thread_rng();
`
83
84
`let progress = rng.gen_range(u32::MIN..u32::MAX);
`
84
85
``
85
``
`-
mob_spawn_location.set_progress(progress.into());
`
``
86
`+
mob_spawn_location.set_progress(progress as f32);
`
86
87
` mob_scene.set_position(mob_spawn_location.get_position());
`
87
88
``
88
89
`let mut direction = mob_spawn_location.get_rotation() + PI / 2.0;
`
89
90
` direction += rng.gen_range(-PI / 4.0..PI / 4.0);
`
90
91
``
91
92
` mob_scene.set_rotation(direction);
`
92
93
``
93
``
`-
self.base.add_child(
`
94
``
`-
mob_scene.share().upcast(),
`
95
``
`-
false,
`
96
``
`-
InternalMode::INTERNAL_MODE_DISABLED,
`
97
``
`-
);
`
``
94
`+
self.base.add_child(mob_scene.share().upcast());
`
98
95
``
99
96
`let mut mob = mob_scene.cast::mob::Mob();
`
100
97
`{
`
`@@ -103,15 +100,14 @@ impl Main {
`
103
100
`let range = rng.gen_range(mob.min_speed..mob.max_speed);
`
104
101
``
105
102
` mob.set_linear_velocity(Vector2::new(range, 0.0));
`
106
``
`-
let lin_vel = mob.get_linear_velocity().rotated(real::from_f64(direction));
`
``
103
`+
let lin_vel = mob.get_linear_velocity().rotated(real::from_f32(direction));
`
107
104
` mob.set_linear_velocity(lin_vel);
`
108
105
`}
`
109
106
``
110
107
`let mut hud = self.base.get_node_as::("Hud");
`
111
108
` hud.bind_mut().connect(
`
112
109
`"start_game".into(),
`
113
110
`Callable::from_object_method(mob, "on_start_game"),
`
114
``
`-
0,
`
115
111
`);
`
116
112
`}
`
117
113
``