void AActor::PostEditUndo() { // Notify LevelBounds actor that level bounding box might be changed if (!IsTemplate() && GetLevel()->LevelBoundsActor.IsValid()) { GetLevel()->LevelBoundsActor.Get()->OnLevelBoundsDirtied(); } // Restore OwnedComponents array if (!IsPendingKill()) { ResetOwnedComponents(); } Super::PostEditUndo(); }
void AActor::PostEditUndo(TSharedPtr<ITransactionObjectAnnotation> TransactionAnnotation) { CurrentTransactionAnnotation = StaticCastSharedPtr<FActorTransactionAnnotation>(TransactionAnnotation); // Notify LevelBounds actor that level bounding box might be changed if (!IsTemplate() && GetLevel()->LevelBoundsActor.IsValid()) { GetLevel()->LevelBoundsActor.Get()->OnLevelBoundsDirtied(); } // Restore OwnedComponents array if (!IsPendingKill()) { ResetOwnedComponents(); } Super::PostEditUndo(TransactionAnnotation); }
void AActor::PostEditUndo(TSharedPtr<ITransactionObjectAnnotation> TransactionAnnotation) { CurrentTransactionAnnotation = StaticCastSharedPtr<FActorTransactionAnnotation>(TransactionAnnotation); // Check if this Actor needs to be re-instanced UClass* OldClass = GetClass(); if (OldClass->HasAnyClassFlags(CLASS_NewerVersionExists)) { UClass* NewClass = OldClass->GetAuthoritativeClass(); if (!ensure(NewClass != OldClass)) { UE_LOG(LogActor, Warning, TEXT("WARNING: %s is out of date and is the same as its AuthoritativeClass during PostEditUndo!"), *OldClass->GetName()); }; // Early exit, letting anything more occur would be invalid due to the REINST_ class return; } // Notify LevelBounds actor that level bounding box might be changed if (!IsTemplate()) { GetLevel()->MarkLevelBoundsDirty(); } // Restore OwnedComponents array if (!IsPendingKill()) { ResetOwnedComponents(); // notify navigation system UNavigationSystem::UpdateActorAndComponentsInNavOctree(*this); } else { UNavigationSystem::ClearNavOctreeAll(this); } Super::PostEditUndo(TransactionAnnotation); }
void AActor::PostEditUndo() { // Notify LevelBounds actor that level bounding box might be changed if (!IsTemplate()) { GetLevel()->MarkLevelBoundsDirty(); } // Restore OwnedComponents array if (!IsPendingKill()) { ResetOwnedComponents(); // notify navigation system UNavigationSystem::UpdateNavOctreeAll(this); } else { UNavigationSystem::ClearNavOctreeAll(this); } Super::PostEditUndo(); }
void AActor::PostEditUndo(TSharedPtr<ITransactionObjectAnnotation> TransactionAnnotation) { CurrentTransactionAnnotation = StaticCastSharedPtr<FActorTransactionAnnotation>(TransactionAnnotation); // Notify LevelBounds actor that level bounding box might be changed if (!IsTemplate()) { GetLevel()->MarkLevelBoundsDirty(); } // Restore OwnedComponents array if (!IsPendingKill()) { ResetOwnedComponents(); // notify navigation system UNavigationSystem::UpdateNavOctreeAll(this); } else { UNavigationSystem::ClearNavOctreeAll(this); } Super::PostEditUndo(TransactionAnnotation); }