【问题标题】:Cities Skylines Modding Remove all trees城市天际线改装移除所有树木
【发布时间】:2015-08-16 17:17:52
【问题描述】:

我不知道该怎么做。

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) 的最佳重载方法匹配有一些无效参数

【问题讨论】:

  • 你遇到了什么错误?
  • 拜托,我很烂,我知道第二部分的所有三行都是错误的,我只是想表明我试过了。已编辑错误...
  • 要获得使用一些不为人知的 api 的帮助,发布指向该 api 文档的链接会很有帮助。

标签: c# unity3d cities-skylines-api


【解决方案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' 的表达式 `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

【讨论】:

  • 是的......不......不是这样,
  • 没有,我正在尝试制作炸弹工具。我会停下来。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多