载入中...
搜索中...
未找到
Condition.h 文件参考

Pure, explainable condition trees shared by gameplay domains. 更多...

#include "common/Export.h"
#include "common/Value.h"
#include <cstdint>
#include <functional>
#include <optional>
#include <string>
#include <string_view>
#include <vector>

浏览源代码.

类

struct  eve::decision::ScriptConditionDeclaration
 Metadata a script policy must declare before it is used by a condition. 更多...
 
class  eve::decision::ConditionResult
 Explain one condition evaluation in a UI- and log-friendly form. 更多...
 
class  eve::decision::EvaluationContext
 Read-only state boundary used by every condition evaluation. 更多...
 
class  eve::decision::Condition
 Immutable condition AST node. 更多...
 

命名空间

namespace  eve
 Build metadata (engine git commit, build time, third-party version).
 
namespace  eve::decision
 

枚举

enum class  eve::decision::ConditionKind : std::uint8_t {
  eve::decision::All , eve::decision::Any , eve::decision::Not , eve::decision::Compare ,
  eve::decision::HasTag , eve::decision::HasAttribute , eve::decision::HasResource , eve::decision::StateEquals ,
  eve::decision::AuthorityCheck , eve::decision::PolicyCall
}
 Node kind in the side-effect-free condition AST. 更多...
 
enum class  eve::decision::CompareOperator : std::uint8_t {
  eve::decision::Equal , eve::decision::NotEqual , eve::decision::Less , eve::decision::LessEqual ,
  eve::decision::Greater , eve::decision::GreaterEqual
}
 Scalar comparison used by a Compare node. 更多...
 
enum class  eve::decision::DeterminismLevel : std::uint8_t { eve::decision::BitExact , eve::decision::TickDeterministic , eve::decision::ToleranceBounded , eve::decision::ExplicitlyNondeterministic }
 Determinism contract declared by a script-backed condition policy. 更多...
 
enum class  eve::decision::ConditionReasonCode : std::uint32_t {
  eve::decision::Passed = 0 , eve::decision::ChildFailed = 1 , eve::decision::NoChildPassed = 2 , eve::decision::Negated = 3 ,
  eve::decision::MissingValue = 4 , eve::decision::ValueMismatch = 5 , eve::decision::TagMissing = 6 , eve::decision::TagUnavailable = 7 ,
  eve::decision::AttributeMissing = 8 , eve::decision::ResourceMissing = 9 , eve::decision::StateMissing = 10 , eve::decision::StateMismatch = 11 ,
  eve::decision::AuthorityDenied = 12 , eve::decision::AuthorityUnavailable = 13 , eve::decision::PolicyRejected = 14 , eve::decision::PolicyUnavailable = 15 ,
  eve::decision::InvalidCondition = 16
}
 Stable machine-readable explanation code for a condition outcome. 更多...
 

函数

const char * eve::decision::conditionReasonCodeName (ConditionReasonCode code) noexcept
 Return the stable lowercase spelling of a condition reason code. @ownership Borrowed process-static text; callers must not free or modify it. @nullable Never null; unknown numeric values use the stable unknown-value literal. @lifetime Process lifetime. @thread Thread-safe and reentrant; no mutable state or callbacks are used.
 
const char * eve::decision::conditionKindName (ConditionKind kind) noexcept
 Return the stable lowercase spelling of a condition node kind. @ownership Borrowed process-static text; callers must not free or modify it. @nullable Never null; unknown numeric values use the stable unknown-value literal. @lifetime Process lifetime. @thread Thread-safe and reentrant; no mutable state or callbacks are used.
 
const char * eve::decision::compareOperatorName (CompareOperator op) noexcept
 Return the stable lowercase spelling of a comparison operator. @ownership Borrowed process-static text; callers must not free or modify it. @nullable Never null; unknown numeric values use the stable unknown-value literal. @lifetime Process lifetime. @thread Thread-safe and reentrant; no mutable state or callbacks are used.
 

详细描述

Pure, explainable condition trees shared by gameplay domains.

在文件 Condition.h 中定义.