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

Domain-neutral, deterministic settlement pipeline. 更多...

#include "common/Export.h"
#include "common/Result.h"
#include "common/Identity.h"
#include "common/Snapshot.h"
#include "common/SubjectRef.h"
#include "common/Time.h"
#include "common/Value.h"
#include "game_event/GameEvent.h"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <optional>
#include <span>
#include <string>
#include <string_view>
#include <vector>

浏览源代码.

类

struct  eve::settlement::SettlementRandomDecision
 Caller-owned deterministic random decision recorded for replay and verification. 更多...
 
struct  eve::settlement::SettlementChainContext
 Bounded trigger-chain metadata carried by an owning settlement request. 更多...
 
struct  eve::settlement::SettlementRequest
 Domain-neutral input to one settlement operation. 更多...
 
struct  eve::settlement::SettlementStageResult
 Explanation emitted for one executed stage. 更多...
 
struct  eve::settlement::SettlementResult
 Complete observable outcome of one successful settlement. 更多...
 
struct  eve::settlement::SettlementBatchItemResult
 Indexed owning outcome for one independently committed settlement item. 更多...
 
class  eve::settlement::PreparedApply
 Prepared domain mutation used to make settlement application atomic. 更多...
 
class  eve::settlement::SettlementContext
 Mutable calculation frame visible to policy and custom stage code. 更多...
 
class  eve::settlement::ISettlementPolicy
 Domain-owned policy hooks used by the common settlement pipeline. 更多...
 
class  eve::settlement::SettlementPipeline
 Deterministically ordered, composable settlement pipeline. 更多...
 

命名空间

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

枚举

enum class  eve::settlement::StageKind : std::uint8_t {
  eve::settlement::Validate , eve::settlement::Decision , eve::settlement::SourceModifiers , eve::settlement::TargetMitigation ,
  eve::settlement::ArmorShield , eve::settlement::Clamp , eve::settlement::Apply , eve::settlement::Trigger ,
  eve::settlement::Event
}
 Kind of ordered calculation stage in a settlement pipeline. 更多...
 
enum class  eve::settlement::SettlementDisposition : std::uint8_t {
  eve::settlement::Applied , eve::settlement::NoOp , eve::settlement::Immune , eve::settlement::Resisted ,
  eve::settlement::PartiallyApplied , eve::settlement::Blocked , eve::settlement::InvalidTarget
}
 Semantic outcome of a completed settlement, distinct from its numeric amount. 更多...
 
enum class  eve::settlement::SettlementTraceLevel : std::uint8_t { eve::settlement::Off , eve::settlement::Summary , eve::settlement::Full }
 Amount of stage explanation retained by one settlement request. 更多...
 

函数

const char * eve::settlement::settlementDispositionName (SettlementDisposition disposition) noexcept
 Return the stable lowercase spelling of a settlement disposition.
 
const char * eve::settlement::stageKindName (StageKind kind) noexcept
 Return the stable lowercase spelling of a stage kind.
 
eve::Result< void > eve::settlement::validateSettlementRequest (const SettlementRequest &request)
 Validate the canonical semantic invariants of a settlement request.
 
EVENGINE_API_FOUNDATION eve::Result< std::string > eve::settlement::settlementResultCanonicalJson (const SettlementResult &result)
 Serialize the stable semantic fields of a settlement result as canonical JSON.
 
EVENGINE_API_FOUNDATION eve::Result< eve::ContentId > eve::settlement::settlementResultDigest (const SettlementResult &result, const eve::SnapshotHashProvider &hashProvider)
 Hash the canonical semantic representation of a settlement result.
 
EVENGINE_API_FOUNDATION eve::Result< std::vector< std::string > > eve::settlement::verifySettlementResult (const SettlementResult &expected, const SettlementResult &actual)
 Compare two settlement results and report stable field paths that differ.
 
EVENGINE_API_FOUNDATION eve::Result< std::string > eve::settlement::createSettlementReplayRecord (const SettlementRequest &request, eve::ContentId ruleDigest, const SettlementResult &result, const eve::SnapshotHashProvider &hashProvider)
 Serialize one replayable request with its rule and expected-result identities.
 
EVENGINE_API_FOUNDATION eve::Result< SettlementRequest > eve::settlement::settlementReplayRequest (std::string_view recordJson)
 Decode the request from a strict version-1 replay record.
 
EVENGINE_API_FOUNDATION eve::Result< std::vector< std::string > > eve::settlement::verifySettlementReplayRecord (std::string_view recordJson, eve::ContentId ruleDigest, const SettlementResult &actual, const eve::SnapshotHashProvider &hashProvider)
 Verify current rules and outcome against a strict replay record.
 

详细描述

Domain-neutral, deterministic settlement pipeline.

Settlement owns the calculation protocol, not health, armor, shields or any other gameplay state. A policy adapter reads its domain state, stages a candidate mutation, and commits that candidate only after every stage has succeeded. RPG, Vehicle, Card and Weapon therefore remain independent domain roots while sharing one result and event contract.

在文件 Settlement.h 中定义.