Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/B/BGSObjectInstance.h
T
2026-05-30 18:33:24 +12:00

40 lines
932 B
C++

#pragma once
#include "RE/B/BSTSmartPointer.h"
#include "RE/T/TBO_InstanceData.h"
namespace RE
{
class BGSObjectInstance
{
public:
BGSObjectInstance(TESForm* a_object, TBO_InstanceData* a_instanceData)
{
ctor(a_object, a_instanceData);
}
// members
TESForm* object{ nullptr }; // 00
BSTSmartPointer<TBO_InstanceData> instanceData; // 08
private:
BGSObjectInstance* ctor(TESForm* a_object, TBO_InstanceData* a_instanceData)
{
using func_t = decltype(&BGSObjectInstance::ctor);
static REL::Relocation<func_t> func{ ID::BGSObjectInstance::ctor };
return func(this, a_object, a_instanceData);
}
};
static_assert(sizeof(BGSObjectInstance) == 0x10);
template <class T>
class BGSObjectInstanceT :
public BGSObjectInstance
{
public:
BGSObjectInstanceT(T* a_object, TBO_InstanceData* a_instanceData) :
BGSObjectInstance(a_object, a_instanceData)
{}
};
}