From: Patrik Gornicz Date: Tue, 4 Aug 2009 04:09:13 +0000 (-0400) Subject: entityCreator setup to use bear::Queue X-Git-Url: http://gitweb.pgornicz.com/gitweb.cgi?p=physics.git;a=commitdiff_plain;h=a41bba6fc95ac24bcfc802574839b0a965692079 entityCreator setup to use bear::Queue --- diff --git a/src/entityCreator.cpp b/src/entityCreator.cpp index 5e0edaa..34b9a56 100644 --- a/src/entityCreator.cpp +++ b/src/entityCreator.cpp @@ -17,7 +17,7 @@ #include "entityCreator.h" -#include +#include #include "entityManager.h" #include "input/inputManager.h" @@ -29,8 +29,10 @@ /// ***** Private Variables ***** -typedef std::queue queBall; -typedef std::queue quePoly; +//static bear::Queue s_test; + +typedef bear::Queue queBall; +typedef bear::Queue quePoly; static queBall s_startBalls; static queBall s_mouseBalls; @@ -61,6 +63,11 @@ void creator::init() Ball* pBall; float fStartMass = 5; + s_startBalls.init(); + s_mouseBalls.init(); + + s_startPolys.init(); + pBall = addBall(Vector2(50, 50), 20, cWhite, s_startBalls); pBall->mass = fStartMass; @@ -101,10 +108,14 @@ void creator::init() } void creator::clean() { - removeAllBalls(s_startBalls); + removeAllPolys(s_startPolys); + s_startPolys.fini(); + removeAllBalls(s_mouseBalls); + s_mouseBalls.fini(); - removeAllPolys(s_startPolys); + removeAllBalls(s_startBalls); + s_startBalls.fini(); } /// ***** Public Methods ***** @@ -127,7 +138,7 @@ void creator::handleInput() if(input::mouseLeft()) addBall(input::mousePosition(), 10, cCyan); - if(input::mouseRight() && ! s_mouseBalls.empty()) + if(input::mouseRight() && ! s_mouseBalls.isEmpty()) removeBall(); } @@ -140,7 +151,7 @@ Ball* addBall(const Vector2& vecPos, { Ball* pBall = new Ball(vecPos, fRadius, color); - que.push(pBall); + que.pushBack(pBall); manager::add(pBall); return pBall; @@ -151,7 +162,7 @@ Polygon* addPoly(const vector& vecPoints, { Polygon* pPoly = new Polygon(vecPoints, color); - que.push(pPoly); + que.pushBack(pPoly); manager::add(pPoly); return pPoly; @@ -159,16 +170,16 @@ Polygon* addPoly(const vector& vecPoints, void removeBall(queBall& que) { - Ball* pBall = que.front(); + Ball* pBall = que.getFront(); manager::remove(pBall); - que.pop(); + que.popFront(); delete pBall; } void removeAllBalls(queBall& que) { - while(! que.empty() ) + while(! que.isEmpty() ) { removeBall(que); } @@ -176,16 +187,16 @@ void removeAllBalls(queBall& que) static void removePoly(quePoly& que) { - Polygon* pPoly = que.front(); + Polygon* pPoly = que.getFront(); manager::remove(pPoly); - que.pop(); + que.popFront(); delete pPoly; } static void removeAllPolys(quePoly& que) { - while(! que.empty() ) + while(! que.isEmpty() ) { removePoly(que); }