From ce7b39f47a1112941b3579f6502dd4e950cb099a Mon Sep 17 00:00:00 2001 From: ancarola Date: Sat, 17 Nov 2018 22:46:15 +0100 Subject: initialization --- engine/flatobject.cpp | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 engine/flatobject.cpp (limited to 'engine/flatobject.cpp') diff --git a/engine/flatobject.cpp b/engine/flatobject.cpp new file mode 100644 index 0000000..464d984 --- /dev/null +++ b/engine/flatobject.cpp @@ -0,0 +1,50 @@ +#include "flatobject.h" + +#include + +using namespace std; + +FlatObject::FlatObject() +{ + /* Collect this object */ + allObjects.push_back(this); +} + +FlatObject::~FlatObject() +{ + /* Eliminate this object reference */ + allObjects.remove(this); +} + +void FlatObject::setID(const char *id) +{ + strncpy(this->id, id, 31); + this->id[31] = '\0'; +} + +const char* FlatObject::getID() const +{ + return &id[0]; +} + +bool FlatObject::isAllocated(FlatObject *obj) +{ + for (FlatObject * o : allObjects) + { + if (o == obj) + return true; + } + + return false; +} + +vector& FlatObject::getByID(const char *id, vector& l) +{ + for (FlatObject * obj : allObjects) + { + if (!strcmp(id, obj->getID())) + l.push_back(obj); + } + + return l; +} -- cgit v1.2.1