prime/include/MetroidPrime/Weapons/CProjectileInfo.hpp

30 lines
911 B
C++
Raw Normal View History

2022-10-20 11:18:42 +00:00
#ifndef _CPROJECTILEINFO
#define _CPROJECTILEINFO
#include "MetroidPrime/CDamageInfo.hpp"
#include "Kyoto/Math/CVector3f.hpp"
2022-10-30 19:47:50 +00:00
#include "Kyoto/TToken.hpp"
2022-10-20 11:18:42 +00:00
class CPlayer;
class CWeaponDescription;
class CProjectileInfo {
2022-10-30 19:47:50 +00:00
TCachedToken< CWeaponDescription > x0_weaponDescription;
2022-10-20 11:18:42 +00:00
CDamageInfo xc_damageInfo;
public:
CProjectileInfo(CAssetId, const CDamageInfo&);
explicit CProjectileInfo(CInputStream&);
float GetProjectileSpeed() const;
2022-10-30 19:47:50 +00:00
CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos,
const CPlayer& player, bool gravity, float dt);
static CVector3f PredictInterceptPos(const CVector3f& gunPos, const CVector3f& aimPos,
const CPlayer& player, bool gravity, float speed, float dt);
TCachedToken< CWeaponDescription >& Token() { return x0_weaponDescription; }
2022-10-20 11:18:42 +00:00
};
#endif // _CPROJECTILEINFO