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

扫描二维码关注公众号,回复: 8577250 查看本文章

3.SceneMgrServer向该SceneEntity发送RPC,告知角色的位置

4.SceneMgrServer收到该SceneEntity的CouldJoin后,在该SceneEntity上创建角色Entity,服务器正式进入地图。

5.SceneEntity通知客户端加载新地图,客户端正式进入地图。

发布了58 篇原创文章 · 获赞 29 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/taoqilin/article/details/97958101