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
扫描二维码关注公众号,回复:
8577250 查看本文章
3.SceneMgrServer向该SceneEntity发送RPC,告知角色的位置
4.SceneMgrServer收到该SceneEntity的CouldJoin后,在该SceneEntity上创建角色Entity,服务器正式进入地图。
5.SceneEntity通知客户端加载新地图,客户端正式进入地图。