我正在更改具有以下功能的CarController脚本
public void Move(float steering, float accel, float footbrake, float handbrake) {
if (this.tag == "Player")
{
Server.commands.ElementAt(0); //Does not work, it does not find Server
}
//More code here
}
我的Server类中的命令列表为public static
public class Server : MonoBehaviour {
public Text text;
private IPAddress ip;
public static List<String> commands = new List<String>();
//More code here
}
如何访问CarController脚本上的命令List?
两个文件都在不同的目录中,我无法将它们移动到同一目录。它们也位于不同的命名空间。
答案 0 :(得分:0)
WhateverNamespaceTheServerClassIsIn.Server.commands
您放入脚本的目录对代码没有影响(编辑器和插件等特殊文件夹除外)。
答案 1 :(得分:0)
您可以通过添加命名空间来获取Server类,因为上面的答案建议像这样
using YourServerNameSpace;
或者您可以直接通过serverNameSpace获取Server类。
YourServerNameSpace. Server.commands
但是您的代码中的实际问题是, ElementAt 在List中不存在,因为建议的错误。
Error 7 'System.Collections.Generic.List<string>' does not contain a
definition for 'ElementAt' and no extension method 'ElementAt' accepting a
first argument of type 'System.Collections.Generic.List<string>' could be found (are you missing a using directive or an assembly reference?)
因此,要解决此错误,您必须添加
using System.Linq;
答案 2 :(得分:0)
我通过将所有文件放在另一个目录中来修复它。