mirror of
https://github.com/Mr-X-GTA/GTAV-Classes-1.git
synced 2024-12-23 06:57:34 +08:00
d81f392e61
* feat(Script): Ported BBv2 script classes * fix: Change hard tab indents to 4 width space indents
32 lines
747 B
C++
32 lines
747 B
C++
#pragma once
|
|
#include <typeinfo>
|
|
|
|
#include "fwRefAwareBase.hpp"
|
|
#include "fwExtensionContainer.hpp"
|
|
|
|
#include "../rage/joaat.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);
|
|
|
|
}
|