From bb582f8023eb8614daf5ddbc0a54e22fece7c693 Mon Sep 17 00:00:00 2001
From: Alfred Burgess <aburgess@ucc.gu.uwa.edu.au>
Date: Fri, 1 Dec 2023 14:25:55 +0800
Subject: [PATCH] ESC Process

---
 include/components/components-generic.h | 11 +++++++++++
 include/entities/entity-generic.h       | 15 +++++++++++++++
 include/main.h                          |  1 +
 include/systems/system-core.h           | 16 ++++++++++++++++
 src/components/components-generic.cpp   |  4 ++++
 src/entities/entity-generic.cpp         |  6 ++++++
 src/main.cpp                            |  7 +++++++
 src/systems/system-core.cpp             |  8 ++++++++
 8 files changed, 68 insertions(+)
 create mode 100644 include/components/components-generic.h
 create mode 100644 include/entities/entity-generic.h
 create mode 100644 include/systems/system-core.h
 create mode 100644 src/components/components-generic.cpp
 create mode 100644 src/entities/entity-generic.cpp
 create mode 100644 src/systems/system-core.cpp

diff --git a/include/components/components-generic.h b/include/components/components-generic.h
new file mode 100644
index 0000000..f070a6d
--- /dev/null
+++ b/include/components/components-generic.h
@@ -0,0 +1,11 @@
+#ifndef __COMPONENTS__COMPONENT_GENERIC_H__
+#define __COMPONENTS__COMPONENT_GENERIC_H__
+
+class CComponentGeneric
+{
+	public:
+		CComponentGeneric();
+		~CComponentGeneric();
+};
+
+#endif // __COMPONENTS__COMPONENT_GENERIC_H__
diff --git a/include/entities/entity-generic.h b/include/entities/entity-generic.h
new file mode 100644
index 0000000..433f640
--- /dev/null
+++ b/include/entities/entity-generic.h
@@ -0,0 +1,15 @@
+#ifndef __ENTITIES__ENTITY_GENERIC_H
+#define __ENTITIES__ENTITY_GENERIC_H
+
+#include "logger.h"
+
+class EntityGeneric
+{
+	public:
+		EntityGeneric();
+		~EntityGeneric();
+	private:
+		Logger& _logger;
+};
+
+#endif // __ENTITIES__ENTITY_GENERIC_H
diff --git a/include/main.h b/include/main.h
index efab701..239793a 100644
--- a/include/main.h
+++ b/include/main.h
@@ -15,5 +15,6 @@ enum GenerationMethod
 #include "world-map-3d.h"
 #include "chunk.h"
 #include "logger.h"
+#include "entities/entity-generic.h"
 
 #endif // MAIN_H
diff --git a/include/systems/system-core.h b/include/systems/system-core.h
new file mode 100644
index 0000000..ab735f8
--- /dev/null
+++ b/include/systems/system-core.h
@@ -0,0 +1,16 @@
+#ifndef __SYSTEMS__SYSTEM_CORE_H_
+#define __SYSTEMS__SYSTEM_CORE_H_
+
+#include "logger.h"
+
+class SystemsGeneric
+{
+
+	public:
+		SystemsGeneric();
+		~SystemsGeneric();
+	private:
+		Logger& _logger;
+};
+
+#endif // __SYSTEMS__SYSTEM_CORE_H_
diff --git a/src/components/components-generic.cpp b/src/components/components-generic.cpp
new file mode 100644
index 0000000..ca920c9
--- /dev/null
+++ b/src/components/components-generic.cpp
@@ -0,0 +1,4 @@
+#include "components/components-generic.h"
+
+CComponentGeneric::CComponentGeneric(){}
+CComponentGeneric::~CComponentGeneric(){}
diff --git a/src/entities/entity-generic.cpp b/src/entities/entity-generic.cpp
new file mode 100644
index 0000000..321371f
--- /dev/null
+++ b/src/entities/entity-generic.cpp
@@ -0,0 +1,6 @@
+#include "entities/entity-generic.h"
+
+EntityGeneric::EntityGeneric()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Generic Entity Created" ); }
+EntityGeneric::~EntityGeneric(){}
diff --git a/src/main.cpp b/src/main.cpp
index 8dd269c..a1382cd 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -12,6 +12,7 @@ int main() {
 	state = Initialise;
 	// Seed the random number generator
 	srand(static_cast<unsigned int>(time(nullptr)));
+	std::vector< EntityGeneric* > entities;
 	
 	// Genrate a Random chunk
 	WorldHex2D map( 5 );
@@ -46,6 +47,12 @@ int main() {
 	}
 
 	// Clean-up
+	while( entities.size() > 0 )
+	{
+		EntityGeneric* entity = entities.back();
+		entities.pop_back();
+		delete entity;
+	}
 	
 	// Return 
 	logger.info( "Process Ending" );
diff --git a/src/systems/system-core.cpp b/src/systems/system-core.cpp
new file mode 100644
index 0000000..38775d1
--- /dev/null
+++ b/src/systems/system-core.cpp
@@ -0,0 +1,8 @@
+#include "systems/system-core.h"
+
+
+SystemsGeneric::SystemsGeneric()
+	: _logger( Logger::instance() )
+{ this->_logger.info( "Generic System Created" ); }
+SystemsGeneric::~SystemsGeneric()
+{ this->_logger.info( "Generic System Deleted" ); }
-- 
GitLab