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 返回后,便可以投入使用。