aboutsummaryrefslogtreecommitdiff
path: root/backend/Location.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'backend/Location.cpp')
-rw-r--r--backend/Location.cpp38
1 files changed, 38 insertions, 0 deletions
diff --git a/backend/Location.cpp b/backend/Location.cpp
new file mode 100644
index 0000000..8a79af5
--- /dev/null
+++ b/backend/Location.cpp
@@ -0,0 +1,38 @@
+#include <string.h>
+
+#include "Location.h"
+#include "util.h"
+
+Location::Location(const char * name, const char * description) {
+ this->set_name(name);
+ this->set_description(description);
+}
+
+Location::~Location() {
+ safe_free(this->name);
+ safe_free(this->description);
+}
+
+void Location::set_name(const char * name) {
+ safe_free(this->name);
+ this->name = strdup(name);
+}
+const char * Location::get_name() {
+ return this->name;
+}
+
+void Location::set_description(const char * description) {
+ safe_free(this->description);
+ this->description = strdup(description);
+}
+const char * Location::get_description() {
+ return this->description;
+}
+
+void Location::set_exit(Direction dir, Location * location) {
+ this->edges[dir] = location;
+}
+Location * Location::get_exit(Direction dir) {
+ return this->edges[dir];
+}
+