【发布时间】:2022-08-07 17:23:27
【问题描述】:
我在 Unity C# 中有以下代码。我收到以下两个错误
类型 \'Notification\' 必须是不可为空的值类型,才能将其用作泛型类型或方法 \'NetworkServer.SendToAll(T, int, bool)\' 中的参数 \'T\'
参数 1:无法从 \'method group\' 转换为 \'Action\'
消息测试.cs
using Mirror;
using TMPro;
using UnityEngine;
namespace DapperDino.Mirror.Tutorials.NetworkMessages
{
public struct Notification : NetworkMessage
{
public string content;
}
public class MessagesTest : MonoBehaviour
{
[SerializeField] private TMP_Text notificationsText = null;
private void Start()
{
if (!NetworkClient.active) { return; }
NetworkClient.RegisterHandler<Notification>(OnNotification);
}
private void OnNotification(NetworkConnection conn, Notification msg)
{
notificationsText.text += $\"\\n{msg.content}\";
}
}
}
我不认为我应该将通知声明为类型结构,但即使将其保留为类也不会产生可在 Unity 3D 中运行的代码。知道我将如何解决这个问题吗?
谢谢