diff options
-rw-r--r-- | example/test.cpp | 2 | ||||
-rw-r--r-- | src/cObject.h | 16 | ||||
-rw-r--r-- | src/cObjectHandler.cpp | 2 |
3 files changed, 11 insertions, 9 deletions
diff --git a/example/test.cpp b/example/test.cpp index b09e6ec..7759dae 100644 --- a/example/test.cpp +++ b/example/test.cpp @@ -33,7 +33,7 @@ public: drawPoint('Q', _pos, true, _COL_YELLOW); } - virtual bool onCollisionActive(unsigned int _hit, int _passiveObject){ + virtual bool onCollisionActive(sPos _hit, int _passiveObject){ kc++; drawText(std::to_string(kc), {0,0}, _COL_RED); return true; diff --git a/src/cObject.h b/src/cObject.h index 50b9d18..48e41a4 100644 --- a/src/cObject.h +++ b/src/cObject.h @@ -3,11 +3,6 @@ #include "cRender.h" -#define _HIT_TOP 1 -#define _HIT_BOTTOM 2 -#define _HIT_LEFT 3 -#define _HIT_RIGHT 4 - struct sObject { sPos pos; @@ -20,6 +15,7 @@ struct sObject /** cObject can be used standalone as well as inherited * every cObject has its own framebuffer as well as position viariables to be moveable. * cObject is used by cObjectHandler to manage all objects to be displayed. +* It inherits all drawing functions from cRender. * * Minimal example for inheriting class * @@ -67,13 +63,19 @@ public: /** Called by cObjectHandler if Object hits another during move operation * return true to abort move, false to continue and allow overlap + * + * _hit: position delta of moved object + * + * _passiveObject: return from onCollisionPassive to identify what was hit */ - virtual bool onCollisionActive(unsigned int _hit, int _passiveObject) { return false; } + virtual bool onCollisionActive(sPos _hit, int _passiveObject) { return false; } /** Called by cObjectHandler if Object is hit by another object * return any integer value to be identified by hitting object + * + * _hit: position delta of moved object */ - virtual int onCollisionPassive(unsigned int _hit) { return 0; } + virtual int onCollisionPassive(sPos _hit) { return 0; } diff --git a/src/cObjectHandler.cpp b/src/cObjectHandler.cpp index 11c02e6..7af0f3c 100644 --- a/src/cObjectHandler.cpp +++ b/src/cObjectHandler.cpp @@ -52,7 +52,7 @@ int cObjectHandler::moveObject(int _object, sPos _pos, int _mode) for(int i = 0; i < coll.idc; i++) { if(coll.idv[i] != _object) - abort += objects[_object]->onCollisionActive(0, objects[coll.idv[0]]->onCollisionPassive(0)); + abort += objects[_object]->onCollisionActive(_pos, objects[coll.idv[0]]->onCollisionPassive(_pos)); } } |