CommonLibSSE NG
Loading...
Searching...
No Matches
PackageLocation.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace RE
7{
8 class TESForm;
9
11 {
12 public:
13 inline static constexpr auto RTTI = RTTI_PackageLocation;
14
15 enum class Type
16 {
17 kNone = static_cast<std::underlying_type_t<Type>>(-1),
18 kNearReference = 0,
19 kInCell = 1,
20 kNearPackageStartLocation = 2,
21 kNearEditorLocation = 3,
22 kObjectID = 4,
23 kObjectType = 5,
24 kNearLinkedReference = 6,
25 kAtPackagelocation = 7,
26 kAlias_Reference = 8,
27 kAlias_Location = 9,
28 kNearSelf = 12,
29 };
30
31 union Data
32 {
33 ~Data() {}
34
37 };
38 static_assert(sizeof(Data) == 0x8);
39
40 ~PackageLocation() override; // 00
41
42 // override (IAIWorldLocationHandle)
43 const IAIWorldLocation* AllocateLocation(AIWorldLocationContext* a_context) override; // 01
44 PackageLocation* GetAsPackageLocation() override; // 02 - { return this; }
45 bool IsRefAtLocation(AIWorldLocationContext* a_context, TESObjectREFR* a_ref) override; // 03
46
47 // members
49 std::uint8_t pad09; // 09
50 std::uint16_t pad0A; // 0A
51 std::uint32_t rad; // 0C
52 Data data; // 10
53 };
54 static_assert(sizeof(PackageLocation) == 0x18);
55}
Definition IAIWorldLocationHandle.h:11
Definition PackageLocation.h:11
static constexpr auto RTTI
Definition PackageLocation.h:13
Type
Definition PackageLocation.h:16
std::uint32_t rad
Definition PackageLocation.h:51
Data data
Definition PackageLocation.h:52
PackageLocation * GetAsPackageLocation() override
std::uint8_t pad09
Definition PackageLocation.h:49
~PackageLocation() override
const IAIWorldLocation * AllocateLocation(AIWorldLocationContext *a_context) override
stl::enumeration< Type, std::uint8_t > locType
Definition PackageLocation.h:48
std::uint16_t pad0A
Definition PackageLocation.h:50
bool IsRefAtLocation(AIWorldLocationContext *a_context, TESObjectREFR *a_ref) override
Definition TESForm.h:35
Definition TESObjectREFR.h:112
Definition PCH.h:223
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_PackageLocation(686035, 393843, 0x1ef4d00)
Definition PackageLocation.h:32
TESForm * object
Definition PackageLocation.h:35
~Data()
Definition PackageLocation.h:33
ObjectRefHandle refHandle
Definition PackageLocation.h:36