metaforce/Runtime/Weapon/CWeaponMgr.hpp

44 lines
711 B
C++
Raw Normal View History

2016-04-17 02:50:45 +00:00
#ifndef __URDE_CWEAPONMGR_HPP__
#define __URDE_CWEAPONMGR_HPP__
2016-11-22 20:43:16 +00:00
#include "RetroTypes.hpp"
2016-04-17 02:50:45 +00:00
namespace urde
{
2016-04-17 05:35:32 +00:00
enum class EWeaponType
{
2016-04-19 21:25:26 +00:00
None = -1,
Power = 0,
Ice,
Wave,
Plasma,
Bomb,
PowerBomb,
Missile,
BoostBall,
Phazon,
AI,
PoisonWater,
Lava,
Hot,
Unused1,
Unused2
2016-04-17 05:35:32 +00:00
};
2016-04-17 02:50:45 +00:00
class CWeaponMgr
{
std::map<TUniqueId, rstl::reserved_vector<s32, 10>> x0_weapons;
public:
void Add(TUniqueId, EWeaponType);
void Remove(TUniqueId);
void IncrCount(TUniqueId, EWeaponType);
void DecrCount(TUniqueId, EWeaponType);
s32 GetNumActive(TUniqueId, EWeaponType) const;
s32 GetIndex(TUniqueId) const;
2016-04-17 02:50:45 +00:00
};
}
#endif // __URDE_CWEAPONMGR_HPP__