aboutsummaryrefslogtreecommitdiff
path: root/src/crepe/api/Sprite.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/crepe/api/Sprite.cpp')
-rw-r--r--src/crepe/api/Sprite.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/crepe/api/Sprite.cpp b/src/crepe/api/Sprite.cpp
new file mode 100644
index 0000000..3c77e2e
--- /dev/null
+++ b/src/crepe/api/Sprite.cpp
@@ -0,0 +1,34 @@
+#include <cmath>
+
+#include "../util/dbg.h"
+#include "api/Asset.h"
+
+#include "Component.h"
+#include "Sprite.h"
+#include "types.h"
+
+using namespace std;
+using namespace crepe;
+
+Sprite::Sprite(game_object_id_t id, const Asset & texture, const Sprite::Data & data)
+ : Component(id),
+ source(texture),
+ data(data) {
+
+ dbg_trace();
+}
+
+Sprite::~Sprite() { dbg_trace(); }
+
+unique_ptr<Component> Sprite::save() const { return unique_ptr<Component>(new Sprite(*this)); }
+
+void Sprite::restore(const Component & snapshot) {
+ *this = static_cast<const Sprite &>(snapshot);
+}
+
+Sprite & Sprite::operator=(const Sprite & snapshot) {
+ this->active = snapshot.active;
+ this->data = snapshot.data;
+ this->mask = snapshot.mask;
+ return *this;
+}