本文整理汇总了C++中TWeakObjectPtr::IsSelected方法的典型用法代码示例。如果您正苦于以下问题:C++ TWeakObjectPtr::IsSelected方法的具体用法?C++ TWeakObjectPtr::IsSelected怎么用?C++ TWeakObjectPtr::IsSelected使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TWeakObjectPtr
的用法示例。
在下文中一共展示了TWeakObjectPtr::IsSelected方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: UpdateActorVisibility
bool FLayers::UpdateActorVisibility( const TWeakObjectPtr< AActor >& Actor, bool& bOutSelectionChanged, bool& bOutActorModified, bool bNotifySelectionChange, bool bRedrawViewports )
{
bOutActorModified = false;
bOutSelectionChanged = false;
if( !IsActorValidForLayer( Actor ) )
{
return false;
}
// If the actor doesn't belong to any layers
if( Actor->Layers.Num() == 0)
{
// If the actor is also hidden
if( Actor->bHiddenEdLayer )
{
Actor->Modify();
// Actors that don't belong to any layer shouldn't be hidden
Actor->bHiddenEdLayer = false;
Actor->MarkComponentsRenderStateDirty();
bOutActorModified = true;
}
return bOutActorModified;
}
bool bActorBelongsToVisibleLayer = false;
for( int32 LayerIndex = 0 ; LayerIndex < GetWorld()->Layers.Num() ; ++LayerIndex )
{
const TWeakObjectPtr< ULayer > Layer = GetWorld()->Layers[ LayerIndex ];
if( !Layer->bIsVisible )
{
continue;
}
if( Actor->Layers.Contains( Layer->LayerName ) )
{
if ( Actor->bHiddenEdLayer )
{
Actor->Modify();
Actor->bHiddenEdLayer = false;
Actor->MarkComponentsRenderStateDirty();
bOutActorModified = true;
}
// Stop, because we found at least one visible layer the actor belongs to
bActorBelongsToVisibleLayer = true;
break;
}
}
// If the actor isn't part of a visible layer, hide and de-select it.
if( !bActorBelongsToVisibleLayer )
{
if ( !Actor->bHiddenEdLayer )
{
Actor->Modify();
Actor->bHiddenEdLayer = true;
Actor->MarkComponentsRenderStateDirty();
bOutActorModified = true;
}
//if the actor was selected, mark it as unselected
if ( Actor->IsSelected() )
{
bool bSelect = false;
bool bNotify = false;
bool bIncludeHidden = true;
Editor->SelectActor( Actor.Get(), bSelect, bNotify, bIncludeHidden );
bOutSelectionChanged = true;
bOutActorModified = true;
}
}
if ( bNotifySelectionChange && bOutSelectionChanged )
{
Editor->NoteSelectionChange();
}
if( bRedrawViewports )
{
Editor->RedrawLevelEditingViewports();
}
return bOutActorModified || bOutSelectionChanged;
}