载入中...
搜索中...
未找到
AttributeSet.h
浏览该文件的文档.
63[[nodiscard]] EVENGINE_API_FOUNDATION eve::Result<ParsedAttributeOperation> parseAttributeOperation(
135 AttributeModifier(ModifierId modifierId, SourceId sourceId, std::string_view operationName, double modifierValue,
206 bool addModifier(const std::string& id, const std::string& attribute, const std::string& source,
212 [[nodiscard]] eve::Result<void> removeModifier(const AttributeId& attribute, const ModifierId& id);
214 [[nodiscard]] eve::Result<int> removeBySource(const SourceId& source, const AttributeId& attribute = {});
Move-only, checked operation results for the common layer.
Registry for explicitly named custom attribute policies.
Definition AttributeSet.h:67
std::function< double(double current, double value)> Function
Definition AttributeSet.h:69
Adapts one AttributeSet to numeric world reads and volatile writes.
Definition StateAccessAdapter.h:21
Generic owning collection of canonical attributes and modifiers.
Definition AttributeSet.h:160
Definition AttributeProjection.cpp:9
double computeAttributeValue(const AttributeValue &attribute, const AttributeOperationRegistry *customOperations)
Compute one attribute using the canonical operation order.
Definition AttributeSet.cpp:104
AttributeOperation
Built-in calculation operation for an attribute modifier.
Definition AttributeSet.h:25
@ MultiplicativePercent
@ AdditivePercent
const char * attributeOperationName(AttributeOperation operation) noexcept
Stable spelling of a built-in attribute operation. @ownership The returned string is a borrowed,...
Definition AttributeSet.cpp:21
eve::Result< ParsedAttributeOperation > parseAttributeOperation(std::string_view operation, double value)
Parse a built-in operation spelling used by existing data and APIs.
Definition AttributeSet.cpp:34
Definition Container.h:602
One canonical runtime modifier applied to one named attribute.
Definition AttributeSet.h:96
AttributeModifier(ModifierId modifierId, AttributeId attributeId, SourceId sourceId, AttributeOperation operationValue, double modifierValue, ModifierPriority priorityValue=0, ModifierSequence sequenceValue=0, std::string policy={})
Construct a canonical modifier with an explicit operation.
Definition AttributeSet.h:110
Runtime value and modifiers for exactly one attribute.
Definition AttributeSet.h:140
std::vector< AttributeModifier > modifiers
Definition AttributeSet.h:142
Parsed legacy operation and its normalized value.
Definition AttributeSet.h:54
AttributeOperation operation
Definition AttributeSet.h:55