Skip to content
LeviMC
English
AutoLightDark
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;
15class HashedString;
16struct AttributeData;
19// clang-format on
20
21class BaseAttributeMap {
22public:
23 // BaseAttributeMap inner types define
24 using UnderlyingMapContainer = ::brstd::
25 flat_map<uint, ::AttributeInstance, ::std::less<uint>, ::std::vector<uint>, ::std::vector<::AttributeInstance>>;
26
27public:
28 // member variables
29 // NOLINTBEGIN
30 ::ll::TypedStorage<
31 8,
32 48,
34 uint,
36 ::std::less<uint>,
37 ::std::vector<uint>,
38 ::std::vector<::AttributeInstance>>>
39 mInstanceMap;
40 ::ll::TypedStorage<8, 24, ::std::vector<::AttributeInstanceHandle>> mDirtyAttributes;
41 ::ll::TypedStorage<8, 8, void (BaseAttributeMap::*)(::AttributeInstance const&)> mOnAttributeModified;
42 // NOLINTEND
43
44public:
45 LLAPI void setDirty(AttributeInstance const& attribute);
46 LLNDAPI bool setCurrentValue(Attribute const& attribute, float value);
47 LLNDAPI bool setMaxValue(Attribute const& attribute, float value);
48 LLNDAPI bool setDefaultValue(Attribute const& attribute, float value);
49
50public:
51 // prevent constructor by default
52 BaseAttributeMap& operator=(BaseAttributeMap const&);
53 BaseAttributeMap();
54
55public:
56 // member functions
57 // NOLINTBEGIN
58 MCNAPI BaseAttributeMap(::BaseAttributeMap const&);
59
60 MCAPI void _onAttributeModified(::AttributeInstance const& attributeInstance);
61
62#ifdef LL_PLAT_C
63 MCNAPI void _onAttributeModifiedDisabled(::AttributeInstance const&);
64#endif
65
66 MCNAPI ::AttributeInstanceConstRef getInstance(::Attribute const& attribute) const;
67
68 MCNAPI ::AttributeInstanceConstRef getInstance(uint idValue) const;
69
70 MCAPI ::AttributeInstanceRef getMutableInstance(::Attribute const& attribute);
71
72 MCAPI ::AttributeInstanceRef getMutableInstance(::HashedString const& name);
73
74 MCAPI ::MutableAttributeWithContext getMutableInstanceWithContext(::Attribute const& attribute);
75
76 MCNAPI ::AttributeInstanceRef registerAttribute(::Attribute const& baseAttribute);
77 // NOLINTEND
78
79public:
80 // static functions
81 // NOLINTBEGIN
82 MCNAPI static void updateAttribute(
83 ::AttributeData const& attributeData,
84 ::AttributeInstanceRef attributeRef,
86 );
87 // NOLINTEND
88
89public:
90 // static variables
91 // NOLINTBEGIN
92 MCNAPI static ::std::string const& DIFF_ATTRIBUTES_SIZE();
93
94 MCNAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES();
95
96 MCNAPI static ::std::string const& DIFF_DIRTY_ATTRIBUTES_SIZE();
97
98 MCNAPI static ::std::string const& DIFF_NO_ATTRIBUTES();
99
100 MCNAPI static ::AttributeInstance& mInvalidInstance();
101 // NOLINTEND
102
103public:
104 // constructor thunks
105 // NOLINTBEGIN
106 MCNAPI void* $ctor(::BaseAttributeMap const&);
107 // NOLINTEND
108};
Definition AttributeInstanceConstRef.h:13
Definition AttributeInstanceHandle.h:11
Definition AttributeInstanceRef.h:13
Definition AttributeInstance.h:17
Definition Attribute.h:9
static MCAPI ::std::string const & DIFF_DIRTY_ATTRIBUTES_SIZE()
MCAPI void * $ctor(::BaseAttributeMap const &)
static MCAPI void updateAttribute(::AttributeData const &attributeData, ::AttributeInstanceRef attributeRef, ::AttributeModificationContext &context)
static MCAPI ::std::string const & DIFF_NO_ATTRIBUTES()
MCAPI::AttributeInstanceRef registerAttribute(::Attribute const &baseAttribute)
static MCAPI ::AttributeInstance & mInvalidInstance()
MCAPI BaseAttributeMap(::BaseAttributeMap const &)
MCAPI::AttributeInstanceConstRef getInstance(::Attribute const &attribute) const
static MCAPI ::std::string const & DIFF_ATTRIBUTES_SIZE()
static MCAPI ::std::string const & DIFF_DIRTY_ATTRIBUTES()
MCAPI::AttributeInstanceConstRef getInstance(uint idValue) const
Definition HashedString.h:5
Definition flat_map.h:15
Definition AttributeData.h:17
Definition AttributeModificationContext.h:10
Definition MutableAttributeWithContext.h:9
Definition context.h:5