Ejemplo n.º 1
0
void FSoundCueEditor::OnSelectedNodesChanged(const TSet<class UObject*>& NewSelection)
{
	TArray<UObject*> Selection;

	if(NewSelection.Num())
	{
		for(TSet<class UObject*>::TConstIterator SetIt(NewSelection);SetIt;++SetIt)
		{
			if (Cast<USoundCueGraphNode_Root>(*SetIt))
			{
				Selection.Add(GetSoundCue());
			}
			else if (USoundCueGraphNode* GraphNode = Cast<USoundCueGraphNode>(*SetIt))
			{
				Selection.Add(GraphNode->SoundNode);
			}
			else
			{
				Selection.Add(*SetIt);
			}
		}
		//Selection = NewSelection.Array();
	}
	else
	{
		Selection.Add(GetSoundCue());
	}

	SetSelection(Selection);
}
Ejemplo n.º 2
0
	void Generate( const UObject* AssetToFind, TArray< TWeakObjectPtr<UObject> >& OutObjects )
	{
		// Don't examine visited objects
		if (!AssetToFind->HasAnyMarks(OBJECTMARK_TagExp))
		{
			return;
		}

		AssetToFind->UnMark(OBJECTMARK_TagExp);

		// Return once we find a parent object that is an actor
		if (AssetToFind->IsA(AActor::StaticClass()))
		{
			OutObjects.Add(AssetToFind);
			return;
		}

		// Transverse the reference graph looking for actor objects
		TSet<UObject*>* Referencers = ReferenceGraph.Find(AssetToFind);
		if (Referencers)
		{
			for(TSet<UObject*>::TConstIterator SetIt(*Referencers); SetIt; ++SetIt)
			{
				Generate(*SetIt, OutObjects);
			}
		}
	}
void FSoundClassEditor::OnSelectedNodesChanged(const TSet<class UObject*>& NewSelection)
{
	TArray<UObject*> Selection;

	if(NewSelection.Num())
	{
		for(TSet<class UObject*>::TConstIterator SetIt(NewSelection);SetIt;++SetIt)
		{
			USoundClassGraphNode* GraphNode = CastChecked<USoundClassGraphNode>(*SetIt);
			Selection.Add(GraphNode->SoundClass);
		}
		DetailsView->SetObjects(Selection);
	}
	else
	{
		DetailsView->SetObject(SoundClass);
	}
}
/* === FGCObject interface === */
void FFindReferencedAssets::AddReferencedObjects( FReferenceCollector& Collector )
{
	// serialize all of our object references
	for( ObjectReferenceGraph::TIterator It( ReferenceGraph ); It; ++It )
	{
		Collector.AddReferencedObject( It.Key() );
		for(TSet<UObject*>::TIterator SetIt(It.Value()); SetIt; ++SetIt)
		{
			Collector.AddReferencedObject( *SetIt );
		}
	}
	for( int32 Index = 0; Index < IgnoreClasses.Num(); Index++ )
	{
		Collector.AddReferencedObject( IgnoreClasses[ Index ] );
	}
	for( int32 Index = 0; Index < IgnorePackages.Num(); Index++ )
	{
		Collector.AddReferencedObject( IgnorePackages[ Index ] );
	}
}
Ejemplo n.º 5
0
void FNiagaraEditor::OnSelectedNodesChanged(const TSet<class UObject*>& NewSelection)
{
	TArray<UObject*> SelectedObjects;

	UObject* EditObject = Script;

	if (NewSelection.Num() == 0)
	{
		SelectedObjects.Add(EditObject);
	}
	else
	{
		for (TSet<class UObject*>::TConstIterator SetIt(NewSelection); SetIt; ++SetIt)
		{
			SelectedObjects.Add(*SetIt);
		}
	}

	GetDetailView()->SetObjects(SelectedObjects, true);
}