tunnel-strategy/src/tunnels_game_mode.hpp

29 lines
782 B
C++

#ifndef TUNNELS_GAME_MODE_HPP
#define TUNNELS_GAME_MODE_HPP
#include "tunnels_player.hpp"
#include "utils/game_mode.hpp"
#include <godot_cpp/templates/vector.hpp>
namespace godot {
class TunnelsGameMode : public GameMode {
GDCLASS(TunnelsGameMode, GameMode)
static void _bind_methods();
public:
virtual void _begin() override;
void on_player_spawned(Node *player);
TunnelsPlayer *get_player_instance() const;
void register_player_character(CharacterActor *actor);
void set_manual_character(CharacterActor *actor);
void on_character_destroyed(CharacterActor *actor);
private:
TunnelsPlayer *player{nullptr};
CharacterActor *manual_character{nullptr};
Vector<CharacterActor*> player_characters{};
};
}
#endif // !TUNNELS_GAME_MODE_HPP