本文主要是介绍Scene与Entity,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
SceneMgrServer:场景管理服务器,管理所有的SceneServer以及其上的SceneEntity。
SceneServer:场景服务器,承载若干场景类型的Entity,即SceneEntity,每个SceneEntity代表一个场景,可能是世界地图也可能是副本地图。
进入世界地图:
1.SceneMgrServer获取该角色上次下线时的mapId和位置,根据mapId从所有SceneServer中获取指定mapId的SceneEntity,向该SceneEntity发送RPC告知角色将要进入地图,以及角色的位置。
2.SceneMgrServer收到该SceneEntity的CouldJoin后,在该SceneEntity上创建角色Entity,服务器正式进入地图。
3.SceneEntity通知客户端加载新地图,客户端正式进入地图。
4.角色下线时保存mapId和位置。
进入副本地图:
1.SceneMgrServer会选择某个SceneServer,在其上动态创建SceneEntity
2.该SceneEntity加载地图,并通知SceneMgrServer加载完成,即SceneReady
3.SceneMgrServer向该SceneEntity发送RPC,告知角色的位置
4.SceneMgrServer收到该SceneEntity的CouldJoin后,在该SceneEntity上创建角色Entity,服务器正式进入地图。
5.SceneEntity通知客户端加载新地图,客户端正式进入地图。
这篇关于Scene与Entity的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!