Skip to content

Commit c2a898f

Browse files
committed
Add Export Asset Notification
1 parent 0142b3f commit c2a898f

2 files changed

Lines changed: 34 additions & 2 deletions

File tree

Plugins/KawaiiPhysics/Source/KawaiiPhysicsEd/Private/AnimGraphNode_KawaiiPhysics.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,9 @@
66
#include "DetailWidgetRow.h"
77
#include "KawaiiPhysicsBoneConstraintsDataAsset.h"
88
#include "KawaiiPhysicsLimitsDataAsset.h"
9+
#include "NotificationManager.h"
910
#include "Selection.h"
11+
#include "SNotificationList.h"
1012
#include "AssetRegistry/AssetRegistryModule.h"
1113
#include "Dialogs/DlgPickAssetPath.h"
1214
#include "Kismet2/CompilerResultsLog.h"
@@ -543,6 +545,22 @@ UPackage* UAnimGraphNode_KawaiiPhysics::CreateDataAssetPackage(const FString& Di
543545
return CreatePackage(*PackagePath);
544546
}
545547

548+
void UAnimGraphNode_KawaiiPhysics::ShowExportAssetNotification(UObject* NewAsset,
549+
FText NotificationText)
550+
{
551+
FNotificationInfo NotificationInfo(NotificationText);
552+
NotificationInfo.ExpireDuration = 5.0f;
553+
NotificationInfo.Hyperlink = FSimpleDelegate::CreateLambda([NewAsset]()
554+
{
555+
GEditor->GetEditorSubsystem<UAssetEditorSubsystem>()->OpenEditorForAsset(NewAsset);
556+
});
557+
NotificationInfo.HyperlinkText = LOCTEXT("OpenCreatedAsset", "Open Created Asset");
558+
559+
TSharedPtr<SNotificationItem> NotificationItem = FSlateNotificationManager::Get().AddNotification(
560+
NotificationInfo);
561+
NotificationItem->SetCompletionState(SNotificationItem::CS_Success);
562+
}
563+
546564
void UAnimGraphNode_KawaiiPhysics::ExportLimitsDataAsset()
547565
{
548566
FString AssetName;
@@ -588,6 +606,11 @@ void UAnimGraphNode_KawaiiPhysics::ExportLimitsDataAsset()
588606

589607
FAssetRegistryModule::AssetCreated(NewDataAsset);
590608
Package->MarkPackageDirty();
609+
610+
// Add Notification
611+
FText NotificationText = FText::Format(
612+
LOCTEXT("ExportedLimitsDataAsset", "Exposted Limits Data Asset: {0}"), FText::FromString(AssetName));
613+
ShowExportAssetNotification(NewDataAsset, NotificationText);
591614
}
592615
}
593616

@@ -631,6 +654,12 @@ void UAnimGraphNode_KawaiiPhysics::ExportBoneConstraintsDataAsset()
631654

632655
FAssetRegistryModule::AssetCreated(NewDataAsset);
633656
Package->MarkPackageDirty();
657+
658+
// Add Notification
659+
FText NotificationText = FText::Format(
660+
LOCTEXT("ExportedBoneConstraintsDataAsset", "Exposted BoneConstraints Data Asset: {0}"),
661+
FText::FromString(AssetName));
662+
ShowExportAssetNotification(NewDataAsset, NotificationText);
634663
}
635664
}
636665

Plugins/KawaiiPhysics/Source/KawaiiPhysicsEd/Public/AnimGraphNode_KawaiiPhysics.h

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,8 +50,11 @@ class UAnimGraphNode_KawaiiPhysics : public UAnimGraphNode_SkeletalControlBase
5050

5151
/** Creates the data asset package. */
5252
UPackage* CreateDataAssetPackage(const FString& DialogTitle, const FString& DefaultSuffix,
53-
FString& AssetName) const;
54-
53+
FString& AssetName) const;
54+
55+
/** Shows the export asset notification. */
56+
void ShowExportAssetNotification(UObject* NewAsset, FText NotificationText);
57+
5558
/** Exports the limits data asset. */
5659
void ExportLimitsDataAsset();
5760

0 commit comments

Comments
 (0)