该OnPlayerConnected
函数甚至不是 UNet API 的一部分。它是 Unity 遗留网络 API 的一部分。这是应该如何使用的:
public class MultiPlayerOyunKontrol : MonoBehaviour
{
void OnPlayerConnected(NetworkPlayer player)
{
Debug.Log("Player baglandi"+this.transform.name);
}
}
不是
public class MultiPlayerOyunKontrol : NetworkBehaviour
{
void OnPlayerConnected(NetworkPlayer player)
{
Debug.Log("Player baglandi"+this.transform.name);
}
}
基本上,OnPlayerConnected
没有任何关系,NetworkBehaviour
因此除非您使用旧的 Unity 网络 API,否则它不会起作用。
以下是查看客户端何时与 UNet 连接或断开连接的正确方法:
void Start()
{
NetworkServer.Listen(9000);
NetworkServer.RegisterHandler(MsgType.Connect, OnConnected);
NetworkServer.RegisterHandler(MsgType.Disconnect, OnDisconnected);
NetworkServer.RegisterHandler(MsgType.Error, OnError);
}
public void OnConnected(NetworkMessage netMsg)
{
Debug.Log("Client Connected");
}
public void OnDisconnected(NetworkMessage netMsg)
{
Debug.Log("Disconnected");
}
public void OnError(NetworkMessage netMsg)
{
Debug.Log("Error while connecting");
}