From 0ef3a9c347274fcaceab86403cd033e5b47f8f3d Mon Sep 17 00:00:00 2001
From: Alfred Burgess <aburgess@ucc.gu.uwa.edu.au>
Date: Wed, 13 Dec 2023 13:34:55 +0800
Subject: [PATCH] Added a series of basic components

---
 include/components/cLifespan.h  | 14 ++++++++++++++
 include/components/cScore.h     | 13 +++++++++++++
 include/components/cTransform.h | 17 +++++++++++++++++
 include/entities/entity.h       |  4 ++++
 include/systems/sRenderer.h     | 17 +++++++++++++++++
 src/systems/sRenderer.cpp       |  8 ++++++++
 6 files changed, 73 insertions(+)
 create mode 100644 include/components/cLifespan.h
 create mode 100644 include/components/cScore.h
 create mode 100644 include/components/cTransform.h
 create mode 100644 include/systems/sRenderer.h
 create mode 100644 src/systems/sRenderer.cpp

diff --git a/include/components/cLifespan.h b/include/components/cLifespan.h
new file mode 100644
index 0000000..9194c4f
--- /dev/null
+++ b/include/components/cLifespan.h
@@ -0,0 +1,14 @@
+#ifndef __COMPONENT__LIFESPAN_H__
+#define __COMPONENT__LIFESPAN_H__
+
+#include "components/components-generic.h"
+
+class cLifespan : public CComponentGeneric
+{
+	public:
+		uint16_t total;
+		uint16_t remaining;
+};
+
+
+#endif // __COMPONENT__LIFESPAN_H__
diff --git a/include/components/cScore.h b/include/components/cScore.h
new file mode 100644
index 0000000..6f784a8
--- /dev/null
+++ b/include/components/cScore.h
@@ -0,0 +1,13 @@
+#ifndef __COMPONENT__SCORE_H__
+#define __COMPONENT__SCORE_H__
+
+#include "components/components-generic.h"
+
+class cScore : public CComponentGeneric
+{
+	public:
+		uint16_t score;
+};
+
+
+#endif // __COMPONENT__SCORE_H__
diff --git a/include/components/cTransform.h b/include/components/cTransform.h
new file mode 100644
index 0000000..64e773d
--- /dev/null
+++ b/include/components/cTransform.h
@@ -0,0 +1,17 @@
+#ifndef __COMPONENT__TRANSFORM_H__
+#define __COMPONENT__TRANSFORM_H__
+
+#include "components/components-generic.h"
+#include "maths/maths.h"
+
+class cTransform : public CComponentGeneric
+{
+	public:
+		Vec2 position;
+		Vec2 velocity;
+		Vec2 scale;
+		double angle;
+};
+
+
+#endif // __COMPONENT__TRANSFORM_H__
diff --git a/include/entities/entity.h b/include/entities/entity.h
index 3224a22..1f84b03 100644
--- a/include/entities/entity.h
+++ b/include/entities/entity.h
@@ -4,6 +4,8 @@
 
 // #include "entity-manager.h"
 #include "logger.h"
+#include "components/cTransform.h"
+#include "components/cScore.h"
 
 class Entity
 {
@@ -21,6 +23,8 @@ class Entity
 
 	private:
 		Logger& _logger;
+		cScore _score;
+		cTransform _transform;
 
 		const size_t _id = 0;
 		const std::string _tag = "Default";
diff --git a/include/systems/sRenderer.h b/include/systems/sRenderer.h
new file mode 100644
index 0000000..ce80973
--- /dev/null
+++ b/include/systems/sRenderer.h
@@ -0,0 +1,17 @@
+#ifndef __SYSTEMS__RENDERER_H_
+#define __SYSTEMS__RENDERER_H_
+
+#include "systems/system-core.h"
+#include "logger.h"
+
+class sRenderer : public SystemsGeneric
+{
+
+	public:
+		sRenderer();
+		~sRenderer();
+	private:
+		Logger& _logger;
+};
+
+#endif // __SYSTEMS__RENDERER_H_
diff --git a/src/systems/sRenderer.cpp b/src/systems/sRenderer.cpp
new file mode 100644
index 0000000..ff2c026
--- /dev/null
+++ b/src/systems/sRenderer.cpp
@@ -0,0 +1,8 @@
+#include "systems/sRenderer.h"
+
+
+sRenderer::sRenderer()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Renderer System Created" ); }
+sRenderer::~sRenderer()
+{ this->_logger.info( "Renderer System Deleted" ); }
-- 
GitLab