我不知道该怎么做。
foreach (uint tree in treesToDelete.m_trees)
{
?????
}或
for (int i = 0; i < TreeManager.m_treeCount; i++)
{
var tree = TreeManager.instance.m_trees[i];
TreeManager.instance.ReleaseTree(tree);
}我不知道如何完成第一个,当我使用第二个时,我得到了这些错误。
需要对象引用才能访问非静态成员TreeManager.m_treeCount不能对类型为Array32的表达式应用带[]的索引TreeManager.ReleaseTree(uint)的最佳重载方法匹配具有一些无效参数
发布于 2015-08-17 01:33:30
感谢您给我们这个错误。在那里你会得到两个错误:
要访问非静态成员TreeManager.m_treeCount,需要对象引用
您需要初始化TreeManager类。An object reference is required to access non-static member
var treeManager = new TreeManager();
我不确定这是否需要构造函数参数。但这应该会有所帮助。
然后,您可以像这样访问它:
var treeManager = new TreeManager();
for (int i = 0; i < treeManager.m_treeCount; i++)
{
var tree = treeManager.instance.m_trees[i];
treeManager.instance.ReleaseTree(tree);
}你的第二个错误:
无法将带[]的索引应用于typeArray32的表达式“`TreeManager.ReleaseTree(Uint)的最佳重载方法匹配”具有一些无效参数
我认为这与TreeManager没有初始化的事实有关,请看这里:Error 1 Cannot apply indexing with [] to an expression of type 'int'
这里有一个很好的API文档:https://github.com/cities-skylines/Assembly-CSharp/wiki/TreeManager
https://stackoverflow.com/questions/32037870
复制相似问题