diff options
Diffstat (limited to 'cObjectHandler.h')
-rw-r--r-- | cObjectHandler.h | 37 |
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; +}; |