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

Coordinate-safe targeting protocol shared by sensing and gameplay adapters. 更多...

#include "common/Export.h"
#include "common/Capability.h"
#include "common/Identity.h"
#include "common/Result.h"
#include "common/SubjectRef.h"
#include "sensing/Sensing.h"
#include <cstddef>
#include <cstdint>
#include <functional>
#include <limits>
#include <map>
#include <optional>
#include <ostream>
#include <span>
#include <string>
#include <utility>
#include <variant>
#include <vector>

浏览源代码.

类

class  eve::sensing::ZoneRef
 Strong reference to a named spatial zone. 更多...
 
class  eve::sensing::WorldPoint
 Finite world-space point tagged as either World2D or World3D. 更多...
 
class  eve::sensing::GridPoint
 Integer grid point tagged as Grid2D or Grid3D. 更多...
 
class  eve::sensing::WorldArea
 A world-space area constraint. 更多...
 
class  eve::sensing::GridArea
 An integer grid area constraint, kept separate from WorldArea. 更多...
 
struct  eve::sensing::TargetingSpec
 A checked target-count and spatial constraint description. 更多...
 
struct  eve::sensing::TargetingQuery
 A query passed from a domain targeting algorithm to sensing. 更多...
 
struct  eve::sensing::TargetCandidate
 Candidate facts returned by sensing. 更多...
 
class  eve::sensing::TargetSet
 Owning target result containing primary-independent subjects and optional geometry. 更多...
 
struct  eve::sensing::LineOfSightResult
 Result of one injected line-of-sight query. 更多...
 
class  eve::sensing::ILineOfSightQuery
 Consumer-owned line-of-sight capability. 更多...
 
class  eve::sensing::ISensingCandidateProvider
 Candidate discovery capability consumed by TargetingResolver. 更多...
 
class  eve::sensing::SensingCandidateProvider
 Pure CPU sensing candidate provider with deterministic map-backed storage. 更多...
 
class  eve::sensing::SensingWorldCandidateProvider
 ISensingCandidateProvider adapter over a SensingWorld fact mirror. 更多...
 
class  eve::sensing::TargetingResolver
 Generic constraint evaluator that composes candidate and LOS capabilities. 更多...
 

命名空间

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

类型定义

using eve::sensing::SubjectRef = ::eve::SubjectRef
 Strong reference to a runtime subject.
 
using eve::sensing::TargetLocation = std::variant< WorldPoint, GridPoint >
 Either a world point or a grid point, with the tag retained.
 
using eve::sensing::FactionRelationFn = std::function< Result< TargetDomain >(std::string_view originFaction, std::string_view candidateFaction)>
 Projects faction string pairs into TargetDomain for SensingWorld adapters.
 

枚举

enum class  eve::sensing::CoordinateSpace : std::uint8_t { eve::sensing::World2D , eve::sensing::World3D , eve::sensing::Grid2D , eve::sensing::Grid3D }
 Coordinate spaces are not interchangeable, even when dimensions match. 更多...
 
enum class  eve::sensing::TargetDomain : std::uint8_t {
  eve::sensing::Any , eve::sensing::Self , eve::sensing::Ally , eve::sensing::Enemy ,
  eve::sensing::Neutral
}
 Stable relationship class used by generic domain constraints. 更多...
 
enum class  eve::sensing::LineOfSightMode : std::uint8_t { eve::sensing::NotRequired , eve::sensing::Required }
 Whether a candidate must be visible from the query origin. 更多...
 

函数

std::string_view eve::sensing::coordinateSpaceName (CoordinateSpace space) noexcept
 Returns the stable protocol name for a coordinate space.
 
std::ostream & eve::sensing::operator<< (std::ostream &stream, CoordinateSpace space)
 Writes the stable coordinate-space protocol name.
 

详细描述

Coordinate-safe targeting protocol shared by sensing and gameplay adapters.

This header deliberately contains no physics, scene, UI, or rendering types. Candidate discovery and line-of-sight are consumer-owned capabilities; a domain-specific skill, weapon, card, or RTS command remains responsible for choosing a primary target from the returned candidate set.

在文件 Targeting.h 中定义.