英文原文:
https://mirror-networking.gitbook.io/docs/guides/communications/networkmanager-callbacks
在多人游戏的正常运行过程中可能会发生许多事件,例如主机启动、玩家加入或玩家离开。这些可能的事件中的每一个都有一个关联的回调,您可以在自己的代码中实现该回调,以便在事件发生时采取行动。
要为 NetworkManager 执行此操作,您需要创建自己的脚本,该脚本继承自 NetworkManager。然后,您可以使用您自己的实现来覆盖 NetworkManager 上的虚拟方法,以实现给定事件发生时应该发生的情况。
此页面列出了您可以在 NetworkManager 上实现的所有虚拟方法(回调)以及它们发生的时间。发生的回调以及它们发生的顺序会根据您的游戏运行的模式而略有不同,因此下面分别列出了每种模式的回调。
游戏可以以三种模式之一运行,主机、客户端或仅服务器。下面列出了每种模式的回调:
Host 模式:
Host启动时:
- OnStartServer
- OnStartHost
- OnServerConnect
- OnStartClient
- OnClientConnect
- OnServerSceneChanged
- OnServerReady
- OnServerAddPlayer
- OnClientChangeScene
- OnClientSceneChanged
当客户端连接时:
- OnServerConnect
- OnServerReady
- OnServerAddPlayer
当客户端断开连接时:
- OnServerDisconnect
当Host停止时:
- OnStopHost
- OnServerDisconnect
- OnStopClient
- OnStopServer
客户端模式
客户端启动时:
- OnStartClient
- OnClientConnect
- OnClientChangeScene
- OnClientSceneChanged
当客户端停止时:
- OnStopClient
- OnClientDisconnect
服务器模式
服务器启动时:
- OnStartServer
- OnServerSceneChanged
当客户端连接时:
- OnServerConnect
- OnServerReady
- OnServerAddPlayer
当客户端断开连接时:
- OnServerDisconnect
服务器停止时:
- OnStopServer