BUFF实体(PB) {{ currentPage ? currentPage.title : "" }}

Buff实体: PrimalBuff

  • 该BUFF为附加在玩家身上的Actor

  • 包含音效组件、Niagara组件与粒子发射器组件

  • 需要为角色添加CharacterStatusComponent与BuffComponent

  • BUFF到时间后会自动移除,但增益效果需要在RemoveBuff函数中移除

变量

说明

Duration

耐久,实为到期时间,剩余时间使用GetTimeRemaining获取

MaxDuration

最大耐久,该BUFF能够拥有的最大时间,用于限制防止恶意叠加

ElapsedTime

已增益时间

AttachmentSocket

附加的插槽(Mesh),用于特效系统

BuffIcon

BUFF图标,UI使用

Sound

音效,可为长时间的音效(燃烧)或一次性音效

NiagaraPS/ParticlePS

Niagara系统/粒子发射器系统 可同时使用

TimerInterval

Tick间隔时间,用于调用BuffTick

函数

说明

ModifyValue

调用CharacterStatusComponent->ModifyValue

用于BUFF增减血量等可变属性

ModifyAddation

调用CharacterStatusComponent->ModifyAddation

用于BUFF增减护甲等固定属性

GetTimeRemaining

获取BUFF剩余时间

Deactivate

销毁BUFF(慢速)

ResetTime

重置时间

MulticastDestroyBuff

多播移除BUFF,最后调用Deactivate

  • 具体BUFF效果请重载以下函数实现,否则将会只有特效与音效

重载函数

说明

AddBuffCheck

新增BUFF检查,新增BUFF会先请求该函数,所有BUFF中有一个BUFF返回false则不添加该BUFF,默认为检查到相同BUFF则重置时间

用法例子:

角色冰冻后解冻,一段时间不能再次被冰冻

新增一个禁止冰冻BUFF,在解冻时给角色增加该BUFF,

在该BUFF中重载AddBuffCheck,检查BuffClass是否为冰冻BUFF,如为冰冻BUFF则返回失败

RemoveBuff

移除BUFF,请将BUFF增益在此移除

ApplyBuff

增加BUFF,与BeginPlay类似,在此增加BUFF效果

BuffTick

与Tick类似,用于一定时间给角色回血等操作,间隔为TimerInterval

{{{ content }}}