跳到主要内容

D07-新天赋使用指南

重做了天赋系统,和旧天赋会有大厅模块打开时的冲突,因此用了旧天赋系统的游戏如果需要使用新天赋,需要把旧天赋删除

提供了更方便的配置,与更强大的功能

启用天赋,天赋固定配置

引用天赋库后,相关固定配置如下,并在数编类型中勾选显示以下三种类型:

“复数前置节点与关系”:勾选为true后,一个节点要满足所有父节点都点亮,才可以点亮;默认为false,即只要有一个父节点点亮,就可以点亮。

“天赋页列表”:天赋主体内容配置在这里,显示会按此列表显示。

“是否自定义界面”:勾选后会不使用上图的预制界面,可以自定义界面的高级用法,后续会详解。使用自定义界面不需要配置UI相关内容。

“是否可降级”:客户端配置,仅在预制界面中生效,是否显示降级按钮。不论是否可降级,服务端都是可以接受降级操作的。

注意:四个子表的名称都不要改变,如果改变,在右侧属性列表里右键重置

如何激活天赋

天赋必须对每个单位手动激活/取消激活,包括开局有默认主控,或者切换主控后,都需要重新生效天赋

游戏局内进行天赋相关的改动后也需要重新激活,才会生效天赋

可以对任意单位进行生效,包括敌方单位,实现类似敌方出场附带一个debuff的效果

需要注意的是,天赋的本质是用buff实现的,包括叠加/刷新机制,都与buff相同,在激活/取消激活的同事,相当于执行了【为单位添加buff】语句

不同玩家之间的天赋的生效,也是取决于buff的叠加

游戏局内重新改变天赋后,需要先取消激活,再重新激活,否则会有叠加生效的问题

激活/取消激活本身比较耗时,如果有游戏内改变天赋的需求,最好一次性改完之后统一操作激活/取消激活,不要每点一下都激活一次

新建一个天赋页

新建一个天赋页蓝图,并在上面的配置中的天赋页列表里添加,顺序为固定的显示顺序

同时新建一个天赋页UI蓝图,用作预制界面显示内容的配置,并在对应天赋页蓝图中配入关联UI配置

天赋页UI中的顶部资源条为显示在顶部的局外资源,暂只支持货币类型资源的显示

下一级子天赋节点表示初始可点的根节点

天赋页节点可以配置验证器,对生效单位进行判断,并决定是否通过,不通过则不生效该天赋页所有天赋

先新建一个天赋内容

在连接天赋节点之前,先配置好每个天赋的内容

天赋名 天赋图标 天赋描述 三个属性都是显示相关的属性

天赋等级配置,可以配置若干等级,表示单个天赋节点可以升级,每级需要单独配置价格,可以是复数个价格

buff节点为实际生效在单位身上的buff

等级效果是否叠加生效:如果勾选,2级天赋会同时附加天赋等级配置中1级和2级的效果,否则只生效2级,更高等级同理

不过建议少用,buff数量多了对性能还是有影响的

并且注意,这里如果要在游戏局内进行天赋升级,如果不先取消激活,会导致1级buff没有清除,再叠加2级buff,或者是可叠加的buff多叠加一层,所以在游戏内改动天赋后,需要先取消激活

天赋内容节点也可以配置验证器,进行具体生效单位的筛选,但是如果有整页天赋,比方说区分职业,一页是战士系天赋,一页是法师系天赋,要在天赋页中的验证器配置,大幅节约性能

新建一个天赋节点

下图分别是天赋节点和天赋UI节点,天赋节点只需要表示天赋节点之间的父子关系,可以有回路;天赋UI节点仅在使用预制界面时需要配置,不允许有回路,并且需要天赋节点同时满足严格的配置规则

服务端验证天赋是否可点时,只进行父节点的判断和消耗资源的判断

天赋配置为上一节中配置的天赋内容

这里不同天赋节点使用了相同的仅作展示,实际服务器中存储的配置信息为天赋节点的link,以及等级等信息,因此不同天赋节点如果配置相同的天赋内容,是会重复生效的

但是,这里的重复生效仅指天赋会重复生效,实际天赋中的buff还是取决于buff自己的叠加规则!比如这里天赋节点1和天赋节点2的天赋配置都是天赋1,实际玩家也都点了天赋节点1和天赋节点2,激活天赋的时候会重复生效两次天赋1的效果,但是在第二次生效天赋1效果的时候,由于天赋1的buff已经加在单位身上了,如果buff是不可叠加的,则实际想要生效的天赋节点2的属性不会生效。如果有需要重复使用的天赋内容配置,需要注意一下这个情况。

UI配置中,参考第一张图,上侧子天赋节点为同级上面的子节点,下一级子天赋节点为右侧的若干个子节点,下侧子天赋节点为同级下面子节点

!!!亟需注意的是,天赋UI节点和天赋节点没有配置上的严格对应,需要从根节点开始保证,每一个节点的子节点数量是相同的,即天赋节点中的子天赋节点==天赋UI节点中的上侧子节点数量+下一级子节点数量+下侧子节点数量,并且顺序也需要严格保证,第一张图中的配置参考如下

打开天赋界面

天赋系统本身支持大厅装备局打开,后台配置显示就行

游戏内需要打开界面的话,界面编辑器-组件库里找到天赋按钮,拖入界面即可

如果需要使用下文的高级用法,不可以使用这个天赋按钮,需要自己创建按钮,然后在点击事件里执行打开天赋界面的出发语句

新天赋高级用法

上文提到了支持完全自定义界面的高级用法,首先需要找到配置中的“是否自定义界面”,并打开,然后找到界面编辑器中的custom_aptitude_page,并且不要改动这个页面的名字

这里我们先随便画点什么

然后就可以看到游戏内的打开界面就已经变成了这个自定义界面

首先需要添加关闭按钮,并添加点击事件关闭界面,注意这里如果需要在大厅模块的装备局中使用天赋系统,必须要用天赋系统提供的触发语句-“关闭天赋界面” 关闭界面,否则会导致装备局无法返回大厅。

天赋数据更新

客户端

天赋内置了这样一个事件,并且转发到客户端,天赋信息是一个以【天赋节点link】为key,【天赋信息对象】为value的简单表,具体天赋信息对象的内容可以用触发里的面向对象方法查看,后续也有扩展的可能

天赋进行任意操作,包括升级,降级,查询之后,都会自动触发一次这个事件

客户端可以发起三个请求,升级,降级,查询

然后这里简单给一个例子,不唯一,仅供参考

先将界面里每一个对应一个天赋节点的控件的名字改成和天赋节点的link相同的名字

先给每个控件添加点击事件和长按事件,分别对应发起升级请求,发起降级请求(长按事件需要勾选显示高级属性)

然后再监听天赋更新事件,对更新的数据进行解析,并通过link更新同名控件

上文提到打开自定义界面需要使用触发语句,因为自带的按钮打开界面后并不会进行初始化的更新,需要手动加入操作,样例如下:

然后再次打开就直接能看到刷新过的数据了

服务端

如果对自带的客户端的三个请求还不满足,可以自定义事件,自己进行客户端与服务端之间消息同步

服务端对应的查询/升级/降级操作如下,执行完后不会触发事件[aptitude_info_update],需要自己手动发送,或者自己实现其他事件,并结合客户端进行更新

获取玩家的天赋信息

获取到信息之后可以干点事

对玩家具体某一个天赋进行升级/降级操作

这里的id是数编 天赋节点的link,可以在蓝图的节点上复制后粘贴出来

操作成功之后可以干点事