TMsg 网络消息的类型,必须派生自 MessageBase。
ReadMessage 用于从 NetworkMessage 对象的 NetworkReader 中提取输入的网络消息。
例如,在 AddPlayer 消息的处理程序中:
using UnityEngine; using UnityEngine.Networking; using UnityEngine.Networking.NetworkSystem;
public class MyManager : NetworkManager { void OnServerAddPlayerMessageInternal(NetworkMessage netMsg) { var msg = netMsg.ReadMessage<AddPlayerMessage>(); OnServerAddPlayer(netMsg.conn, msg.playerControllerId); } }
创建的 AddPlayerMessage 将通过调用 DeSerialize() 来填充。因此,它从 ReadMessage 返回后,便可以投入使用。