载入中...
搜索中...
未找到
eve::tactics::ICoverPolicy类 参考abstract

Answers "how much cover does @p target have against @p attacker". 更多...

#include <LineOfSight.h>

类 eve::tactics::ICoverPolicy 继承关系图:
eve::tactics::GridCoverPolicy

Public 成员函数

virtual ~ICoverPolicy ()=default
 Releases ICoverPolicy resources.
 
virtual std::string_view id () const noexcept=0
 Stable id of this implementation.
 
virtual Result< CoverLevel > cover (const BoardState &board, Cell attacker, Cell target) const =0
 Report the cover target has against attacker.
 

静态 Public 属性

static constexpr const char * capabilityName = "eve.tactics.ICoverPolicy"
 Capability name a provider registers under.
 

详细描述

Answers "how much cover does @p target have against @p attacker".

备注
Kept separate from line of sight on purpose: "cannot see" and "sees but the shot is absorbed" are different rules with different gameplay, and one interface that returned both would force every caller to interpret a combined result.

在文件 LineOfSight.h 第 89 行定义.

构造及析构函数说明

◆ ~ICoverPolicy()

virtual eve::tactics::ICoverPolicy::~ICoverPolicy ( )
virtualdefault

Releases ICoverPolicy resources.

成员函数说明

◆ cover()

virtual Result< CoverLevel > eve::tactics::ICoverPolicy::cover ( const BoardState &  board,
Cell  attacker,
Cell  target 
) const
pure virtual

Report the cover target has against attacker.

返回
The cover level, or a structured refusal for cells the policy cannot use.

在 eve::tactics::GridCoverPolicy 内被实现.

◆ id()

virtual std::string_view eve::tactics::ICoverPolicy::id ( ) const
pure virtualnoexcept

Stable id of this implementation.

在 eve::tactics::GridCoverPolicy 内被实现.

类成员变量说明

◆ capabilityName

constexpr const char* eve::tactics::ICoverPolicy::capabilityName = "eve.tactics.ICoverPolicy"
staticconstexpr

Capability name a provider registers under.

在文件 LineOfSight.h 第 92 行定义.


该类的文档由以下文件生成: