45 lines
1.9 KiB
C++
45 lines
1.9 KiB
C++
#pragma once
|
|
|
|
#include "RE/H/hkBool.h"
|
|
|
|
namespace RE
|
|
{
|
|
class hkDebugDisplayHandler;
|
|
class hkDisplaySerializeIStream;
|
|
class hkDisplaySerializeOStream;
|
|
class hkProcessHandler;
|
|
|
|
class __declspec(novtable) hkProcess
|
|
{
|
|
public:
|
|
inline static constexpr auto RTTI{ RTTI::hkProcess };
|
|
inline static constexpr auto VTABLE{ VTABLE::hkProcess };
|
|
|
|
hkProcess(hkBool a_selectable) :
|
|
m_selectable(a_selectable)
|
|
{
|
|
REX::EMPLACE_VTABLE(this);
|
|
}
|
|
|
|
virtual ~hkProcess() = default; // 0x00 [00]
|
|
|
|
// add
|
|
virtual void Unk01() = 0; // 0x08 [01]
|
|
virtual std::int64_t GetType() { return 0; } // 0x10 [02]
|
|
virtual void GetConsumableCommands([[maybe_unused]] std::uint8_t** a_commands, [[maybe_unused]] std::int32_t* a_numCommands) {} // 0x18 [03]
|
|
virtual void ConsumeCommand([[maybe_unused]] std::uint8_t a_command) {} // 0x20 [04]
|
|
virtual bool IsOk() { return false; } // 0x28 [05]
|
|
virtual void Init() {} //
|
|
virtual void Step([[maybe_unused]] float a_frameTimeInMs) {} //
|
|
|
|
// members
|
|
hkBool m_selectable; // 0x08
|
|
std::byte m_pad09[0x7]; // 0x09
|
|
hkDisplaySerializeIStream* m_inStream; // 0x10
|
|
hkDisplaySerializeOStream* m_outStream; // 0x18
|
|
hkDebugDisplayHandler* m_displayHandler; // 0x20
|
|
hkProcessHandler* m_processHandler; // 0x28
|
|
};
|
|
static_assert(sizeof(hkProcess) == 0x30);
|
|
}
|