NetWork组件
NetworkBehaviour
基类,应该由包含网络功能的脚本继承。
这是一个单行为类,因此需要使用网络特性的脚本应该继承这个类而不是单行为。它允许您调用网络操作,接收各种回调,并从服务器到客户机自动同步状态。
网络行为组件需要在游戏对象上建立一个NetworkIdentity。在单个游戏对象上可以有多个网络行为。对于具有层次结构中的子组件的对象,NetworkIdentity必须位于根对象上,而网络行为脚本也必须位于根对象上。
网络系统的一些内置组件来自网络行为,包括NetworkTransport、NetworkAnimator和NetworkProximityChecker。
属性:
1. connectionToClient:与这个NetworkIdentity关联的网络连接。这只对服务器上的代表对象有效。
2. connectionToServer:与这个NetworkIdentity关联的网络连接。这只对服务器上的代表对象有效。
3. isClient:如果作为客户端运行,则返回true,此对象由服务器生成。
4. isLocalPlayer:如果该对象是表示本地机器上的代表的对象,则返回true。
5. isServer:如果该对象在活动服务器上活动,则返回true。
6. netId:该对象的唯一网络Id。
7. playerControllerId:与行为相关的播放器的id。
8. localPlayerAuthority:这个值设置在NetworkIdentity上,可以在这里方便地访问脚本。
公共方法:
1. GetNetworkSendInterval:此虚拟函数用于指定用于此脚本的SyncVar更新的发送间隔
2. InvokeCommand:手动调用命令。
3. InvokeSyncEvent:手动调用SyncEvent。
4. OnCheckObserver:由可见系统使用的回调,以确定一个观察者(玩家)是否可以看到这个对象。
5. OnDeserialize:虚拟函数覆盖以接收自定义的序列化数据。发送序列化数据的相应函数是OnSerialize()。
6. OnSerialize:虚函数覆盖以发送自定义序列化数据。发送序列化数据的相应函数是OnDeserialize()。
7. OnNetworkDestroy:当服务器导致该对象被销毁时,就会调用该对象。
8. OnStartAuthority:这是权威上调用行为,基于上下文和NetworkIdentity.localPlayerAuthority。
9. OnStopAuthority:当权限被移除时,这将被调用。
10. OnStartClient:在客户端激活时调用每个网络行为。
11. OnStartLocalPlayer:建立本地player对象时调用。
12. OnStartServer:当网络行为对象在服务器上变得活跃时,就会调用它。