城市天际线修改删除所有树木

时间:2015-08-16 17:17:52

标签: c# unity3d cities-skylines-api

我不知道该怎么做。

clear
set more off

input ///
ID    X1  X2   X3   X4  
1    .    1    1    2      
2    .    2    2    3      
3    .    3    1    .     
4    1    .    3    1     
5    .    2    4    3     
6    2    3    .    .   
end

list, sep(0)

npresent, min(3)
keep `r(varlist)'

describe

或者

foreach (uint tree in treesToDelete.m_trees)
{
    ?????
}

不知道如何完成第一个,当我使用第二个时,我会收到这些错误。

访问非静态成员TreeManager.m_treeCount需要对象引用 无法将带有[]的索引应用于Array32类型的表达式 TreeManager.ReleaseTree(uint)的最佳重载方法匹配有一些无效的参数

1 个答案:

答案 0 :(得分:1)

感谢您提供错误。 你在那里得到两个错误:

  

访问非静态成员需要对象引用   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&#39;的表达式该   最好的重载方法匹配`TreeManager.ReleaseTree(uint)&#39;具有   一些无效的论点

我认为它与TreeManager未初始化的事实相关联,请参见此处:Error 1 Cannot apply indexing with [] to an expression of type 'int'

以下是API的一个很好的文档:https://github.com/cities-skylines/Assembly-CSharp/wiki/TreeManager