LeviLamina
Loading...
Searching...
No Matches
BaseAttributeMap.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated forward declare list
6// clang-format off
7class Attribute;
10class HashedString;
11struct AttributeData;
14// clang-format on
15
17public:
18 // member variables
19 // NOLINTBEGIN
20 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::AttributeInstance>> mInstanceMap;
21 ::ll::TypedStorage<8, 24, ::std::vector<::AttributeInstanceHandle>> mDirtyAttributes;
22 ::ll::TypedStorage<8, 8, void (::BaseAttributeMap::*)(::AttributeInstance const&)> mOnAttributeModified;
23 // NOLINTEND
24
25public:
26 // prevent constructor by default
27 BaseAttributeMap& operator=(BaseAttributeMap const&);
29
30public:
31 // member functions
32 // NOLINTBEGIN
33 MCAPI void _onAttributeModified(::AttributeInstance const& attributeInstance);
34
35 MCAPI ::AttributeInstance const& getInstance(::Attribute const& attribute) const;
36
37 MCAPI ::AttributeInstance const& getInstance(uint idValue) const;
38
39 MCAPI ::AttributeInstance* getMutableInstance(::HashedString const& name);
40
41 MCAPI ::MutableAttributeWithContext getMutableInstanceWithContext(::Attribute const& attribute);
42
43 MCAPI ::std::vector<::AttributeInstanceHandle> getSyncableAttributes() const;
44
45 MCAPI ::BaseAttributeMap& operator=(::BaseAttributeMap&&);
46
47 MCAPI ::AttributeInstance& registerAttribute(::Attribute const& baseAttribute);
48 // NOLINTEND
49
50public:
51 // static functions
52 // NOLINTBEGIN
53 MCAPI static void updateAttribute(
54 ::AttributeData const& attributeData,
55 ::AttributeInstance& attributeInstance,
57 );
58 // NOLINTEND
59
60public:
61 // static variables
62 // NOLINTBEGIN
63 MCAPI static ::std::string const& DIFF_ATTRIBUTES();
64
65 MCAPI static ::std::string const& DIFF_ATTRIBUTES_SIZE();
66
67 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES();
68
69 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES_SIZE();
70
71 MCAPI static ::std::string const& DIFF_NO_ATTRIBUTES();
72
73 MCAPI static ::AttributeInstance& mInvalidInstance();
74 // NOLINTEND
75};
Definition AttributeInstanceHandle.h:5
Definition AttributeInstance.h:16
Definition Attribute.h:13
Definition BaseAttributeMap.h:16
Definition HashedString.h:5
Definition AttributeData.h:17
Definition AttributeModificationContext.h:10
Definition MutableAttributeWithContext.h:11
Definition context.h:5