CommonLibSSE (powerof3)
PackageLocation.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSPointerHandle.h"
5 
6 namespace 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
const IAIWorldLocation * AllocateLocation(AIWorldLocationContext *a_context) override
std::uint32_t rad
Definition: PackageLocation.h:51
PackageLocation * GetAsPackageLocation() override
Data data
Definition: PackageLocation.h:52
std::uint8_t pad09
Definition: PackageLocation.h:49
~PackageLocation() 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:34
Definition: TESObjectREFR.h:103
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_PackageLocation
Definition: Offsets_RTTI.h:5657
Definition: PackageLocation.h:32
TESForm * object
Definition: PackageLocation.h:35
~Data()
Definition: PackageLocation.h:33
ObjectRefHandle refHandle
Definition: PackageLocation.h:36