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

武器逻辑接口:注册到 WeaponSystem 的可插拔行为。 更多...

#include <WeaponLogic.h>

Public 成员函数

virtual ~IWeaponLogic ()=default
 Releases IWeaponLogic resources.
 
virtual const char * name () const =0
 稳定名字("hitscan" / "projectile" / "melee" / 自定义名)。
 
virtual bool canFire (const WeaponEntity &w) const =0
 逻辑自身的触发条件(资源/冷却/阶段由 WeaponSystem 统一检查)。
 
virtual void fire (WeaponEntity &w, const AttackRequest &req)=0
 执行攻击效果:生成投射物 / 命中判定等。资源已由系统扣除。
 
virtual void update (WeaponEntity &w, float dt)=0
 每帧推进逻辑自身状态。
 
virtual void begin (WeaponEntity &w, const AttackRequest &req)
 阶段机进入 Windup 时调用(默认空实现)。
 
virtual void channel (WeaponEntity &w, const AttackRequest &req, float dt)
 阶段机处于 Active 时逐帧调用(引导/制导)(默认空实现)。
 
virtual void end (WeaponEntity &w, const AttackRequest &req)
 阶段机进入 Recover 时调用(默认空实现)。
 

详细描述

武器逻辑接口:注册到 WeaponSystem 的可插拔行为。

在文件 WeaponLogic.h 第 22 行定义.

构造及析构函数说明

◆ ~IWeaponLogic()

virtual eve::weapon::IWeaponLogic::~IWeaponLogic ( )
virtualdefault

Releases IWeaponLogic resources.

成员函数说明

◆ begin()

virtual void eve::weapon::IWeaponLogic::begin ( WeaponEntity &  w,
const AttackRequest &  req 
)
inlinevirtual

阶段机进入 Windup 时调用(默认空实现)。

在文件 WeaponLogic.h 第 47 行定义.

引用了 w.

◆ canFire()

virtual bool eve::weapon::IWeaponLogic::canFire ( const WeaponEntity &  w) const
pure virtual

逻辑自身的触发条件(资源/冷却/阶段由 WeaponSystem 统一检查)。

◆ channel()

virtual void eve::weapon::IWeaponLogic::channel ( WeaponEntity &  w,
const AttackRequest &  req,
float  dt 
)
inlinevirtual

阶段机处于 Active 时逐帧调用(引导/制导)(默认空实现)。

在文件 WeaponLogic.h 第 50 行定义.

引用了 w.

◆ end()

virtual void eve::weapon::IWeaponLogic::end ( WeaponEntity &  w,
const AttackRequest &  req 
)
inlinevirtual

阶段机进入 Recover 时调用(默认空实现)。

在文件 WeaponLogic.h 第 53 行定义.

引用了 w.

被这些函数引用 eve::weapon::WeaponSystem::findLogic().

◆ fire()

virtual void eve::weapon::IWeaponLogic::fire ( WeaponEntity &  w,
const AttackRequest &  req 
)
pure virtual

执行攻击效果:生成投射物 / 命中判定等。资源已由系统扣除。

◆ name()

virtual const char * eve::weapon::IWeaponLogic::name ( ) const
pure virtual

稳定名字("hitscan" / "projectile" / "melee" / 自定义名)。

返回
Borrowed non-null pointer to immutable provider-owned/static text. @ownership The logic implementation owns the storage; callers must not free it. @lifetime Valid while the implementation is registered; copy it if retaining it. @thread Query on the weapon registry thread unless the implementation documents otherwise. @reentrancy Must not invoke callbacks or mutate the registry.

被这些函数引用 eve::weapon::WeaponSystem::registerLogic().

◆ update()

virtual void eve::weapon::IWeaponLogic::update ( WeaponEntity &  w,
float  dt 
)
pure virtual

每帧推进逻辑自身状态。


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