CommonLibSSE NG
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 
12  enum class Type
13  {
14  kUnknown = 0,
15  kBool,
16  kFloat,
18  kColor,
19  kString,
21  };
22 
23  union Data
24  {
25  bool b;
26  float f;
27  std::int32_t i;
29  char* s;
30  std::uint32_t u;
31  };
32  static_assert(sizeof(Data) == 0x8);
33 
34  virtual ~Setting(); // 00
35 
36  // add
37  virtual bool Unk_01(void); // 01 - { return false; }
38 
39  [[nodiscard]] bool IsManaged() const;
40  [[nodiscard]] Type GetType() const;
41  [[nodiscard]] const char* GetName() const;
42 
43  [[nodiscard]] bool GetBool() const;
44  [[nodiscard]] float GetFloat() const;
45  [[nodiscard]] std::int32_t GetSInt() const;
46  [[nodiscard]] Color GetColor() const;
47  [[nodiscard]] const char* GetString() const;
48  [[nodiscard]] std::uint32_t GetUInt() const;
49 
50  // members
51  Data data; // 08
52  char* name; // 10
53  };
54  static_assert(sizeof(Setting) == 0x18);
55 }
Definition: Setting.h:8
Data data
Definition: Setting.h:51
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:52
float GetFloat() const
std::uint32_t GetUInt() const
virtual ~Setting()
Type
Definition: Setting.h:13
virtual bool Unk_01(void)
Definition: AbsorbEffect.h:6
constexpr REL::VariantID RTTI_Setting(684594, 392242, 0x1ed71d8)
Definition: Color.h:8
Definition: Setting.h:24
std::uint32_t u
Definition: Setting.h:30
float f
Definition: Setting.h:26
std::int32_t i
Definition: Setting.h:27
char * s
Definition: Setting.h:29
Color r
Definition: Setting.h:28
bool b
Definition: Setting.h:25