#pragma once
#include "m_ball.h"
#include <list>
using namespace std;
class CBallMgr
{
public:
CBallMgr(void);
~CBallMgr(void);
m_ball *Create(hgeVector,double,bool, int,int);
void Updata();
private:
list <m_ball*> m_ballList;
};
extern CBallMgr gBllMrg;
#include "StdAfx.h"
#include "BallMgr.h"
using namespace std;
CBallMgr gBllMrg;
CBallMgr::CBallMgr(void)
{
}
CBallMgr::~CBallMgr(void)
{
}
m_ball *CBallMgr::Create(hgeVector PlaceList,double BallV,bool BallState, int BallNum,int BallID)
{
m_ball * p_New=new m_ball();
p_New->Init(PlaceList,BallV,BallState,BallNum,BallID);
m_ballList.push_back(p_New);
return p_New;
}
void CBallMgr::Updata()
{
for(std::list<m_ball*>::iterator p=m_ballList.begin();p!=m_ballList.end();)
{
m_ball *p2=*p;
if(p2->isDie())
{
delete p2;
p=m_ballList.erase(p);
continue;
}
else
p2->Updata();
++p;
}
}