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

``