class CTask
{
private:
string m_ID;
public:
CTask(void);
CTask(string control_name);
CTask(int control_number);
int GetControlNum(){return atoi(m_ID.c_str());}
string GetControlStr(){return m_ID;}
virtual void Process(){};
~CTask(void);
};
CTask::CTask(void)
{
m_ID = "";
}
CTask::CTask(string control_name)
{
m_ID = control_name;
}
CTask::CTask(int control_number)
{
std::ostringstream stream;
stream m_Tasks;
public:
void PushObject(CTask* obj);
void PopObject(CTask* obj);
void PopObject(int control_number);
void PopObject(string control_name);
CTask* GetObject(int control_number);
CTask* GetObject(string control_name);
void DoAllProcess();
CTaskList(void);
~CTaskList(void);
};
CTaskList::CTaskList(void)
{
}
CTaskList::~CTaskList(void)
{
}
void CTaskList::PushObject(CTask *obj)
{
m_Tasks.push_back(obj);
}
void CTaskList::PopObject(CTask *obj)
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end();)
{
if((*it) == obj)
{
it = m_Tasks.erase(it);
continue;
}
it++;
}
}
void CTaskList::PopObject(int control_number)
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end();)
{
if((*it)->GetControlNum() == control_number)
{
it = m_Tasks.erase(it);
continue;
}
it++;
}
}
void CTaskList::PopObject(string control_name)
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end();)
{
if((*it)->GetControlStr() == control_name)
{
it = m_Tasks.erase(it);
continue;
}
it++;
}
}
CTask* CTaskList::GetObject(int control_number)
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end(); it++)
{
if((*it)->GetControlNum() == control_number)
{
return (*it);
}
}
}
CTask* CTaskList::GetObject(string control_name)
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end(); it++)
{
if((*it)->GetControlStr() == control_name)
{
return (*it);
}
}
}
void CTaskList::DoAllProcess()
{
vector::iterator it;
for(it = m_Tasks.begin(); it!=m_Tasks.end(); it++)
{
(*it)->Process();
}
}
次は、テストしてみてからゲーム本体に取り掛かろう!