PrimeWorldEditor/Resource/script/CTemplateCategory.h

47 lines
1.0 KiB
C++

#ifndef CTEMPLATECATEGORY_H
#define CTEMPLATECATEGORY_H
#include "CScriptTemplate.h"
#include <algorithm>
class CTemplateCategory
{
std::string mCategoryName;
std::vector<CScriptTemplate*> mTemplates;
public:
CTemplateCategory() {}
inline CTemplateCategory(const std::string& Name) {
SetName(Name);
}
inline void SetName(const std::string& Name) {
mCategoryName = Name;
}
inline void AddTemplate(CScriptTemplate *pTmp) {
mTemplates.push_back(pTmp);
}
inline void Sort() {
std::sort(mTemplates.begin(), mTemplates.end(), [](CScriptTemplate* pA, CScriptTemplate* pB) -> bool {
return (pA->TemplateName() < pB->TemplateName());
});
}
inline u32 NumTemplates() {
return mTemplates.size();
}
inline CScriptTemplate* GetTemplate(u32 index) {
return mTemplates[index];
}
inline CScriptTemplate* operator[](u32 index) {
return mTemplates[index];
}
};
#endif // CTEMPLATECATEGORY_H