Rally Rush
Loading...
Searching...
No Matches
spawner.hpp
Go to the documentation of this file.
1#ifndef SPAWNER_HPP
2#define SPAWNER_HPP
3
5#include "godot_cpp/classes/packed_scene.hpp"
6#include "godot_cpp/classes/random_number_generator.hpp"
7#include "godot_cpp/templates/vector.hpp"
9#include <godot_cpp/classes/node.hpp>
10
11namespace godot {
12class EnemySpawnpoint;
14class Spawner : public Node {
17 static void _bind_methods();
18public:
20 virtual void _enter_tree() override;
22 virtual void _process(double delta_time) override;
23
25 int max_enemy_cars();
27 int max_enemy_drones();
28protected:
30 void spawn_enemy_car();
32 void spawn_enemy_drone();
34 void spawn_key();
36 void decrement_cars();
38 void decrement_drones();
40 void set_drone_scene(Ref<PackedScene> scene);
42 Ref<PackedScene> get_drone_scene() const;
44 void set_car_scene(Ref<PackedScene> scene);
46 Ref<PackedScene> get_car_scene() const;
48 void set_key_scene(Ref<PackedScene> scene);
50 Ref<PackedScene> get_key_scene() const;
51private:
53 double next{0};
55 unsigned tick{0};
56 Ref<PackedScene> drone_scene{};
57 Ref<PackedScene> car_scene{};
58 Ref<PackedScene> key_scene{};
59 RandomNumberGenerator rng{};
60 unsigned num_cars{0};
61 unsigned num_drones{0};
62
65};
66}
67
68#endif // !SPAWNER_HPP
Game mode for Rally Rush. Mainly serves as a scorekeeper and patchbay for Observers....
Definition rally_rush_game_mode.hpp:8
Singleton managing enemy and key spawning. Spawns a single enemy at an interval, selecting drone or c...
Definition spawner.hpp:14
Ref< PackedScene > get_key_scene() const
The scene to instantiate for keys.
Definition spawner.cpp:123
Ref< PackedScene > drone_scene
Definition spawner.hpp:56
RallyRushGameMode * game_mode
Reference to the game mode.
Definition spawner.hpp:64
void spawn_key()
Spawn a key at a random spawnpoint.
Definition spawner.cpp:79
int max_enemy_cars()
The max number of cars, increases with number of keys found.
Definition spawner.cpp:33
GDCLASS(Spawner, Node)
void set_car_scene(Ref< PackedScene > scene)
The scene to instantiate for cars.
Definition spawner.cpp:111
virtual void _enter_tree() override
Spawn three keys. Store gamemode reference.
Definition spawner.cpp:16
int max_enemy_drones()
The max number of drones, increases with number of enemies found.
Definition spawner.cpp:37
unsigned num_cars
Definition spawner.hpp:60
void spawn_enemy_car()
Spawn an enemy car at a random spawnpoint. Increases car counter.
Definition spawner.cpp:41
RandomNumberGenerator rng
Definition spawner.hpp:59
virtual void _process(double delta_time) override
Update timer, spawn new enemy as required.
Definition spawner.cpp:24
void set_key_scene(Ref< PackedScene > scene)
The scene to instantiate for keys.
Definition spawner.cpp:119
void decrement_drones()
Listener for when a drone is destroyed somehow. Decreases drone counter.
Definition spawner.cpp:99
void set_drone_scene(Ref< PackedScene > scene)
The scene to instantiate for drones.
Definition spawner.cpp:103
unsigned num_drones
Definition spawner.hpp:61
Ref< PackedScene > key_scene
Definition spawner.hpp:58
Ref< PackedScene > get_car_scene() const
The scene to instantiate for cars.
Definition spawner.cpp:115
void spawn_enemy_drone()
Spawn an enemy drone at a random spawnpoint. Increases drone counter.
Definition spawner.cpp:60
static void _bind_methods()
Register editor properties.
Definition spawner.cpp:9
void decrement_cars()
Listener for when a car is destroyed somehow. Decreases car counter.
Definition spawner.cpp:95
Ref< PackedScene > get_drone_scene() const
The scene to instantiate for drones.
Definition spawner.cpp:107
double next
Time at which the next spawn tick will go.
Definition spawner.hpp:53
unsigned tick
The number of spawn ticks that have happened, could overflow, though that's not a problem.
Definition spawner.hpp:55
Ref< PackedScene > car_scene
Definition spawner.hpp:57
Definition beacon_powerup.cpp:6