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 // BaseAttributeMap inner types define
19 using UnderlyingMapContainer = ::std::unordered_map<uint, ::AttributeInstance>;
20
21public:
22 // member variables
23 // NOLINTBEGIN
24 ::ll::TypedStorage<8, 64, ::std::unordered_map<uint, ::AttributeInstance>> mInstanceMap;
25 ::ll::TypedStorage<8, 24, ::std::vector<::AttributeInstanceHandle>> mDirtyAttributes;
26 ::ll::TypedStorage<8, 8, void (::BaseAttributeMap::*)(::AttributeInstance const&)> mOnAttributeModified;
27 // NOLINTEND
28
29public:
30 // prevent constructor by default
31 BaseAttributeMap& operator=(BaseAttributeMap const&);
34
35public:
36 // member functions
37 // NOLINTBEGIN
38 MCAPI void _onAttributeModified(::AttributeInstance const& attributeInstance);
39
40 MCAPI ::AttributeInstance const& getInstance(::Attribute const& attribute) const;
41
42 MCAPI ::AttributeInstance const& getInstance(uint idValue) const;
43
44 MCAPI ::AttributeInstance* getMutableInstance(::HashedString const& name);
45
46 MCAPI ::MutableAttributeWithContext getMutableInstanceWithContext(::Attribute const& attribute);
47
48 MCAPI ::std::vector<::AttributeInstanceHandle> getSyncableAttributes() const;
49
50 MCAPI ::BaseAttributeMap& operator=(::BaseAttributeMap&&);
51
52 MCAPI ::AttributeInstance& registerAttribute(::Attribute const& baseAttribute);
53 // NOLINTEND
54
55public:
56 // static functions
57 // NOLINTBEGIN
58 MCAPI static void updateAttribute(
59 ::AttributeData const& attributeData,
60 ::AttributeInstance& attributeInstance,
62 );
63 // NOLINTEND
64
65public:
66 // static variables
67 // NOLINTBEGIN
68 MCAPI static ::std::string const& DIFF_ATTRIBUTES();
69
70 MCAPI static ::std::string const& DIFF_ATTRIBUTES_SIZE();
71
72 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES();
73
74 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES_SIZE();
75
76 MCAPI static ::std::string const& DIFF_NO_ATTRIBUTES();
77
78 MCAPI static ::AttributeInstance& mInvalidInstance();
79 // NOLINTEND
80};
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