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); }
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 ] ); } }
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); }