pvb-practice/src/level.cpp

34 lines
1.0 KiB
C++

#include "level.hpp"
#include "entrance.hpp"
#include "godot_cpp/variant/utility_functions.hpp"
namespace godot {
void Level::_bind_methods() {}
Transform3D Level::get_entrance(String entranceName) {
if (entrances.has(entranceName)) {
Node3D* entrance =
Object::cast_to<Node3D>(this->entrances[entranceName]);
return entrance->get_global_transform();
} else {
return this->get_global_transform();
}
}
void Level::add_entrance(Entrance* entrance) {
String key = entrance->get_name();
if (this->entrances.has(key))
UtilityFunctions::push_error("Attempt to register entrance ", key,
" with duplicate key");
this->entrances[key] = entrance;
}
void Level::remove_entrance(Entrance* entrance) {
String key = entrance->get_name();
if (!this->entrances.has(key))
UtilityFunctions::push_error("Attempt to deregister entrance ", key,
" without registering it");
this->entrances.erase(key);
}
} // namespace godot