aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api')
-rw-r--r--src/crepe/api/Color.cpp1
-rw-r--r--src/crepe/api/Color.h1
-rw-r--r--src/crepe/api/Text.cpp13
-rw-r--r--src/crepe/api/Text.h6
4 files changed, 21 insertions, 0 deletions
diff --git a/src/crepe/api/Color.cpp b/src/crepe/api/Color.cpp
index 1374198..d0e3b35 100644
--- a/src/crepe/api/Color.cpp
+++ b/src/crepe/api/Color.cpp
@@ -11,3 +11,4 @@ const Color Color::CYAN {0x00, 0xff, 0xff};
const Color Color::YELLOW {0xff, 0xff, 0x00};
const Color Color::MAGENTA {0xff, 0x00, 0xff};
const Color Color::GREY {0x80, 0x80, 0x80};
+const Color Color::GOLD {249, 205, 91};
diff --git a/src/crepe/api/Color.h b/src/crepe/api/Color.h
index 22c0c43..dbfd0ed 100644
--- a/src/crepe/api/Color.h
+++ b/src/crepe/api/Color.h
@@ -19,6 +19,7 @@ struct Color {
static const Color YELLOW;
static const Color BLACK;
static const Color GREY;
+ static const Color GOLD;
};
} // namespace crepe
diff --git a/src/crepe/api/Text.cpp b/src/crepe/api/Text.cpp
index e5b623d..e5cc39d 100644
--- a/src/crepe/api/Text.cpp
+++ b/src/crepe/api/Text.cpp
@@ -3,6 +3,7 @@
#include "Text.h"
using namespace crepe;
+using namespace std;
Text::Text(
game_object_id_t id, const vec2 & dimensions, const std::string & font_family,
@@ -12,3 +13,15 @@ Text::Text(
text(text),
data(data),
font_family(font_family) {}
+
+unique_ptr<Component> Text::save() const { return unique_ptr<Component>(new Text(*this)); }
+
+void Text::restore(const Component & snapshot) { *this = static_cast<const Text &>(snapshot); }
+
+Text & Text::operator=(const Text & snapshot) {
+ this->active = snapshot.active;
+ this->data = snapshot.data;
+ this->text = snapshot.text;
+ this->font_family = snapshot.font_family;
+ return *this;
+}
diff --git a/src/crepe/api/Text.h b/src/crepe/api/Text.h
index 8b3d53e..859490e 100644
--- a/src/crepe/api/Text.h
+++ b/src/crepe/api/Text.h
@@ -49,6 +49,12 @@ public:
std::optional<Asset> font;
//! Data instance
Data data;
+
+protected:
+ virtual std::unique_ptr<Component> save() const;
+ Text(const Text &) = default;
+ virtual void restore(const Component & snapshot);
+ virtual Text & operator=(const Text &);
};
} // namespace crepe