27 lines
1.2 KiB
C++
27 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include "RE/M/MemoryManager.h"
|
|
|
|
namespace RE
|
|
{
|
|
class __declspec(novtable) BaseFormComponent
|
|
{
|
|
public:
|
|
static constexpr auto RTTI{ RTTI::BaseFormComponent };
|
|
static constexpr auto VTABLE{ VTABLE::BaseFormComponent };
|
|
|
|
virtual ~BaseFormComponent() = default; // 00
|
|
|
|
F4_HEAP_REDEFINE_NEW(BaseFormComponent);
|
|
|
|
// add
|
|
virtual std::uint32_t GetFormComponentType() const { return 0; } // 01
|
|
virtual void InitializeDataComponent() = 0; // 02
|
|
virtual void ClearDataComponent() = 0; // 03
|
|
virtual void InitComponent() { return; } // 04
|
|
virtual void CopyComponent([[maybe_unused]] BaseFormComponent* a_copy) { return; } // 06
|
|
virtual void CopyComponent([[maybe_unused]] BaseFormComponent* a_copy, [[maybe_unused]] TESForm* a_owner) { return; } // 05
|
|
};
|
|
static_assert(sizeof(BaseFormComponent) == 0x8);
|
|
}
|