Unity3D自学笔记——星际2技能系统分析(四)Ability(Behavior)

Ability(Behavior) 套用行为的技能

Ability除了可以直接调用Effect,也可以直接调用Behavior

CAbilBehavior

属性

这里写图片描述

BehaviorArray : 从施法者身上添加或移除技能
CycleMode:假如当前技能等级有多个行为,这一设置会控制该技能循环行为的方案

XML定义

<CAbilBehavior default="1">
    <CmdButtonArray index="On">
        <Flags index="ShowInGlossary" value="1"/>
    </CmdButtonArray>
</CAbilBehavior>

实体类

人族地堡回收
这里写图片描述
执行技能后,会出现一个进度条
这里写图片描述
进度条完成后,地堡回播放爆炸动画,并且返还Cost

技能 SalvageBunker
先看XML,属性设置比较少,但是多了一个parent字段。

<CAbilBehavior id="SalvageBunker" parent="Salvage">
    <Name value="Abil/Name/SalvageBunker"/>
</CAbilBehavior>

模组里子挂载了一个验证器,验证地堡里是否有货物
这里写图片描述
当有机枪兵在地堡里,执行回收会收到Alert
这里写图片描述

parent字段在SalvageBunker技能里进行了调用,表示CmdOn的CButton调用’Salvage’的CmdOn
这里写图片描述

然后它的BehaviorArray里有个##id##,找到同ID的Behavior,是个Buff类的Behavior

行为 SalvageBunker

<CBehaviorBuff id="SalvageBunker" parent="Salvage">
    <Name value="Behavior/Name/SalvageBunker"/>
</CBehaviorBuff>

再看它的详细属性设置
这里写图片描述

Duration:持续时间
ExpireEffect:如果该行为持续了整个时间则会发生效果

意思是地堡回收行为持续了5秒没有被中断则会执行”SalvageBunker”的效果

再看SalvageBunker效果

效果 SalvageBunker

<CEffectIssueOrder id="SalvageBunker" parent="Salvage"/>

这个效果又执行了##id##Refund的技能即SalvageBunkerRefund技能
这里写图片描述

技能 SalvageBunkerRefund

<CAbilEffectInstant id="SalvageBunkerRefund">
    <OrderArray index="0" Model="Assets\UI\Cursors\WayPointAttack_Void\WayPointAttack_Void.m3"/>
</CAbilEffectInstant>

SalvageBunkerRefund 是个立即执行效果的技能

这里写图片描述
它执行的效果是SalvageDeath

CAbilEffectInstant有个属性是Cost,表示执行该效果所需要的花费,
这里是回收,所以花费为负数。
这里写图片描述
返还75的水晶矿。

效果 SalvageDeath

伤害效果

<CEffectDamage id="SalvageDeath">
    <EditorCategories value="Race:Terran"/>
    <ImpactLocation Value="SourceUnit"/>
    <!--执行该效果让目标直接死亡-->
    <Flags index="Kill" value="1"/>
    <!--角色死亡播放的动画类型-->
    <Death value="Salvage"/>
</CEffectDamage>

执行到这里,地堡已经爆炸了
这里写图片描述

地堡回收的逻辑顺序
这里写图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值