我明白了MissingReferenceException,但这没有意义,因为我正在销毁 a GameObject,但我再也没有在代码中提及它。
控制台中的整个错误:
MissingReferenceException:“GameObject”类型的对象已被销毁,但您仍在尝试访问它。
Transform[] currentShips = shipParent.GetComponentsInChildren<Transform>();
if (currentShips.Length > 0)
{
foreach (Transform obj in currentShips)
{
Destroy(obj.gameObject);
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说没有意义,因为没有其他参考currentShips(当然也没有参考obj,因为它是本地的)。我也尝试检查声明currentShips != null中是否存在if,但没有改变。我猜这只是我忽略的一件简单的事情,但这就是这个网站的用途,对吧?
public static Dictionary<string, User> userList = new Dictionary<string, User>();
Run Code Online (Sandbox Code Playgroud)
这就是在另一个类中声明“userList”的方式。顺便说一句,该类的名称是与类型相同的“用户”,这可能会导致问题,但我不确定。我不知道如何诚实地完成这项工作。
这是完整的脚本:https : //pastebin.com/h56ukpgR 脚本中的某些内容尚无意义,因为我从另一个脚本中复制了一些内容。
但基本上我正在尝试检查静态字典中是否已经存在昵称,如果是,则通知用户并且不要做任何其他事情。