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&);
30
31public:
32 // member functions
33 // NOLINTBEGIN
34 MCAPI void _onAttributeModified(::AttributeInstance const& attributeInstance);
35
36 MCAPI ::AttributeInstance const& getInstance(::Attribute const& attribute) const;
37
38 MCAPI ::AttributeInstance const& getInstance(uint idValue) const;
39
40 MCAPI ::AttributeInstance* getMutableInstance(::HashedString const& name);
41
42 MCAPI ::MutableAttributeWithContext getMutableInstanceWithContext(::Attribute const& attribute);
43
44 MCAPI ::std::vector<::AttributeInstanceHandle> getSyncableAttributes() const;
45
46 MCAPI ::BaseAttributeMap& operator=(::BaseAttributeMap&&);
47
48 MCAPI ::AttributeInstance& registerAttribute(::Attribute const& baseAttribute);
49 // NOLINTEND
50
51public:
52 // static functions
53 // NOLINTBEGIN
54 MCAPI static void updateAttribute(
55 ::AttributeData const& attributeData,
56 ::AttributeInstance& attributeInstance,
58 );
59 // NOLINTEND
60
61public:
62 // static variables
63 // NOLINTBEGIN
64 MCAPI static ::std::string const& DIFF_ATTRIBUTES();
65
66 MCAPI static ::std::string const& DIFF_ATTRIBUTES_SIZE();
67
68 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES();
69
70 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES_SIZE();
71
72 MCAPI static ::std::string const& DIFF_NO_ATTRIBUTES();
73
74 MCAPI static ::AttributeInstance& mInvalidInstance();
75 // NOLINTEND
76};
Definition AttributeInstanceHandle.h:5
Definition AttributeInstance.h:16
Definition Attribute.h:9
Definition BaseAttributeMap.h:16
Definition HashedString.h:5
Definition AttributeData.h:17
Definition AttributeModificationContext.h:10
Definition MutableAttributeWithContext.h:13
Definition context.h:5