#pragma once
#include "DxLib.h"
#include
#define TASK_MAX 10000
template
class CTask
{
private:
struct TaskObj
{
T obj;
string name;
BOOL use;
};
TaskObj m_Task[TASK_MAX];
T temp;
public:
CTask()
{
for(int i=0;i<TASK_MAX;i++)
{
m_Task[i].obj = temp;
m_Task[i].name = "";
m_Task[i].use = FALSE;
}
}
void PushTop(T object, string name)
{
for(int i=0; i<TASK_MAX; i++)
{
if(m_Task[i].use == FALSE)
{
m_Task[i].name = name;
m_Task[i].obj = object;
m_Task[i].use = TRUE;
return;
}
}
ERROR_BOX("タスクに空きがありません。");
}
void PushBack(T object, string name)
{
for(int i=1; i<TASK_MAX; i++)
{
int k = TASK_MAX-i;
if(m_Task[k].use == FALSE)
{
m_Task[k].name = name;
m_Task[k].obj = object;
m_Task[k].use = TRUE;
return;
}
}
ERROR_BOX("タスクに空きがありません。");
}
T GetObject(int number)
{
if(m_Task[number].use == TRUE)
{
return m_Task[number].obj;
}
return temp;
}
T GetObject(string name)
{
for(int i=0; i<TASK_MAX; i++)
{
if(m_Task[i].name == name &&
m_Task[i].use == TRUE)
{
return m_Task[i].obj;
}
}
return temp;
}
void BreakObject(int number)
{
if(m_Task[i].use == TRUE)
{
m_Task[number].name = "";
m_Task[i].use = FALSE;
}
}
void BreakObject(string name)
{
for(int i=0; i<TASK_MAX; i++)
{
if(m_Task[i].name == name &&
m_Task[i].use == TRUE)
{
m_Task[i].name = "";
m_Task[i].use = FALSE;
}
}
}
string GetName(int number)
{
return m_Names[number];
}
};
ひどいシステムです。。
どう直そうかな??