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

49 lines
1.2 KiB
C++

#pragma once
#include "RE/B/BSFixedString.h"
#include "RE/B/BSStringT.h"
#include "RE/I/IDLE_DATA.h"
#include "RE/T/TESCondition.h"
#include "RE/T/TESForm.h"
namespace RE
{
class NiFormArray;
class __declspec(novtable) TESIdleForm :
public TESForm // 00
{
public:
static constexpr auto RTTI{ RTTI::TESIdleForm };
static constexpr auto VTABLE{ VTABLE::TESIdleForm };
static constexpr auto FORM_ID{ ENUM_FORM_ID::kIDLE };
bool CheckConditions(TESObjectREFR* a_actionRef, TESObjectREFR* a_targetRef, bool a_recurseUp)
{
if (!conditions.IsTrue(a_actionRef, a_targetRef)) {
return false;
}
if (a_recurseUp) {
if (parentIdle) {
return parentIdle->CheckConditions(a_actionRef, a_targetRef, a_recurseUp);
}
}
return true;
}
// members
TESCondition conditions; // 20
IDLE_DATA data; // 28
NiFormArray* childIdles; // 30
TESIdleForm* parentIdle; // 38
TESIdleForm* prevIdle; // 40
BSFixedString behaviorGraphName; // 48
BSFixedString animEventName; // 50
BSFixedString animFileName; // 58
BSString formEditorID; // 60
};
static_assert(sizeof(TESIdleForm) == 0x70);
}