24. 执行卡牌效果

目标

当我打出一张攻击牌并指向敌人的时候,敌人会扣血

代码

攻击牌指向敌人

当我在拖动牌指向敌人的时候,鼠标指向的地方会判断是否有东西,并且东西的标签是否是 Enemy,是的话就标记为可执行,以及目标角色

因为只有指向 Tag 为 Enemy 的对象才有效果,所以要给敌人添加名为 Enemy 的 Tag

卡牌执行效果

使用卡牌的时候,就会执行 ExecuteCardEffects 方法,然后会触发 discardCardEvent。然后遍历卡牌下面所有的效果,并依次执行这些效果

这个 DamageEffect 代码如下

它的父类 Effect 代码如下

EffectTargetType 是个枚举类,它的代码如下

因此当我把卡牌指向敌人并且松开的时候,就会输出一句话,然后卡牌会丢弃掉

CardDeck 接收 DiscardCardEvent

DiscardCard 是我们之前就写好的逻辑,只不过要把参数 Card 改为 object

需要注意的地方

因为我们的摄像机只投射到 Card 和 Character 这两层

所以卡牌的 Layer 需要设置为 Card,敌人和玩家的 Layer 需要设置为 Character

项目相关代码

代码仓库:https://gitee.com/nbda1121440/DreamOfTheKingdom.git

标签:20240305_2120

posted @ 2024-03-05 21:48  hellozjf  阅读(37)  评论(0编辑  收藏  举报