aboutsummaryrefslogtreecommitdiffstats
path: root/yage/entity/engine.h
diff options
context:
space:
mode:
authorYann Herklotz <ymherklotz@gmail.com>2018-05-04 18:37:00 +0100
committerYann Herklotz <ymherklotz@gmail.com>2018-05-04 18:37:00 +0100
commit35937f1e76402d25fce180c0519bef6ce77769fe (patch)
treedfbae0532ec2ce4e706fb8ad8fbfe0b1a7ed862d /yage/entity/engine.h
parent09535633913069f4653c270501059c38c2d09a99 (diff)
downloadYAGE-35937f1e76402d25fce180c0519bef6ce77769fe.tar.gz
YAGE-35937f1e76402d25fce180c0519bef6ce77769fe.zip
Improving ECS and adding documentation.
Diffstat (limited to 'yage/entity/engine.h')
-rw-r--r--yage/entity/engine.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/yage/entity/engine.h b/yage/entity/engine.h
index fe7e5eb0..bac32fe0 100644
--- a/yage/entity/engine.h
+++ b/yage/entity/engine.h
@@ -6,11 +6,12 @@
* ----------------------------------------------------------------------------
*/
-#ifndef YAGE_CORE_ENGINE_H
-#define YAGE_CORE_ENGINE_H
+#pragma once
#include "system.h"
+
#include "../core/window.h"
+#include "../util/noncopyable.h"
#include <memory>
#include <vector>
@@ -24,9 +25,12 @@ class Space;
* Main engine class that contains a systems, the main loop and the update
* function that updates all the systems.
*/
-class Engine
+class Engine : public NonCopyable
{
public:
+
+ ~Engine();
+
/// Initialize window and other aspects of the engine.
void init();
@@ -41,7 +45,7 @@ public:
/// Returns the instance of the engine, as there is only one instance of the
/// engine.
- static Engine &instance();
+ static Engine& instance();
private:
/// Window
@@ -52,5 +56,3 @@ private:
};
} // namespace yage
-
-#endif