ClientScene

描述

包含静态客户端信息和功能的客户端管理器。

该管理器包含对跟踪的静态本地对象(如spawner注册)的引用。当它们自己没有注册时,它也具有客户端使用的默认消息处理程序。客户端连接设置为就绪后,管理器处理添加/删除玩家对象到游戏。

ClientScene是一个单例,它有静态的便利方法,例如ClientScene.Ready()

ClientSceneNetworkManager使用,但它本身可以使用。

由于ClientScene管理客户端上的玩家对象,因此客户端需要添加玩家。当设置了auto-add-players时,NetworkManager会自动通过ClientScene执行此操作,但可以使用函数ClientScene.AddPlayer()通过代码完成。这会向服务器发送一个AddPlayer消息,并会为该客户端创建一个玩家对象。

NetworkServer一样,ClientScene也理解本地客户端的概念。通过启动本地客户端(当服务器已经运行时),函数ClientScene.ConnectLocalServer()用于成为主机。

静态属性

属性说明
localPlayers添加到游戏中的列表的所有玩家。
objects这是一个已经在客户端产生的网络对象的字典。
prefabs这是使用ClientScene.RegisterPrefab()在客户端上注册的预制件的字典。
ready当客户端的连接已被设置为就绪时返回true
readyConnection当前“就绪”的NetworkConnection对象。这是与生成对象的服务器的连接。
reconnectId在旧主机丢失后客户端重新连接到新游戏主机时使用的reconnectId
ReconnectIdHost旧主机重新连接到新主机时使用的常量ID。
ReconnectIdInvalid无效的重新连接ID。
spawnableObjects这是场景中被禁用的NetworkIdentity对象的字典,可能来自服务器的消息。

静态方法

方法说明
AddPlayer这为该客户添加了一个玩家GameObject。这会导致将AddPlayer消息发送到服务器,并调用NetworkManager.OnServerAddPlayer。如果额外的消息被传递给了AddPlayer,那么OnServerAddPlayer将被包含消息内容的NetworkReader调用。
ClearSpawners这将清除该客户端的已注册spawn预制和spawn处理函数。
ConnectLocalServer创建本地客户端实例并将其连接到本地服务器。这使客户端成为“主机” - 在同一个进程中的客户端和服务器。
DestroyAllClientObjects销毁客户端上的所有联网对象。
FindLocalObject这将找到具有指定网络ID的本地NetworkIdentity对象。
Ready表示客户端连接已准备好进入游戏。
RegisterPrefab注册UNET生成系统的预制件。
RegisterSpawnHandler这是一种先进的生成功能,用UNET生成系统注册自定义assetId
RemovePlayer从游戏中移除指定的玩家ID。
SendReconnectMessage向主机迁移期间使用的新主机发送重新连接消息。
SetLocalObjectNetId是分配给游戏中具有NetworkIdentity组件的所有对象的唯一编号。
SetReconnectId设置主机迁移后重新连接到新主机时ClientScene将使用的Id
UnregisterPrefab删除用ClientScene.RegisterPrefab设置的注册spawn预制。
UnregisterSpawnHandler删除已注册的ClientScene.RegisterHandler()注册的spawn处理函数。

?