summaryrefslogtreecommitdiff
path: root/cObjectHandler.h
diff options
context:
space:
mode:
authorGravatar jonas <himself@jonasgunz.de> 2018-12-27 00:26:34 +0100
committerGravatar jonas <himself@jonasgunz.de> 2018-12-27 00:26:34 +0100
commit7015245de4af673af3e6fa62d5d0f9c2e0c2a8a1 (patch)
tree8bec5d1716eebb0fedc75dcc036385443b1ecea5 /cObjectHandler.h
parent616951a353caf398908e6e6ce7dddf34a65513e5 (diff)
downloadtermgl-7015245de4af673af3e6fa62d5d0f9c2e0c2a8a1.tar.gz
cleaned working tree
Diffstat (limited to 'cObjectHandler.h')
-rw-r--r--cObjectHandler.h37
1 files changed, 37 insertions, 0 deletions
diff --git a/cObjectHandler.h b/cObjectHandler.h
new file mode 100644
index 0000000..1749c9b
--- /dev/null
+++ b/cObjectHandler.h
@@ -0,0 +1,37 @@
+#pragma once
+
+#include <vector>
+
+#include "cObject.h"
+
+//movemodes
+#define _MOVE_RELATIVE 0
+#define _MOVE_ABSOULUTE 1
+
+using namespace std;
+
+class cObject; //Circular dependency break (Bad practice. I Know.)
+
+class cObjectHandler
+{
+public:
+ cObjectHandler(cRender *_render);
+
+ int createObject(cObject *_object);
+ //Adds _object to managed objects vector
+ //returns Identifier for newly created vector
+
+ int moveObject(int _object, sPos _pos, int _mode);
+ //Alters position of _object by _pos either relative to old position or Absolute
+ //Depending on selected _mode (_MOVE_RELATIVE / _MOVE_ABSOLUTE).
+
+ int destroyObject(int _object);
+ //removes _object from vector after deleting it
+
+ int write();
+ //writes all objects in objects[] to render buffer
+
+private:
+ vector<cObject*> objects;
+ cRender *render;
+};