如何从预制中获得int



我有一个商店的预制件。这个商店有一个计数整数,表示商店里有多少东西。但是这个预制件会用不同的int值填充许多商店。因此,商店1可以有3个商品,而商店2有40个商品,以此类推。我需要一种方法将所有这些添加起来,并在另一个脚本中使用它。我甚至不知道从哪里开始。答案是理想的,但如果不是朝着正确的方向推动,我们将不胜感激。提前谢谢。

int storeSum = 0;
foreach (YourScriptHere store in FindObjectsOfTypeAll(typeof(YourScriptHere)) as YourScriptHere[])
{
storeSum += store.theValueHere;
}

用要查找的脚本的类名填充YourScriptHere。它将抓取场景中预制件的所有引用,然后添加您设置的值。将theValueHere替换为您设置的任何整数字段。如果你想把编辑器对象加起来,那是一种不同的方法,如果是这样的话,我可以编辑答案。

另一种方法是拥有一个管理器,该管理器具有对每个对象的所有引用,因此不需要调用FindObjectsOfTypeAll。如果这些值在运行时发生更改,并且您希望重新计算它,我会在检查器中分配引用或存储引用。如果这些对象中的一些被销毁或实例化了新对象,我会考虑在存储引用时使用HashSet

相关内容

  • 没有找到相关文章

最新更新