| 1 | #include "Project/HitSensor/SensorHitGroup.h" |
|---|---|
| 2 | |
| 3 | #include "Project/HitSensor/HitSensor.h" |
| 4 | |
| 5 | namespace al { |
| 6 | |
| 7 | SensorHitGroup::SensorHitGroup(s32 maxSensors, const char* groupName) : mMaxSensors(maxSensors) { |
| 8 | mSensors = new HitSensor*[maxSensors]; |
| 9 | for (s32 i = 0; i < mMaxSensors; i++) |
| 10 | mSensors[i] = nullptr; |
| 11 | } |
| 12 | |
| 13 | void SensorHitGroup::add(HitSensor* pSensor) { |
| 14 | mSensors[mSensorCount] = pSensor; |
| 15 | mSensorCount++; |
| 16 | } |
| 17 | |
| 18 | void SensorHitGroup::remove(HitSensor* sensor) { |
| 19 | for (s32 i = 0; i < mSensorCount; i++) { |
| 20 | if (mSensors[i] == sensor) { |
| 21 | mSensors[i] = mSensors[mSensorCount - 1]; |
| 22 | mSensorCount--; |
| 23 | return; |
| 24 | } |
| 25 | } |
| 26 | } |
| 27 | |
| 28 | HitSensor* SensorHitGroup::getSensor(s32 idx) const { |
| 29 | return mSensors[idx]; |
| 30 | } |
| 31 | |
| 32 | void SensorHitGroup::clear() const { |
| 33 | for (s32 i = 0; i < mSensorCount; i++) |
| 34 | mSensors[i]->clearSensors(); |
| 35 | } |
| 36 | |
| 37 | } // namespace al |
| 38 |