CommonLibVR
Setting.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/C/Color.h"
4 
5 namespace RE
6 {
7  class Setting
8  {
9  public:
10  inline static constexpr auto RTTI = RTTI_Setting;
11  inline static constexpr auto VTABLE = VTABLE_Setting;
12 
13  enum class Type
14  {
15  kUnknown = 0,
16  kBool,
17  kFloat,
19  kColor,
20  kString,
22  };
23 
24  union Data
25  {
26  bool b;
27  float f;
28  std::int32_t i;
30  char* s;
31  std::uint32_t u;
32  };
33  static_assert(sizeof(Data) == 0x8);
34 
35  virtual ~Setting(); // 00
36 
37  // add
38  virtual bool Unk_01(void); // 01 - { return false; }
39 
40  [[nodiscard]] bool IsManaged() const;
41  [[nodiscard]] Type GetType() const;
42  [[nodiscard]] const char* GetName() const;
43 
44  [[nodiscard]] bool GetBool() const;
45  [[nodiscard]] float GetFloat() const;
46  [[nodiscard]] std::int32_t GetSInt() const;
47  [[nodiscard]] Color GetColor() const;
48  [[nodiscard]] const char* GetString() const;
49  [[nodiscard]] std::uint32_t GetUInt() const;
50 
51  // members
52  Data data; // 08
53  char* name; // 10
54  private:
55  KEEP_FOR_RE()
56  };
57  static_assert(sizeof(Setting) == 0x18);
58 }
#define KEEP_FOR_RE()
Definition: PCH.h:713
Definition: Setting.h:8
static constexpr auto VTABLE
Definition: Setting.h:11
Data data
Definition: Setting.h:52
const char * GetString() const
const char * GetName() const
Type GetType() const
bool GetBool() const
bool IsManaged() const
static constexpr auto RTTI
Definition: Setting.h:10
std::int32_t GetSInt() const
Color GetColor() const
char * name
Definition: Setting.h:53
float GetFloat() const
std::uint32_t GetUInt() const
virtual ~Setting()
Type
Definition: Setting.h:14
virtual bool Unk_01(void)
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_Setting
Definition: Offsets_VTABLE.h:12634
constexpr REL::ID RTTI_Setting(static_cast< std::uint64_t >(684594))
Definition: Color.h:8
Definition: Setting.h:25
std::uint32_t u
Definition: Setting.h:31
float f
Definition: Setting.h:27
std::int32_t i
Definition: Setting.h:28
char * s
Definition: Setting.h:30
Color r
Definition: Setting.h:29
bool b
Definition: Setting.h:26