主机数据对象设置为空引用 Unity3D?

Host Data Object set to Null Reference Unity3D?

我正在编写一款多人游戏。并检查 OnGUI() 是否有任何 hostData 做某事。

if (hostData)
{
   for (int i = 0; i < hostData.Length; i++)
   {
       GUI.Button (new Rect (btnX * 2f + btnW, btnY * 1.2f + (btnH * i), btnW * 3f, btnH * 0.5f), hostData [i].gameName);
   }
}

但是我已经在单击按钮时填充了主机数据,而另一方面 OnGUI 总是在寻找 if(hostData),这就是它给出 Null 引用的原因。

除此之外,我如何检查此 if 语句。帮帮我。

if (hostData) 仅在 hostData 是游戏对象或组件时有效。这是因为 Unity 实现了 implicit operator.

换句话说,if (gameObject)if (gameObject != null) 的快捷方式。

当您使用游戏对象或组件以外的东西(例如数组或列表)时,这将不起作用。在这种情况下,您必须使用 != null.