【发布时间】:2019-08-15 06:04:46
【问题描述】:
我的班级有以下功能:
public void RenderStylePrefabs()
{
foreach (Renderer renderer in gameObject.GetComponentsInChildren<Renderer>())
{
if (gameObject.GetComponent<AvatarStyle>().prefabs.ContainsValue(renderer.name))
{
renderer.enabled = true;
}
}
}
public void UnrenderAllPrefabs()
{
foreach (Renderer renderer in gameObject.GetComponentsInChildren<Renderer>())
{
renderer.enabled = false;
}
}
注意它们是如何使用相同的 foreach 循环的。
我怎样才能把它变成这样的东西:
public void RenderStylePrefabs()
{
RenderLoop({
if (gameObject.GetComponent<AvatarStyle>().prefabs.ContainsValue(renderer.name))
{
renderer.enabled = true;
}
});
}
public void UnrenderAllPrefabs()
{
RenderLoop({
renderer.enabled = false;
});
}
private void RenderLoop(doStuff)
{
foreach (Renderer renderer in gameObject.GetComponentsInChildren<Renderer>())
{
doStuff();
}
}
我不确定如何正确执行此操作。我正在阅读代表之类的内容,但对我来说有点困惑。
【问题讨论】:
标签: c#