LeviLamina
Loading...
Searching...
No Matches
BaseAttributeMap.h
1#pragma once
2
3#include "mc/_HeaderOutputPredefine.h"
4
5// auto generated inclusion list
6#include "mc/platform/brstd/flat_map.h"
7
8// auto generated forward declare list
9// clang-format off
10class Attribute;
14class HashedString;
15struct AttributeData;
17// clang-format on
18
20public:
21 // BaseAttributeMap inner types define
22 using UnderlyingMapContainer = ::brstd::
23 flat_map<uint, ::AttributeInstance, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::AttributeInstance>>;
24
25public:
26 // member variables
27 // NOLINTBEGIN
28 ::ll::TypedStorage<
29 8,
30 56,
32 uint,
34 ::std::less<uint>,
35 ::std::vector<uint>,
36 ::std::vector<::AttributeInstance>>>
37 mInstanceMap;
38 ::ll::TypedStorage<8, 24, ::std::vector<::AttributeInstanceHandle>> mDirtyAttributes;
39 ::ll::TypedStorage<8, 8, void (::BaseAttributeMap::*)(::AttributeInstance const&)> mOnAttributeModified;
40 // NOLINTEND
41
42public:
43 // member functions
44 // NOLINTBEGIN
45 MCAPI void _onAttributeModified(::AttributeInstance const& attributeInstance);
46
47 MCFOLD_C void _onAttributeModifiedDisabled(::AttributeInstance const&);
48
49 MCAPI ::AttributeInstanceRef getMutableInstance(uint idValue);
50
51 MCAPI_S ::AttributeInstanceRef getMutableInstance(::HashedString const& name);
52
53 MCAPI ::std::vector<::AttributeInstanceHandle> getSyncableAttributes() const;
54
55 MCAPI ::AttributeInstanceRef registerAttribute(::Attribute const& baseAttribute);
56
57 MCAPI_C void updateOrCreateAttribute(::AttributeData const& attributeData);
58 // NOLINTEND
59
60public:
61 // static functions
62 // NOLINTBEGIN
63 MCAPI static void updateAttribute(
64 ::AttributeData const& attributeData,
65 ::AttributeInstanceRef attributeRef,
67 );
68 // NOLINTEND
69
70public:
71 // static variables
72 // NOLINTBEGIN
73 MCAPI static ::std::string const& DIFF_ATTRIBUTES();
74
75 MCAPI static ::std::string const& DIFF_ATTRIBUTES_SIZE();
76
77 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES();
78
79 MCAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES_SIZE();
80
81 MCAPI static ::std::string const& DIFF_NO_ATTRIBUTES();
82
83 MCAPI static ::AttributeInstance& mInvalidInstance();
84 // NOLINTEND
85};
Definition AttributeInstanceHandle.h:5
Definition AttributeInstanceRef.h:13
Definition AttributeInstance.h:16
Definition Attribute.h:9
Definition BaseAttributeMap.h:19
Definition HashedString.h:5
Definition flat_map.h:8
Definition AttributeData.h:17
Definition AttributeModificationContext.h:10
Definition context.h:5