Add CCollisionPrimitive

This commit is contained in:
2022-12-24 00:06:45 -08:00
parent f24314aa02
commit c1c2083bb4
4 changed files with 69 additions and 2 deletions

View File

@@ -0,0 +1,34 @@
#include "Collision/CCollisionPrimitive.hpp"
#include "Collision/InternalColliders.hpp"
int CCollisionPrimitive::sNumTypes = 0;
bool CCollisionPrimitive::sInitComplete = false;
bool CCollisionPrimitive::sTypesAdded = false;
bool CCollisionPrimitive::sTypesAdding = false;
bool CCollisionPrimitive::sCollidersAdded = false;
bool CCollisionPrimitive::sCollidersAdding = false;
rstl::single_ptr< rstl::vector< CCollisionPrimitive::Type > >
CCollisionPrimitive::sCollisionTypeList;
rstl::single_ptr< ComparisonFunc > CCollisionPrimitive::sTableOfCollidables;
rstl::single_ptr< BooleanComparisonFunc > CCollisionPrimitive::sTableOfBooleanCollidables;
rstl::single_ptr< MovingComparisonFunc > CCollisionPrimitive::sTableOfMovingCollidables;
CCollisionPrimitive::CCollisionPrimitive(const CMaterialList& list) : x8_material(list) {}
void CCollisionPrimitive::InitBeginTypes() {
sCollisionTypeList = new rstl::vector< Type >();
sCollisionTypeList->reserve(3);
sTypesAdding = true;
InternalColliders::AddTypes();
}
void CCollisionPrimitive::InitAddType(const Type& type) {
type.GetSetter()(sCollisionTypeList->size());
sCollisionTypeList->reserve(sCollisionTypeList->size() + 1);
sCollisionTypeList->push_back(type);
}
void CCollisionPrimitive::InitEndTypes() {
}