26 lines
696 B
C++
26 lines
696 B
C++
#ifndef LEVEL_HPP
|
|
#define LEVEL_HPP
|
|
|
|
#include "game_mode.hpp"
|
|
#include <godot_cpp/classes/node3d.hpp>
|
|
|
|
namespace gd = godot;
|
|
|
|
namespace utils {
|
|
/*! 3D level root to be used with GameRoot3D.
|
|
*
|
|
* The configured game mode will become the active GameMode in GameRoot3D if one does not exist yet.
|
|
*/
|
|
class Level3D : public gd::Node3D {
|
|
GDCLASS(Level3D, gd::Node3D);
|
|
static void _bind_methods();
|
|
public:
|
|
void set_game_mode_prototype(gd::Ref<GameMode> prototype);
|
|
gd::Ref<GameMode> get_game_mode_prototype() const;
|
|
private:
|
|
gd::Ref<GameMode> game_mode_prototype{}; //!< The starting state of the game mode to instantiate if this is the "leading" level.
|
|
};
|
|
}
|
|
|
|
#endif // !LEVEL_HPP
|