P18~19~20~21-NPC、道具、背包、装备系统

文章详细阐述了游戏开发中基础系统构建的过程,包括从创建配置表、生成协议到服务端和客户端的数据同步,特别讨论了NPC的分类和触发事件、道具系统、背包系统、商店系统的设计,以及Unity中的交互组件>Selectable的使用。同时强调了消息分发的重要性以及实例化和初始化阶段的关键步骤。
摘要由CSDN通过智能技术生成

基础系统生成过程:

构建文本文件配置表标明数据类型值或字段——>生成协议——>根据配置表字段名一一>对应加载至服务端中——>在消息分发器中添加对应的协议——>利用EF插件将模型生成数据库——>将消息发送给客户端——>在客户端的数据管理器中增加读取项加载配置表——>在客户端为UI管理器(负责复杂逻辑)添加对应的文件路径加载逻辑——>在客户端中建立系统服务添加消息分发(负责客户端与服务端的消息接受与发送)——>在客户端中对UI主场景实例化——>在服务端中为增加的字段进行初始化使服务器中的装备数据随着登陆下发到客户端——>在服务端中进行与客户端相同的步骤

tips1:NPC的分类:

通常可分为固定任务NPC和活动任务NPC,这两类NPC可细化为功能NPC,功能包括打开商店、仓库、副本、工会等。

基础npc事件的触发相应问题:unityAPI中明确提供了NPC点击触发事件的方法:根据unityAPI必须在对象上添加碰撞器(Box Collider)才可以触发该鼠标点击事件

tips2:道具系统:

包括基本的增删道具以及道具使用和获取道具列表,其中增加道具涉及购买道具、道具掉落、道具合成;删除道具涉及使用和出售;使用道具涉及道具效果:例如增加属性、BUFF、装备、金钱、经验值、以及技能点数。而在获取道具列表中应与背包系统进行交互。

核心逻辑:通过字典来维护所有角色身上的道具。

tips3:背包系统:

背包作用一般含有查看/管理道具的功能例如分页与整理功能。以及包含道具交互的功能例如道具拾取、道具使用、道具丢弃功能等。

                                                                        背包系统框架构建

tip4:商店系统(与背包系统类似)

新增了消息状态的判断协议

消息尚未收到可能的原因:协议编写完毕的情况下,消息分发器(MessageDistributer)内部的分发函数(MessageDispatch)没有加入对应消息的处理;以及Service本身没有进行初始化因此收不到消息。

NPC与商店系统的交互、商店购买流程和道具系统的交互、金币修改的交互、新增的状态系统的交互

tips5:关于Unity的Selectable组件

可通过ISelectHandler接口生成OnSelect方法直接对UI界面进行点击事件的检测与交互。

注意同一块UI区域内应仅存在一个canvas组件以避免点击等交互事件被阻挡造成无响应等情况。

tips6:基础系统实例化生成注意点

客户端方面:再完成消息分发与注册监听以及数据库生成更新生成后,客户端应先在用户服务(UserSercive)中初始化角色回复的信息,之后若涉及到UI界面的点击使用则应在UI主界面(UIMain)中加入对应的点击事件,之后在UI管理器(UIManager)中添加预制体实例化。注意在加载管理器(LoadingManager)中添加公会初始化(负责初始化客户端的消息服务)。

在预制体构建完毕后,应对对应预制体的UI进行编写用于调用管理器(Manager)和服务(Service)的方法其中预制体对应Service负责消息监听和销毁

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值