#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(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); } }