Temp-Classes/base/fwExtensibleBase.hpp
Reece Watson 7052c5e91b feat(Classes): Updated CBaseModelInfo, CPlayerGameStateDataNode and fwEntity (#24)
* Fixed eModelType enum value names
* CBaseModelInfo: Changed min/max dimension types from fvector3 to fvector4
* CBaseModelInfo: Adjusted to actual size
* Added datBase, fwRefAwareBase, fwRefAwareBaseImpl, fwExtensibleBase, fwExtension, fwExtensionContainer and pgBase classes
* CPlayerGameStateDataNode: Updated fields and resized to actual size
* CVehicleModelInfo: Resized because of modified CBaseModelInfo
2022-08-20 19:17:32 +02:00

29 lines
613 B
C++

#pragma once
#include "fwRefAwareBase.hpp"
#include "fwExtensionContainer.hpp"
namespace rage
{
class fwExtensibleBase : public fwRefAwareBase
{
public:
virtual bool is_of_type(std::uint32_t hash) = 0;
virtual uint32_t const &get_type() = 0;
fwExtensionContainer* m_extension_container; // 0x0010
void *m_extensible_unk; // 0x0018
template <typename T>
bool is_of_type()
{
static auto name = (typeid(T).name()) + 6; // Skip "class "
static auto name_hash = joaat(name);
return is_of_type(name_hash);
}
}; //Size: 0x0020
static_assert(sizeof(fwExtensibleBase) == 0x20);
}