本文整理汇总了C#中ILayer.GetGameObjects方法的典型用法代码示例。如果您正苦于以下问题:C# ILayer.GetGameObjects方法的具体用法?C# ILayer.GetGameObjects怎么用?C# ILayer.GetGameObjects使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ILayer
的用法示例。
在下文中一共展示了ILayer.GetGameObjects方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: PropagateVisible
private void PropagateVisible(ILayer layer, bool visible)
{
// Recursive call to update all sub-layers
foreach (ILayer subLayer in layer.Layers)
PropagateVisible(subLayer, visible);
// Set visibility for all GameObjects
foreach (IGameObject gameObject in layer.GetGameObjects())
{
IVisible iVisible = gameObject.As<IVisible>();
if (iVisible != null)
iVisible.Visible = visible;
}
}
示例2: GetCheckState
private CheckState GetCheckState(ILayer layer)
{
bool hasUncheckedChild = false;
bool hasCheckedChild = false;
foreach (ILayer subLayer in layer.Layers)
{
CheckState subCheckState = GetCheckState(subLayer);
switch (subCheckState)
{
case CheckState.Checked:
hasCheckedChild = true;
break;
case CheckState.Unchecked:
hasUncheckedChild = true;
break;
case CheckState.Indeterminate:
hasCheckedChild = true;
hasUncheckedChild = true;
break;
}
}
if (!hasCheckedChild || !hasUncheckedChild)
{
foreach (IGameObject gameObject in layer.GetGameObjects())
{
IVisible iVisible = gameObject.As<IVisible>();
if (iVisible != null)
{
if (iVisible.Visible)
hasCheckedChild = true;
else
hasUncheckedChild = true;
}
}
}
if (hasCheckedChild && !hasUncheckedChild)
return CheckState.Checked;
if (hasUncheckedChild && !hasCheckedChild)
return CheckState.Unchecked;
return CheckState.Indeterminate;
}