LeviLamina
Loading...
Searching...
No Matches
Ability.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5class Ability {
6public:
7 // Ability inner types define
8 enum class Options : uchar {
9 None = 0,
10 NoSave = 1,
11 CommandExposed = 2,
12 PermissionsInterfaceExposed = 4,
13 };
14
15 enum class Type : uchar {
16 Invalid = 0,
17 Unset = 1,
18 Bool = 2,
19 Float = 3,
20 };
21
22 union Value {
23 public:
24 // member variables
25 // NOLINTBEGIN
26 ::ll::TypedStorage<1, 4, bool> mBoolVal;
27 ::ll::TypedStorage<4, 4, float> mFloatVal;
28 // NOLINTEND
29 };
30
31public:
32 // member variables
33 // NOLINTBEGIN
34 ::ll::TypedStorage<1, 1, ::Ability::Type> mType;
35 ::ll::TypedStorage<4, 4, ::Ability::Value> mValue;
36 ::ll::TypedStorage<1, 1, ::Ability::Options> mOptions;
37 // NOLINTEND
38
39public:
40 // member functions
41 // NOLINTBEGIN
42 MCAPI Ability();
43
44 MCAPI Ability(bool value, ::Ability::Options ops);
45
46 MCAPI bool getBool() const;
47
48 MCAPI float getFloat() const;
49
50 MCFOLD ::Ability::Type getType() const;
51
52 MCAPI bool hasOption(::Ability::Options op) const;
53
54 MCAPI bool isSet() const;
55
56 MCAPI bool operator!=(::Ability const& rhs) const;
57
58 MCAPI void setBool(bool val);
59
60 MCAPI void setFloat(float val);
61
62 MCFOLD void unSet();
63 // NOLINTEND
64
65public:
66 // constructor thunks
67 // NOLINTBEGIN
68 MCAPI void* $ctor();
69
70 MCAPI void* $ctor(bool value, ::Ability::Options ops);
71 // NOLINTEND
72};
Definition Ability.h:22