载入中...
搜索中...
未找到
eve::weapon::WeaponActionAdapter类 参考

Translates a WeaponDefinition/AttackRequest pair to Action values. 更多...

#include <WeaponAction.h>

静态 Public 成员函数

static eve::Result< std::optional< eve::resource::CostSpec > > resourceCost (const WeaponDefinition &weapon)
 Convert the weapon trigger resource into a canonical cost.
 
static eve::Result< eve::transaction::TransactionReceipt > fire (const WeaponDefinition &weapon, eve::resource::IResourceAccount &account, eve::transaction::ITransactionParticipant &effect, std::string transactionId={})
 Execute one already-built weapon effect and charge its resource atomically.
 
static eve::Result< eve::transaction::TransactionReceipt > fire (const WeaponDefinition &weapon, const AttackRequest &attack, eve::resource::IResourceAccount &account, eve::transaction::ITransactionParticipant &effect, eve::SimulationTick tick=eve::SimulationTick(1))
 Execute one weapon attack through the common Action lifecycle.
 
static eve::Result< action::ActionDefinition > makeDefinition (const WeaponDefinition &weapon, const AttackRequest &request)
 Build an action definition for one attack request.
 
static eve::Result< action::ActionRequest > makeRequest (const WeaponDefinition &weapon, const AttackRequest &attack, std::optional< ecs::EntityHandle > source=std::nullopt, eve::SimulationTick requestedTick=eve::SimulationTick::zero())
 Build a request carrying the original weapon attack parameters.
 

详细描述

Translates a WeaponDefinition/AttackRequest pair to Action values.

The adapter never moves or mirrors magazine, spread, recoil, muzzle or projectile fields into the common action definition. Those remain owned by WeaponEntity/WeaponDefinition and are interpreted by an injected Active executor. ActionRuntime remains the only phase/timer owner.

在文件 WeaponAction.h 第 29 行定义.

成员函数说明

◆ fire() [1/2]

eve::Result< eve::transaction::TransactionReceipt > eve::weapon::WeaponActionAdapter::fire ( const WeaponDefinition &  weapon,
const AttackRequest &  attack,
eve::resource::IResourceAccount &  account,
eve::transaction::ITransactionParticipant &  effect,
eve::SimulationTick  tick = eve::SimulationTick(1) 
)
static

Execute one weapon attack through the common Action lifecycle.

参数
weaponBorrowed weapon definition.
attackBorrowed attack parameters copied into the ActionRequest.
accountAuthoritative ammo/mana/charge account.
effectDomain participant for the actual projectile/hit operation.
tickDeterministic simulation tick at which the attack is applied.
返回
The Action-backed transaction receipt. Condition, action, payment and effect failures leave the account and effect unchanged.
备注
This is the preferred fire entry point. Callers do not need to call submit and then assemble a separate payment transaction.

在文件 WeaponAction.cpp 第 127 行定义.

引用了 account, effect , 以及 tick.

◆ fire() [2/2]

eve::Result< eve::transaction::TransactionReceipt > eve::weapon::WeaponActionAdapter::fire ( const WeaponDefinition &  weapon,
eve::resource::IResourceAccount &  account,
eve::transaction::ITransactionParticipant &  effect,
std::string  transactionId = {} 
)
static

Execute one already-built weapon effect and charge its resource atomically.

参数
weaponBorrowed definition supplying the trigger cost.
accountBorrowed authoritative account for ammo/mana/charges/stamina.
effectBorrowed transaction participant for the weapon effect.
transactionIdNon-empty correlation id; empty derives from weapon id.
返回
A committed transaction receipt or structured lifecycle failure.
备注
ActionRuntime remains the lifecycle owner for the regular action pipeline; this entry point is the synchronous effect boundary.

在文件 WeaponAction.cpp 第 120 行定义.

引用了 account , 以及 effect.

被这些函数引用 eve::weapon::WeaponControl::submitGameplay().

◆ makeDefinition()

eve::Result< action::ActionDefinition > eve::weapon::WeaponActionAdapter::makeDefinition ( const WeaponDefinition &  weapon,
const AttackRequest &  request 
)
static

Build an action definition for one attack request.

参数
weaponBorrowed weapon definition observed during this call only.
requestBorrowed attack request; target selection affects the mode.
返回
Common definition or a structured mapping failure.

在文件 WeaponAction.cpp 第 133 行定义.

引用了 active, eve::weapon::AttackStageSpec::activeTime, cost, eve::action::Explicit, eve::Result< T >::failure(), eve::weapon::WeaponDefinition::id, eve::weapon::WeaponDefinition::kind, eve::weapon::WeaponDefinition::logic, eve::action::None, eve::weapon::AttackStageSpec::recoverTime, request, resourceCost(), eve::weapon::WeaponDefinition::stages, status, eve::Result< T >::success(), valid , 以及 eve::weapon::AttackStageSpec::windupTime.

被这些函数引用 makeRequest().

◆ makeRequest()

eve::Result< action::ActionRequest > eve::weapon::WeaponActionAdapter::makeRequest ( const WeaponDefinition &  weapon,
const AttackRequest &  attack,
std::optional< ecs::EntityHandle >  source = std::nullopt,
eve::SimulationTick  requestedTick = eve::SimulationTick::zero() 
)
static

◆ resourceCost()

eve::Result< std::optional< eve::resource::CostSpec > > eve::weapon::WeaponActionAdapter::resourceCost ( const WeaponDefinition &  weapon)
static

Convert the weapon trigger resource into a canonical cost.

参数
weaponBorrowed weapon definition observed during this call.
返回
Empty for an infinite or resource-free weapon, otherwise a validated cost using the canonical resource id (ammo, mana, charges or stamina).

在文件 WeaponAction.cpp 第 69 行定义.

被这些函数引用 makeDefinition() , 以及 eve::weapon::WeaponControl::observeGameplay().


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