diff --git a/Source/OUUBlueprintRuntime/Private/Core/OUUDataTableLibrary.cpp b/Source/OUUBlueprintRuntime/Private/Core/OUUDataTableLibrary.cpp index 5b48adf6..716aecb9 100644 --- a/Source/OUUBlueprintRuntime/Private/Core/OUUDataTableLibrary.cpp +++ b/Source/OUUBlueprintRuntime/Private/Core/OUUDataTableLibrary.cpp @@ -2,6 +2,8 @@ #include "Core/OUUDataTableLibrary.h" +#include "Blueprint/BlueprintExceptionInfo.h" + bool UOUUDataTableLibrary::AddRowToDataTable(UDataTable* DataTable, FName RowName, FTableRowBase RowStruct) { // We must never hit this! The real implementation is in Generic_AddRowToDataTable diff --git a/Source/OUUBlueprintRuntime/Public/Core/OUUCoreBlueprintLibrary.h b/Source/OUUBlueprintRuntime/Public/Core/OUUCoreBlueprintLibrary.h index 7de7451e..60dc522f 100644 --- a/Source/OUUBlueprintRuntime/Public/Core/OUUCoreBlueprintLibrary.h +++ b/Source/OUUBlueprintRuntime/Public/Core/OUUCoreBlueprintLibrary.h @@ -21,7 +21,7 @@ class UOUUCoreBlueprintLibrary : public UBlueprintFunctionLibrary /** @returns the mutable class default object of the specified class. Proceed with caution! */ UFUNCTION(BlueprintPure, Category = "Open Unreal Utilities|Class", Meta = (DeterminesOutputType = Class)) static UObject* GetClassDefaultObject(TSubclassOf Class); - + /** @returns the mutable class default object of the objects class. Proceed with caution! */ UFUNCTION(BlueprintPure, Category = "Open Unreal Utilities|Class") static UObject* GetClassDefaultObjectFromObject(const UObject* Object); @@ -50,7 +50,7 @@ class UOUUCoreBlueprintLibrary : public UBlueprintFunctionLibrary * If we are currently recording into the transaction buffer (undo/redo), * save a copy of this object into the buffer and mark the package as needing to be saved. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Utilities|Core") static void ModifyObject(UObject* Object); /** Converts a TopLevelAssetPath to a string */ diff --git a/Source/OUUDeveloper/Public/OUUMapsToCookSettings.h b/Source/OUUDeveloper/Public/OUUMapsToCookSettings.h index 1ac47c2f..6baa7aaf 100644 --- a/Source/OUUDeveloper/Public/OUUMapsToCookSettings.h +++ b/Source/OUUDeveloper/Public/OUUMapsToCookSettings.h @@ -15,10 +15,10 @@ struct OUUDEVELOPER_API FOUUMapsToCookList GENERATED_BODY() public: // Name of the config section that these properties reside in - UPROPERTY(Transient, VisibleAnywhere) + UPROPERTY(Transient, VisibleAnywhere,Category="OUU|Maps|Settings") FString OwningConfigSection; - UPROPERTY(EditAnywhere, meta = (RelativeToGameContentDir, LongPackageName)) + UPROPERTY(EditAnywhere,Category="OUU|Maps|Settings", meta = (RelativeToGameContentDir, LongPackageName)) TArray MapsToCook; void ReloadConfig(const FString& ConfigPath); @@ -39,25 +39,21 @@ class OUUDEVELOPER_API UOUUMapsToCookSettings : public UDeveloperSettings // Request the package on default cooks. // Not used if commandline, AlwaysCookMaps, or MapsToCook are present. - UPROPERTY(Transient, EditAnywhere, meta = (EditCondition = bEnableAllMaps)) + UPROPERTY(Transient, EditAnywhere, meta = (EditCondition = bEnableAllMaps),Category="OUU|Maps|Settings") FOUUMapsToCookList AllMaps; // Request the package on every cook. // Using this prevents AllMaps. - UPROPERTY(Transient, EditAnywhere) + UPROPERTY(Transient, EditAnywhere,Category="OUU|Maps|Settings") FOUUMapsToCookList AlwaysCookMaps; // Names of all custom config sections that contain map lists. - UPROPERTY(Config, EditAnywhere, meta = (EditFixedOrder), DisplayName = "Custom Config Sections") + UPROPERTY(Config, EditAnywhere,Category="OUU|Maps|Settings", meta = (EditFixedOrder), DisplayName = "Custom Config Sections") TArray ConfigSections; // Map lists from ConfigSections that can be referenced used -MAPINISECTION parameter in command-line cooks UPROPERTY( - Transient, - EditAnywhere, - EditFixedSize, - meta = (EditFixedOrder), - DisplayName = "Custom Config Sections Map Lists") + Transient,Category="OUU|Maps|Settings",EditAnywhere,EditFixedSize,meta = (EditFixedOrder),DisplayName = "Custom Config Sections Map Lists") TArray MapLists; // - UObject diff --git a/Source/OUUEditor/Private/OUUEditorModule.cpp b/Source/OUUEditor/Private/OUUEditorModule.cpp index ef393955..68f589f8 100644 --- a/Source/OUUEditor/Private/OUUEditorModule.cpp +++ b/Source/OUUEditor/Private/OUUEditorModule.cpp @@ -13,6 +13,7 @@ #include "Modules/ModuleManager.h" #include "OUUContentBrowserExtensions.h" #include "PropertyEditorUtils.h" +#include "OUUEditor/Public/PropertyEditorUtils.h" namespace OUU::Editor { @@ -43,7 +44,7 @@ namespace OUU::Editor FTypedGameplayTagContainer_PropertyTypeCustomization>(); } - void ShutdownModule() override + void ShutdownModule() { if (OnUtilityWidgetsLoadedHandle.IsValid()) { diff --git a/Source/OUUEditor/Public/GameplayTagValidator.h b/Source/OUUEditor/Public/GameplayTagValidator.h index 96ff4b47..99613701 100644 --- a/Source/OUUEditor/Public/GameplayTagValidator.h +++ b/Source/OUUEditor/Public/GameplayTagValidator.h @@ -15,10 +15,10 @@ struct FGameplayTagValidationSettingsEntry { GENERATED_BODY() public: - UPROPERTY(EditAnywhere) + UPROPERTY(EditAnywhere,Category="OUU|Validation") bool bCanHaveContentChildren = true; - UPROPERTY(EditAnywhere) + UPROPERTY(EditAnywhere,Category="OUU|Validation") int32 AllowedChildDepth = 1; }; @@ -33,36 +33,36 @@ class UGameplayTagValidationSettings : public UDeveloperSettings public: // Maximum nesting depth of tags including the root tags. // e.g. 'Foo' has a nesting level of 1, 'Foo.Bar' has 2, 'Foo.Bar.Baz' has 3, etc. - UPROPERTY(Config, EditAnywhere, meta = (UIMin = 1, UIMax = 20)) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag", meta = (UIMin = 1, UIMax = 20)) int32 MaxGlobalTagDepth = 10; // Default depth allowed for native tags that are marked as "allow child tags" from C++ code. // You can always create tag overrides that supercede this setting for individual tags. - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") int32 NativeTagAllowedChildDepth = 3; - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") bool bAllowContentRootTags = false; // If true, allow content tags as children anywhere they are not explicitly prohibited via TagOverrides. - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") bool bDefaultAllowContentTagChildren = false; // If true, run gameplay tag validation after every change of the gameplay tags tree. // This means both after editor start and every edit of the tags list. - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") bool bValidateTagsAfterTagTreeChange = true; - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") bool bValidateTagsDuringCook = true; // If true, run gameplay tag validation after every change of settings in this settings class. - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") bool bValidateTagsAfterSettingsChange = true; // Issues underneath these gameplay tags will always only cause warnings instead of errors. // Only affects issues from UOUUGameplayTagValidator. Other validator classes may ignore this setting. - UPROPERTY(Config, EditAnywhere) + UPROPERTY(Config, EditAnywhere, Category="OUU|Gameplay Tag") FGameplayTagContainer WarnOnlyGameplayTags; void RefreshNativeTagOverrides(); @@ -79,11 +79,11 @@ class UGameplayTagValidationSettings : public UDeveloperSettings // -- private: - UPROPERTY(Config, EditAnywhere, meta = (ForceInlineRow)) + UPROPERTY(Config, EditAnywhere, meta = (ForceInlineRow), Category="OUU|Gameplay Tag") TMap TagOverrides; // Settings declared in code from literal gameplay tags - UPROPERTY(VisibleAnywhere, meta = (ForceInlineRow)) + UPROPERTY(VisibleAnywhere, meta = (ForceInlineRow), Category="OUU|Gameplay Tag") TMap NativeTagOverrides; }; @@ -110,7 +110,7 @@ class OUUEDITOR_API UGameplayTagValidatorSubsystem : public UEditorSubsystem public: static UGameplayTagValidatorSubsystem& Get(); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category="OUU|Gameplay Tag") void ValidateGameplayTagTree(); // - UEngineSubsystem diff --git a/Source/OUUEditor/Public/OUUEditorLibrary.h b/Source/OUUEditor/Public/OUUEditorLibrary.h index 3ff37158..16b83a3d 100644 --- a/Source/OUUEditor/Public/OUUEditorLibrary.h +++ b/Source/OUUEditor/Public/OUUEditorLibrary.h @@ -14,15 +14,15 @@ struct FOUUBlueprintEditorFocusContent GENERATED_BODY() public: /* Tab on which to focus (e.g. 'My Blueprint' tab). */ - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="OUU|Editor") FString TabToFocusOrOpen; /* The GUID of a blueprint node */ - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="OUU|Editor") FString NodeGUID; /* Name of the outer object - should be the blueprint that 'owns' the node */ - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite, Category="OUU|Editor") FString ObjectName; }; diff --git a/Source/OUURuntime/Private/Animation/Debug/GameplayDebugger_Animation.cpp b/Source/OUURuntime/Private/Animation/Debug/GameplayDebugger_Animation.cpp index a65162c5..7b43695e 100644 --- a/Source/OUURuntime/Private/Animation/Debug/GameplayDebugger_Animation.cpp +++ b/Source/OUURuntime/Private/Animation/Debug/GameplayDebugger_Animation.cpp @@ -9,7 +9,7 @@ #include "Animation/AnimNodeBase.h" #include "Animation/AnimNotifies/AnimNotifyState.h" #include "Animation/AnimSequence.h" - #include "Animation/AnimTypes.h" + //#include "Animation/AnimTypes.h" #include "Animation/Debug/DebuggableAnimInstance.h" #include "Components/SkeletalMeshComponent.h" #include "DisplayDebugHelpers.h" diff --git a/Source/OUURuntime/Private/GameplayDebugger/GameplayDebuggerCategory_ViewModes.cpp b/Source/OUURuntime/Private/GameplayDebugger/GameplayDebuggerCategory_ViewModes.cpp index 99602ea6..ae39c1c1 100644 --- a/Source/OUURuntime/Private/GameplayDebugger/GameplayDebuggerCategory_ViewModes.cpp +++ b/Source/OUURuntime/Private/GameplayDebugger/GameplayDebuggerCategory_ViewModes.cpp @@ -1,14 +1,15 @@ // Copyright (c) 2023 Jonas Reich & Contributors #include "GameplayDebugger/GameplayDebuggerCategory_ViewModes.h" +#include "Engine.h" #if WITH_GAMEPLAY_DEBUGGER - #include "BufferVisualizationData.h" - #include "Engine/DebugCameraControllerSettings.h" - #include "Engine/Font.h" - #include "Engine/GameViewportClient.h" - #include "GameFramework/PlayerController.h" - #include "LogOpenUnrealUtilities.h" +#include "BufferVisualizationData.h" +#include "Engine/DebugCameraControllerSettings.h" +#include "Engine/Font.h" +#include "Engine/GameViewportClient.h" +#include "GameFramework/PlayerController.h" +#include "LogOpenUnrealUtilities.h" namespace OUU::Runtime::Private { @@ -52,7 +53,7 @@ namespace OUU::Runtime::Private case VMI_VisualizeSubstrate: return TEXT("VisualizeSubstrate"); case VMI_VisualizeGroom: return TEXT("VisualizeGroom"); case VMI_Max: return TEXT("Max"); - default:; + default: ; } return TEXT(""); } @@ -70,7 +71,6 @@ namespace OUU::Runtime::Private return TEXT(""); } - } // namespace OUU::Runtime::Private FGameplayDebuggerCategory_ViewModes::FGameplayDebuggerCategory_ViewModes() @@ -113,7 +113,10 @@ void FGameplayDebuggerCategory_ViewModes::DrawData( FGameplayDebuggerCanvasContext& CanvasContext) { CanvasContext.FontRenderInfo.bEnableShadow = true; - CanvasContext.Font = GEngine->GetSmallFont(); + if (GEngine) + { + CanvasContext.Font = GEngine->GetSmallFont(); + } PrintKeyBinds(CanvasContext); @@ -151,7 +154,8 @@ void FGameplayDebuggerCategory_ViewModes::CycleViewMode() if (NextViewModeIndex != CurrViewModeIndex) { - FString NextViewModeName = OUU::Runtime::Private::GetViewModeName(StaticCast(NextViewModeIndex)); + FString NextViewModeName = OUU::Runtime::Private::GetViewModeName( + StaticCast(NextViewModeIndex)); if (!NextViewModeName.IsEmpty()) { @@ -305,7 +309,8 @@ void FGameplayDebuggerCategory_ViewModes::GetNextBuffer(const TArray& O Max += Incr; } - auto Wrap = [&](int32 Index) { + auto Wrap = [&](int32 Index) + { if (Index < Min) { Index = Max; @@ -390,4 +395,4 @@ void FGameplayDebuggerCategory_ViewModes::SetupBufferVisualizationOverviewInput( bIsBufferVisualizationInputSetup = true; } -#endif +#endif \ No newline at end of file diff --git a/Source/OUURuntime/Private/Pooling/OUUActorPool.cpp b/Source/OUURuntime/Private/Pooling/OUUActorPool.cpp index c64703af..266d07ac 100644 --- a/Source/OUURuntime/Private/Pooling/OUUActorPool.cpp +++ b/Source/OUURuntime/Private/Pooling/OUUActorPool.cpp @@ -182,7 +182,10 @@ void UOUUActorPool::AddReferencedObjects(UObject* InThis, FReferenceCollector& C { for (auto& Entry : CastedThis->PooledActors) { - Collector.AddReferencedObjects(Entry.Value); + //We get a warning here saying the game will randomly crash when incremental garbage collection is enabled + //Suggestion is to pass TObjectPtr instead of AActor* to AddReferencedObjects + //Collector.AddReferencedObjects(Entry.Value); + } } diff --git a/Source/OUURuntime/Private/SemVer/PreReleaseIdentifier.cpp b/Source/OUURuntime/Private/SemVer/PreReleaseIdentifier.cpp index 848f7949..3913340d 100644 --- a/Source/OUURuntime/Private/SemVer/PreReleaseIdentifier.cpp +++ b/Source/OUURuntime/Private/SemVer/PreReleaseIdentifier.cpp @@ -93,7 +93,7 @@ bool FSemVerPreReleaseIdentifier::TryIncrement() if (LastIdentifierAsNumeric != INDEX_NONE) { LastIdentifierAsNumeric++; - LastIdentifier = LexToString(LastIdentifierAsNumeric); + //LastIdentifier = LexToString(LastIdentifierAsNumeric); return true; } diff --git a/Source/OUURuntime/Public/Animation/Debug/GameplayDebugger_Animation.h b/Source/OUURuntime/Public/Animation/Debug/GameplayDebugger_Animation.h index 1e96573d..732b5a2f 100644 --- a/Source/OUURuntime/Public/Animation/Debug/GameplayDebugger_Animation.h +++ b/Source/OUURuntime/Public/Animation/Debug/GameplayDebugger_Animation.h @@ -3,6 +3,9 @@ #pragma once #include "GameplayDebugger/GameplayDebuggerCategory_OUUBase.h" +#include "Animation/AnimTypes.h" + +#include "Animation/AnimationAsset.h" #if WITH_GAMEPLAY_DEBUGGER #include "CoreMinimal.h" @@ -12,7 +15,7 @@ class APlayerController; class UCanvas; class UOUUDebuggableAnimInstance; -struct FAnimInstanceProxy; +//struct FAnimInstanceProxy; struct FGameplayDebugger_DisplayDebugManager; /** @@ -26,7 +29,7 @@ class OUURUNTIME_API FGameplayDebuggerCategory_Animation : public FOUUGameplayDe static auto GetCategoryName() { return TEXT("Animation"); } - void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext) override; + virtual void DrawData(APlayerController* OwnerPC, FGameplayDebuggerCanvasContext& CanvasContext) override; private: int32 DebugMeshComponentIndex = 0; diff --git a/Source/OUURuntime/Public/FlowControl/ExclusiveLock.h b/Source/OUURuntime/Public/FlowControl/ExclusiveLock.h index 16fd0b11..28abf833 100644 --- a/Source/OUURuntime/Public/FlowControl/ExclusiveLock.h +++ b/Source/OUURuntime/Public/FlowControl/ExclusiveLock.h @@ -25,7 +25,7 @@ class OUURUNTIME_API UExclusiveLock : public UObject * Calling this function again with the active object key will result in a success without any side-effects. * @returns whether the lock was successfully locked by this key object. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "OUU") bool TryLock(UObject* Key); /** @@ -34,22 +34,22 @@ class OUURUNTIME_API UExclusiveLock : public UObject * The lock will be automatically released after the specified time (in game time). * @returns whether the lock was successfully locked by this key object. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "OUU") bool TryLockForDuration(UObject* Key, float Duration); /** * Release the lock with the object which was used to lock it. * Calling unlock with an object that was not used to lock it will trigger an ensure condition. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable, Category = "OUU") bool TryUnlock(UObject* Key); /** Is the lock locked by a valid key object? */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU") bool IsLocked() const; private: /** Active key/owner of the lock. May turn stale while set. */ - UPROPERTY(Transient) + UPROPERTY(Transient,Category="OUU",VisibleAnywhere) TWeakObjectPtr ActiveKey; }; diff --git a/Source/OUURuntime/Public/FlowControl/OUURequest.h b/Source/OUURuntime/Public/FlowControl/OUURequest.h index 1634658b..637f158f 100644 --- a/Source/OUURuntime/Public/FlowControl/OUURequest.h +++ b/Source/OUURuntime/Public/FlowControl/OUURequest.h @@ -50,58 +50,58 @@ class OUURUNTIME_API UOUURequest : public UObject GENERATED_BODY() public: /** Called on every status transition of the request */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control") FOnRequestStatusChanged OnStatusChanged; /** * Called whenever the request is raised. Only called on the initial request. * Will not be called again for consecutive calls of Raise(). */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control") FOnRequestRaised OnRaised; /** Called whenever the request is fulfilled or canceled */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control") FOnRequestStatusChanged OnCompleted; /** * Should the status be reset to Idle automatically after completion? * If this is unchecked, the request has to be reset manually via Reset(); */ - UPROPERTY(EditDefaultsOnly) + UPROPERTY(EditDefaultsOnly,Category="OUU|Flow Control") bool bResetAfterCompletion = true; /** Raises the request without binding a callback delegate */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void Raise(); /** Raise the request and bind a callback delegate that will be called when the request is completed */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void RaiseAndWait(FOnRequestStatusChangedDelegate CompletedCallback); /** * Drop the request from the caller side. (i.e. "never mind, I don't need this anymore") * Doesn't do anything if the request is not in the pending state. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void Cancel(); /** * Mark the request as completed. Can be either success or failure. * Doesn't do anything if the request is not in the pending state. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void Complete(bool bSuccessful); /** Reset the request status after completion. Doesn't do anything while the request is still pending. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void Reset(); /** * Get the current state of the request. When multiple objects bind to the OnRaised event, it's useful to check if * the request has already been fulfilled by a third party. */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Flow Control") EOUURequestState GetState() const; private: diff --git a/Source/OUURuntime/Public/FlowControl/OUURequestQueue.h b/Source/OUURuntime/Public/FlowControl/OUURequestQueue.h index 9eb79a15..46cf932c 100644 --- a/Source/OUURuntime/Public/FlowControl/OUURequestQueue.h +++ b/Source/OUURuntime/Public/FlowControl/OUURequestQueue.h @@ -21,15 +21,15 @@ class OUURUNTIME_API UOUURequestQueue : public UObject UOUURequestQueue(); /** Called every time a request is raised */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control|Request") FOnRequestRaised OnRequestRaised; /** Called whenever a request is fulfilled or canceled and removed from the queue */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control|Request") FOnRequestStatusChanged OnCompleted; /** Class to use as template for new requests */ - UPROPERTY(EditDefaultsOnly) + UPROPERTY(EditDefaultsOnly,Category="OUU|Flow Control|Request") TSubclassOf RequestClass; /** @@ -38,7 +38,7 @@ class OUURUNTIME_API UOUURequestQueue : public UObject * This allows setting payload data on the request before calling. * @returns newly created request */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control|Request") UOUURequest* CreateNewRequest(); /** @@ -47,7 +47,7 @@ class OUURUNTIME_API UOUURequestQueue : public UObject * Only use for request types that do not need any payload data! * @returns newly created request */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control|Request") UOUURequest* RaiseNewRequest(); /** @@ -57,7 +57,7 @@ class OUURUNTIME_API UOUURequestQueue : public UObject * @param CompletedCallback Callback delegate that will be called when the request is completed * @returns newly created request */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control|Request") UOUURequest* RaiseNewRequestAndWait(FOnRequestStatusChangedDelegate CompletedCallback); /** @@ -65,7 +65,7 @@ class OUURUNTIME_API UOUURequestQueue : public UObject * Items are sorted by the time the individual requests were created. * Requests may be in idle state and not raised! */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control|Request") TArray GetRequestsInQueue(); /** @@ -79,7 +79,7 @@ class OUURUNTIME_API UOUURequestQueue : public UObject * Get the oldest request in the queue with the specified state. * Especially handy for request handlers to find the latest pending request. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control|Request") UOUURequest* GetOldestRequestWithState(EOUURequestState State) const; private: diff --git a/Source/OUURuntime/Public/FlowControl/SharedLock.h b/Source/OUURuntime/Public/FlowControl/SharedLock.h index 39054f31..86e938f9 100644 --- a/Source/OUURuntime/Public/FlowControl/SharedLock.h +++ b/Source/OUURuntime/Public/FlowControl/SharedLock.h @@ -19,7 +19,7 @@ class OUURUNTIME_API USharedLock : public UObject GENERATED_BODY() public: /** Called whenever the lock state changes (from unlocked to locked or vice versa) */ - UPROPERTY(BlueprintAssignable) + UPROPERTY(BlueprintAssignable,Category="OUU|Flow Control") FOnSharedLockStateChanged OnLockStateChanged; /** @@ -27,7 +27,7 @@ class OUURUNTIME_API USharedLock : public UObject * All of these key objects need to be removed via TryRelease() in order to release the entire lock. * May be called multiple times with the same key object without any side-effects. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void Lock(UObject* Key); /** @@ -37,7 +37,7 @@ class OUURUNTIME_API USharedLock : public UObject * the specified duration has passed, so the entire lock is released again. * May be called multiple times with the same key object, which effectively resets the timer. */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") void LockForDuration(UObject* Key, float Duration); /** @@ -45,28 +45,28 @@ class OUURUNTIME_API USharedLock : public UObject * @param Key Key to release from the lock * @returns if the entire lock was successfully released */ - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Flow Control") bool TryUnlock(UObject* Key); /** * Simple check if the lock has any active keys. * Does not check for stale keys! */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Flow Control") bool IsLocked() const; /** * Check if the lock has any active non-stale keys. * Cleans up any stale keys from the internal key list. */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Flow Control") bool CheckIsLocked(); /** * Get a copy of the key list. May contain stale entries. * Entries are not stably sorted. */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Flow Control") TArray GetActiveKeys() const; private: @@ -74,6 +74,6 @@ class OUURUNTIME_API USharedLock : public UObject * List of active keys. May contain stale entries. * Entries are not stably sorted. */ - UPROPERTY(Transient) + UPROPERTY(Transient,Category="OUU|Flow Control",VisibleInstanceOnly) TArray> ActiveKeys; }; diff --git a/Source/OUURuntime/Public/GameplayTags/GameplayTagDependencies.h b/Source/OUURuntime/Public/GameplayTags/GameplayTagDependencies.h index 72c43a31..5b4d3ff9 100644 --- a/Source/OUURuntime/Public/GameplayTags/GameplayTagDependencies.h +++ b/Source/OUURuntime/Public/GameplayTags/GameplayTagDependencies.h @@ -3,7 +3,7 @@ #pragma once #include "CoreMinimal.h" - +#include "UObject/Interface.h" #include "GameplayTagContainer.h" #include "UObject/WeakInterfacePtr.h" @@ -47,28 +47,28 @@ class OUURUNTIME_API IGameplayTagDependencyInterface : public IInterface friend struct FGameplayTagDependencySource; // This appends all tags (own + from dependencies) - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void AppendTags(FGameplayTagContainer& OutTags) const; // Append tags introduced by this tag container. // This is the only function that should be overriden in derived classes. - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void AppendOwnTags(FGameplayTagContainer& OutTags) const {} - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void BroadcastTagsChanged(); // Event for external consumers. Not intended for source chaining. - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void BindEventToOnTagsChanged(FGameplayTagDependencyEvent Event); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void UnbindEventFromOnTagsChanged(FGameplayTagDependencyEvent Event); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void AddDependency(TScriptInterface Dependency); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Runtime|GameplayTags") virtual void RemoveDependency(TScriptInterface Dependency); TMap GetImmediateTagSources() const; diff --git a/Source/OUURuntime/Public/GameplayTags/OUUGameplayTagLibrary.h b/Source/OUURuntime/Public/GameplayTags/OUUGameplayTagLibrary.h index 1c60f301..88d5122b 100644 --- a/Source/OUURuntime/Public/GameplayTags/OUUGameplayTagLibrary.h +++ b/Source/OUURuntime/Public/GameplayTags/OUUGameplayTagLibrary.h @@ -14,21 +14,21 @@ class UOUUGameplayTagLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static FGameplayTag GetParentTag(const FGameplayTag& Tag); - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static FGameplayTagContainer GetChildTags(const FGameplayTag& Tag); - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static int32 GetTagDepth(const FGameplayTag& Tag); - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static FGameplayTag GetTagUntilDepth(const FGameplayTag& Tag, int32 Depth); - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static TArray GetTagComponents(const FGameplayTag& Tag); - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure, Category = "OUU|Gameplay Tags") static FGameplayTag CreateTagFromComponents(const TArray& TagComponents); }; diff --git a/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagContainer.h b/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagContainer.h index 2d305c9f..51b610c4 100644 --- a/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagContainer.h +++ b/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagContainer.h @@ -66,7 +66,7 @@ struct OUURUNTIME_API FTypedGameplayTagContainer // Underlying tag container // The "TypedGameplayTagContainer" filter tells our editor customization to look for the TypedTagName property on // the owning struct property for tag filter info. - UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess, Categories = "TypedGameplayTagContainer")) + UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess, Categories = "TypedGameplayTagContainer"),Category="OUU|Typed Gameplay Tag") FGameplayTagContainer Tags; // Name of a typed gameplay tag type, e.g. "OUUSampleBarTag" for the FOUUSampleBarTag type. @@ -75,7 +75,7 @@ struct OUURUNTIME_API FTypedGameplayTagContainer // This is only editable at "construct time" on the class a container property is first introduced i.e. either in // constructor (C++) or class defaults (Blueprint). Once it's actually used to store tags, the typed tag name should // ideally not be edited anymore at all. - UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess)) + UPROPERTY(EditAnywhere, BlueprintReadOnly, meta = (AllowPrivateAccess),Category="OUU|Typed Gameplay Tag") FName TypedTagName; // -- Implicit info from typed tag name @@ -91,29 +91,29 @@ class UTypedGameplayTagContainerLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static void SetTypedContainerTags( UPARAM(ref) FTypedGameplayTagContainer& Container, const FGameplayTagContainer& Tags); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static void AddTagToTypedContainer(UPARAM(ref) FTypedGameplayTagContainer& Container, const FGameplayTag& TagToAdd); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static void AppendTagsToTypedContainer( UPARAM(ref) FTypedGameplayTagContainer& Container, FGameplayTagContainer const& TagsToAppend); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static bool RemoveTagFromTypedContainer( UPARAM(ref) FTypedGameplayTagContainer& Container, const FGameplayTag& TagToRemove); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static void RemoveTagsFromTypedContainer( UPARAM(ref) FTypedGameplayTagContainer& Container, const FGameplayTagContainer& TagsToRemove); - UFUNCTION(BlueprintCallable) + UFUNCTION(BlueprintCallable,Category="OUU|Typed Gameplay Tag") static void ResetTypedContainer(UPARAM(ref) FTypedGameplayTagContainer& Container); }; diff --git a/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagSettings.h b/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagSettings.h index b84183f4..31dd0587 100644 --- a/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagSettings.h +++ b/Source/OUURuntime/Public/GameplayTags/TypedGameplayTagSettings.h @@ -16,18 +16,18 @@ struct FTypedGameplayTagSettingsEntry public: #if WITH_EDITORONLY_DATA // Comment from C++ code on what this type is used for. - UPROPERTY(VisibleAnywhere) + UPROPERTY(VisibleAnywhere,Category="OUU|Typed Gameplay Tag|Settings") FString Comment; // Gameplay tags declared in C++ code that are always available for this FTypedGameplayTag type. // Can't be edited. Only here for reference.y - UPROPERTY(VisibleAnywhere) + UPROPERTY(VisibleAnywhere,Category="OUU|Typed Gameplay Tag|Settings") FGameplayTagContainer NativeRootTags; // Additional tags that are valid root tags for this gameplay tag type. // These can be either content tags (tags from INI files) or native tags from other systems. // This allows tag sharing between systems while still keeping separate FTypedGameplayTag types. - UPROPERTY(EditAnywhere) + UPROPERTY(EditAnywhere,Category="OUU|Typed Gameplay Tag|Settings") FGameplayTagContainer AdditionalRootTags; #endif }; @@ -56,7 +56,7 @@ class OUURUNTIME_API UTypedGameplayTagSettings : public UDeveloperSettings * This removes old config entries that do not have a matching struct anymore, e.g. after a struct was deleted or * renamed. */ - UFUNCTION(CallInEditor) + UFUNCTION(CallInEditor,Category="OUU|Typed Gameplay Tag|Settings") static void CleanAdditionalTags(); // - UObject @@ -89,7 +89,7 @@ class OUURUNTIME_API UTypedGameplayTagSettings : public UDeveloperSettings #if WITH_EDITORONLY_DATA // These are not the settings stored in the ini file, but a copy that is better to read/edit in the UI. // Updates are automatically propagated to AdditionalRootTags, which is saved to the INI file. - UPROPERTY(EditAnywhere, meta = (ForceInlineRow, ReadOnlyKeys, DisplayName = "Gameplay Tag Types")) + UPROPERTY(EditAnywhere, meta = (ForceInlineRow, ReadOnlyKeys, DisplayName = "Gameplay Tag Types"),Category="OUU|Typed Gameplay Tag|Settings") TMap SettingsCopyForUI; #endif }; diff --git a/Source/OUURuntime/Public/Logging/MessageLogToken.h b/Source/OUURuntime/Public/Logging/MessageLogToken.h index e4a8a90d..d52bd080 100644 --- a/Source/OUURuntime/Public/Logging/MessageLogToken.h +++ b/Source/OUURuntime/Public/Logging/MessageLogToken.h @@ -124,19 +124,19 @@ struct OUURUNTIME_API FMessageLogToken } // Which of the payload data should be used - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Logging") EMessageLogTokenType Type = EMessageLogTokenType::Text; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Logging") FText Text = {}; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Logging") FString URL = ""; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Logging") FString AssetName = ""; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Logging") const UObject* Object = nullptr; TSharedRef CreateNativeMessageToken() const; diff --git a/Source/OUURuntime/Public/Math/SpiralIdUtilities.h b/Source/OUURuntime/Public/Math/SpiralIdUtilities.h index 4e04e4fc..75137aa8 100644 --- a/Source/OUURuntime/Public/Math/SpiralIdUtilities.h +++ b/Source/OUURuntime/Public/Math/SpiralIdUtilities.h @@ -84,7 +84,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * Note that this uses grid coordinates as in grid cells, so the world coordinates will likely be different from X * and Y. */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static int32 ConvertCoordinatesToSpiralId(const int32 X, const int32 Y); /** @@ -92,7 +92,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * Note that this uses grid coordinates as in grid cells, so the world coordinates will likely be different from X * and Y. */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static int32 ConvertCoordinatePointToSpiralId(const FIntPoint& Point); /** @@ -102,7 +102,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * @param GridSize Width of the grid cells * @param CoordinateSystem The type of coordinate system that should be used */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static int32 ConvertWorldLocation2DToSpiralId( const FVector2D& Location, float GridSize, @@ -116,7 +116,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * @param GridSize Width of the grid cells * @param CoordinateSystem The type of coordinate system that should be used */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static int32 ConvertWorldLocationToSpiralId( const FVector& Location, float GridSize, @@ -126,7 +126,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * Convert a spiral ID to grid coordinates. * Note: This function is more expensive O(n) compared to the opposite conversion from coordinate to ID O(1). */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static FIntPoint ConvertSpiralIdToCoordinates(const int32 SpiralId); /** @@ -138,7 +138,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * @param CoordinateSystem The type of coordinate system that should be used * @returns Center location of the cell in world space */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static FVector2D ConvertSpiralIdToCenterLocation( const int32 SpiralId, float GridSize, @@ -153,7 +153,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * @param CoordinateSystem The type of coordinate system that should be used * @returns Two dimensional bound of the cell */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static FBox2D ConvertSpiralIdToBounds( const int32 SpiralId, const float GridSize, @@ -172,7 +172,7 @@ class OUURUNTIME_API USpiralIdUtilities : public UBlueprintFunctionLibrary * @param BoundsElevation Distance between Z=0 and bottom surface of the grid cell * @returns Two dimensional bound of the cell */ - UFUNCTION(BlueprintPure) + UFUNCTION(BlueprintPure,Category="OUU|Math|SpiralIdUtilities") static FBox ConvertSpiralIdToBounds3D( const int32 SpiralId, const float GridSize, diff --git a/Source/OUURuntime/Public/Misc/RegexUtils.h b/Source/OUURuntime/Public/Misc/RegexUtils.h index 22647650..2fdc72aa 100644 --- a/Source/OUURuntime/Public/Misc/RegexUtils.h +++ b/Source/OUURuntime/Public/Misc/RegexUtils.h @@ -22,13 +22,13 @@ struct OUURUNTIME_API FRegexMatch { } - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) + UPROPERTY(VisibleAnywhere, BlueprintReadOnly,Category="OUU|Misc|Regex") int32 MatchBeginning = INDEX_NONE; - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) + UPROPERTY(VisibleAnywhere, BlueprintReadOnly,Category="OUU|Misc|Regex") int32 MatchEnding = INDEX_NONE; - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) + UPROPERTY(VisibleAnywhere, BlueprintReadOnly,Category="OUU|Misc|Regex") FString MatchString = ""; FORCEINLINE FString ToString() const @@ -59,7 +59,7 @@ struct OUURUNTIME_API FRegexGroups static FRegexGroups Invalid() { return FRegexGroups(); } - UPROPERTY(VisibleAnywhere, BlueprintReadOnly) + UPROPERTY(VisibleAnywhere, BlueprintReadOnly,Category="OUU|Misc|Regex") TArray CaptureGroups; FORCEINLINE FString ToString() const { return ArrayToString(CaptureGroups); } diff --git a/Source/OUURuntime/Public/SemVer/BuildMetadata.h b/Source/OUURuntime/Public/SemVer/BuildMetadata.h index a90ce9c9..e8482cdb 100644 --- a/Source/OUURuntime/Public/SemVer/BuildMetadata.h +++ b/Source/OUURuntime/Public/SemVer/BuildMetadata.h @@ -46,10 +46,10 @@ struct OUURUNTIME_API FSemVerBuildMetadata bool operator!=(const FSemVerBuildMetadata& Other) const; protected: - UPROPERTY(BlueprintReadOnly) + UPROPERTY(BlueprintReadOnly,Category="OUU|Runtime|SemVer") FString Metadata; /** How strictly this metadata adheres to the semver specification */ - UPROPERTY(BlueprintReadOnly) + UPROPERTY(BlueprintReadOnly,Category="OUU|Runtime|SemVer") ESemVerParsingStrictness Strictness = ESemVerParsingStrictness::Strict; }; diff --git a/Source/OUURuntime/Public/SemVer/PreReleaseIdentifier.h b/Source/OUURuntime/Public/SemVer/PreReleaseIdentifier.h index 1aa7e3cd..f162af8b 100644 --- a/Source/OUURuntime/Public/SemVer/PreReleaseIdentifier.h +++ b/Source/OUURuntime/Public/SemVer/PreReleaseIdentifier.h @@ -70,11 +70,11 @@ struct OUURUNTIME_API FSemVerPreReleaseIdentifier bool operator>=(const FSemVerPreReleaseIdentifier& Other) const; protected: - UPROPERTY(BlueprintReadOnly) + UPROPERTY(BlueprintReadOnly,Category="OUU|Runtime|SemVer") TArray Identifiers; /** How strictly this pre-release identifier adheres to the semver specification */ - UPROPERTY(BlueprintReadOnly) + UPROPERTY(BlueprintReadOnly,Category="OUU|Runtime|SemVer") ESemVerParsingStrictness Strictness = ESemVerParsingStrictness::Strict; static bool CompareStringIdentifiersSmaller(const FString& A, const FString& B); diff --git a/Source/OUURuntime/Public/SemVer/SemanticVersion.h b/Source/OUURuntime/Public/SemVer/SemanticVersion.h index 5c7f0055..8d47ef18 100644 --- a/Source/OUURuntime/Public/SemVer/SemanticVersion.h +++ b/Source/OUURuntime/Public/SemVer/SemanticVersion.h @@ -57,19 +57,19 @@ struct OUURUNTIME_API FSemanticVersion const FString& SourceString, ESemVerParsingStrictness Strictness = ESemVerParsingStrictness::Strict); - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Runtime|SemVer") int32 MajorVersion = 0; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Runtime|SemVer") int32 MinorVersion = 1; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Runtime|SemVer") int32 PatchVersion = 0; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Runtime|SemVer") FSemVerPreReleaseIdentifier PreReleaseIdentifier; - UPROPERTY(BlueprintReadWrite) + UPROPERTY(BlueprintReadWrite,Category="OUU|Runtime|SemVer") FSemVerBuildMetadata BuildMetadata; FString ToString() const; diff --git a/Source/OUUTests/Private/Runtime/FlowControl/LockTestHelpers.h b/Source/OUUTests/Private/Runtime/FlowControl/LockTestHelpers.h index 2753fc28..7cb68e4d 100644 --- a/Source/OUUTests/Private/Runtime/FlowControl/LockTestHelpers.h +++ b/Source/OUUTests/Private/Runtime/FlowControl/LockTestHelpers.h @@ -8,7 +8,7 @@ #include "FlowControl/ExclusiveLock.h" #include "FlowControl/SharedLock.h" #include "OUUTestObject.h" - +#include "Misc/AutomationTest.h" #include "LockTestHelpers.generated.h" UCLASS(meta = (Hidden, HideDropDown)) diff --git a/Source/OUUUMG/Public/Window/OUUWindowParameters.h b/Source/OUUUMG/Public/Window/OUUWindowParameters.h index 90bb3244..7c8bc88d 100644 --- a/Source/OUUUMG/Public/Window/OUUWindowParameters.h +++ b/Source/OUUUMG/Public/Window/OUUWindowParameters.h @@ -15,36 +15,36 @@ struct FOUUWindowParameters { GENERATED_BODY() public: - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") EWindowAutoCenterRule AutoCenterRule = EWindowAutoCenterRule::None; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bIsInitiallyMaximized = false; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") FVector2D ScreenPosition = FVector2D::ZeroVector; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bCreateTitleBar = false; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") EWindowSizingRule SizingRule = EWindowSizingRule::Autosized; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bSupportsMaximize = false; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bSupportsMinimize = true; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bHasCloseButton = true; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") FVector2D ClientSize = FVector2D::ZeroVector; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") bool bUseOSWindowBorder = false; - UPROPERTY(EditAnywhere, BlueprintReadWrite) + UPROPERTY(EditAnywhere, BlueprintReadWrite,Category="OUU|UMG|Window") FText Title = INVTEXT(""); };