Files
Petari/source/Game/Map/CollisionCategorizedKeeper.cpp

43 lines
1.1 KiB
C++

#include "Game/Map/CollisionCategorizedKeeper.hpp"
#include "Game/Map/CollisionParts.hpp"
TVec3f CollisionParts::getTrans() {
TVec3f translation;
mBaseMatrix.getTransInline(translation);
return translation;
}
void CollisionCategorizedKeeper::addToZone(CollisionParts *pParts, s32 zone) {
mZones[zone]->addParts(pParts);
mZoneCount++;
}
void CollisionCategorizedKeeper::removeFromZone(CollisionParts *pParts, s32 zone) {
mZones[zone]->eraseParts(pParts);
mZoneCount--;
}
void CollisionCategorizedKeeper::addToGlobal(CollisionParts *pParts) {
mZones[0]->addParts(pParts);
mZoneCount++;
}
void CollisionCategorizedKeeper::removeFromGlobal(CollisionParts *pParts) {
mZones[0]->eraseParts(pParts);
mZoneCount--;
}
CollisionZone::CollisionZone(s32 zoneID)
: mZoneID(zoneID), mNumParts(0), _808(0, 0, 0), mRadius(0.0f), _818(0, 0, 0), _824(0, 0, 0) {
}
void CollisionZone::addParts(CollisionParts* pParts) {
s32 cnt = mNumParts;
mNumParts++;
mPartsArray[cnt] = pParts;
if (mZoneID) {
calcMinMaxAndRadius();
}
}