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 @   hellozjf  阅读(49)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
点击右上角即可分享
微信分享提示