news 2026/4/20 6:19:26

Netcode for GameObjects Boss Room 多人RPG战斗(20)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Netcode for GameObjects Boss Room 多人RPG战斗(20)

ConcreteActions

1. 动作类型与分类

ConcreteActions目录包含了游戏中所有具体的动作实现,这些动作可以分为以下几类:

动作类型代表实现核心特点
物理攻击MeleeAction基于物理检测的近战攻击,需要碰撞检测
投射物攻击LaunchProjectileAction, ChargedLaunchProjectileAction生成物理投射物,有飞行轨迹和碰撞效果
范围攻击AOEAction基于指定位置和半径的区域攻击
移动与追逐ChaseAction, DashAttackAction控制角色移动和位置调整
状态变化StealthModeAction, ChargedShieldAction改变角色状态或提供持续效果
交互动作ReviveAction, PickUpAction, DropAction与其他角色或物体的交互
情绪与表达EmoteAction角色情绪表达或非战斗动作

2. 共同实现模式

所有具体动作都继承自Action基类,并遵循相似的实现模式:

2.1 动作生命周期管理

每个动作都实现了完整的生命周期方法:

// 动作启动publicoverrideboolOnStart(ServerCharacterserverCharacter){/* ... */}// 动作更新publicoverrideboolOnUpdate(ServerCharacterclientCharacter){/* ... */}// 动作重置publicoverridevoidReset(){/* ... */}// 动作取消publicoverridevoidCancel(ServerCharacterserverCharacter){/* ... */}// 客户端特定方法publicoverrideboolOnStartClient(ClientCharacterclientCharacter){/* ... */}publicoverrideboolOnUpdateClient(ClientCharacterclientCharacter){/* ... */}publicoverridevoidCancelClient(ClientCharacterclientCharacter){/* ... */}

2.2 执行时间控制

所有动作都使用TimeRunningTime.time - TimeStarted来控制执行时间:

if(TimeRunning>=Config.ExecTimeSeconds&&!m_ExecFired){// 执行动作核心逻辑m_ExecFired=true;PerformAction();}

2.3 状态管理

每个动作都维护自己的状态变量,如执行标志、目标引用等:

privateboolm_ExecFired;privateNetworkObjectm_Target;privateList<SpecialFXGraphic
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/19 5:11:52

21、邮件配置中的重写规则与特殊 m4 配置详解

邮件配置中的重写规则与特殊 m4 配置详解 1. 重写规则理解 重写规则在邮件处理中起着核心作用,它主要用于匹配输入地址并根据特定模式进行重写。下面通过几个测试来详细说明其工作原理。 1.1 模板键值测试 模板使用 @ 加上 $2 的值作为键。例如,当键为 @imaginary.c…

作者头像 李华
网站建设 2026/4/17 21:54:57

多线程相关面试题-线程安全相关问题-锁相关问题

问题 1&#xff1a;什么是进程&#xff1f;什么是线程&#xff1f;二者的核心区别是什么&#xff1f; 问题 2&#xff1a;Java 中创建线程的三种方式是什么&#xff1f;分别举例说明。问题 3&#xff1a;start () 方法和 run () 方法的区别是什么&#xff1f;问题 4&#xff1a…

作者头像 李华
网站建设 2026/4/19 14:56:48

在亚马逊云上解决RDS、MariaDB 与 Aurora MySQL复制延迟实战指南

在高吞吐量的数据库系统中&#xff0c;复制延迟&#xff08;Replica Lag&#xff09;一直是个棘手的难题。在 MySQL 生态圈内&#xff0c;传统的异步复制架构由于其单线程应用事务的性能瓶颈&#xff0c;严重限制了从库&#xff08;Replica&#xff09;的处理能力 (1)。特别是在…

作者头像 李华
网站建设 2026/4/19 13:33:00

Java八股文合集来了,彻底解决一线大厂面试难题

纵观今年的技术招聘市场&#xff0c; Java 依旧是当仁不让的霸主 &#xff01;即便遭受 Go 等新兴语言不断冲击&#xff0c;依旧岿然不动。究其原因&#xff1a; Java 有着极其成熟的生态&#xff0c;这个不用我多说&#xff1b;Java 在 运维、可观测性、可监 控性方面都有着非…

作者头像 李华
网站建设 2026/4/18 19:53:52

5个实用技巧:轻松在Vim中查看文件属性

5个实用技巧&#xff1a;轻松在Vim中查看文件属性 【免费下载链接】vim-galore :mortar_board: All things Vim! 项目地址: https://gitcode.com/gh_mirrors/vi/vim-galore 作为一名Vim用户&#xff0c;你是否曾经需要快速了解文件的修改时间、大小或权限信息&#xff1f…

作者头像 李华
网站建设 2026/4/17 21:59:16

Unity网络请求终极指南:RestClient快速上手与实战技巧

在Unity开发中&#xff0c;处理网络请求是每个开发者都会遇到的挑战。传统的UnityWebRequest虽然功能强大&#xff0c;但代码结构往往复杂冗长。RestClient for Unity应运而生&#xff0c;这款基于Promise的REST和HTTP客户端彻底改变了Unity异步编程的游戏规则&#xff0c;让HT…

作者头像 李华