对数据模块的疑问

[复制链接]
765 |2
十二月雪景 发表于 2023-8-7 11:15:45 | 显示全部楼层 |阅读模式
(1)服务端保存数据的save(true)与save(false)大概什么时候用,有什么区别?

(2)数据模块的initDefaultData与onDataInit有什么区别?onDataInit的数据版本又是什么?有什么用
回复

使用道具 举报

空伊伊 发表于 2023-8-7 13:15:24 | 显示全部楼层
首先是第一个问题,先讲一下DataCenterS给客户端同步数据的机制:
DataCenterS会在数据进行“真存”的时候将数据同步给客户端。(真存:为了减少kv服务器的压力,在服务端做了数据缓存,每10秒会自动进行一次存储)。
所以save(true)的作用就是立即将服务端数据同步给客户端,而不是等到真存。相对应的,save(false)就是让服务端数据在真存的时候才进行同步。

然后第二个问题,initDefaultData是在没有存档的情况下才会调用。onDataInit不管有没有存档都会调用。

回复

使用道具 举报

浅巷 发表于 2023-8-7 13:17:31 | 显示全部楼层
第一个问题的话,
save(true)是需要将保存的数据同步给客户端的时候使用。
而save(false)则不会将保存的数据同步给客户端,也就是你在服务端做的改动不会被应用在客户端。
单端单人游戏的话可以使用save(false),但如果是双端多人游戏的就一定要用save(true)来将保存的数据同步给客户端的。
回复

使用道具 举报

72小时热榜
热门版块
快速回复 返回顶部 返回列表