From ef2089cafbdbd37589d17a4af9e1989f04672777 Mon Sep 17 00:00:00 2001 From: Nikolay Korolev Date: Wed, 11 Nov 2020 00:08:32 +0300 Subject: CWorld done --- src/control/Pickups.cpp | 14 ++++++++++++++ src/control/Pickups.h | 1 + 2 files changed, 15 insertions(+) (limited to 'src/control') diff --git a/src/control/Pickups.cpp b/src/control/Pickups.cpp index 2a5863f1..acfb1fbb 100644 --- a/src/control/Pickups.cpp +++ b/src/control/Pickups.cpp @@ -1410,6 +1410,20 @@ CPickups::DetonateMinesHitByGunShot(CVector *vec1, CVector *vec2) } } +void +CPickups::RemoveUnnecessaryPickups(const CVector& center, float radius) +{ + for (int i = 0; i < NUMPICKUPS; i++) { + if (aPickUps[i].m_eType == PICKUP_ONCE_TIMEOUT || aPickUps[i].m_eType == PICKUP_MONEY) { + if ((aPickUps[i].m_vecPos - center).Magnitude() < radius) { + aPickUps[i].GetRidOfObjects(); + aPickUps[i].m_bRemoved = true; + aPickUps[i].m_eType = PICKUP_NONE; + } + } + } +} + void CPickups::Load(uint8 *buf, uint32 size) { diff --git a/src/control/Pickups.h b/src/control/Pickups.h index e48ae3b7..36179f66 100644 --- a/src/control/Pickups.h +++ b/src/control/Pickups.h @@ -103,6 +103,7 @@ public: static bool TryToMerge_WeaponType(CVector pos, eWeaponType weapon, uint8 type, uint32 quantity, bool unused); static void CreateSomeMoney(CVector, int); static void DetonateMinesHitByGunShot(CVector *vec1, CVector *vec2); + static void RemoveUnnecessaryPickups(const CVector& center, float radius); static void Load(uint8 *buf, uint32 size); static void Save(uint8 *buf, uint32 *size); -- cgit v1.2.3