void UUnrealEdEngine::UpdateFloatingPropertyWindows(bool bForceRefresh)
{
	TArray<UObject*> SelectedObjects;

	// Assemble a set of valid selected actors.
	for (FSelectionIterator It = GetSelectedActorIterator(); It; ++It)
	{
		AActor* Actor = static_cast<AActor*>(*It);
		checkSlow(Actor->IsA(AActor::StaticClass()));

		if (!Actor->IsPendingKill())
		{
			SelectedObjects.Add(Actor);
		}
	}

	UpdateFloatingPropertyWindowsFromActorList(SelectedObjects, bForceRefresh);
}
Example #2
0
void UUnrealEdEngine::UpdateFloatingPropertyWindows()
{
	TArray<UObject*> SelectedObjects;

	bool bProcessed = false;
	if (GetSelectedActorCount() == 1)
	{
		FSelectionIterator It( GetSelectedActorIterator() );
		if ( It )
		{
			AActor* Actor = static_cast<AActor*>( *It );
			checkSlow( Actor->IsA(AActor::StaticClass()) );

			if ( !Actor->IsPendingKill() )
			{
				// Currently only for Landscape
				// Landscape uses Component Selection
				bProcessed = Actor->GetSelectedComponents(SelectedObjects);
			}
		}
	}
	
	if (!bProcessed)
	{
		// Assemble a set of valid selected actors.
		for ( FSelectionIterator It( GetSelectedActorIterator() ) ; It ; ++It )
		{
			AActor* Actor = static_cast<AActor*>( *It );
			checkSlow( Actor->IsA(AActor::StaticClass()) );

			if ( !Actor->IsPendingKill() )
			{
				SelectedObjects.Add( Actor );
			}
		}
	}

	UpdateFloatingPropertyWindowsFromActorList( SelectedObjects );
}