// © 2024 Long Ly. All rights reserved. Any unauthorized use, reproduction, or distribution of this trademark is strictly prohibited and may result in legal action. #pragma once #include "CoreMinimal.h" #include "SequenceEvaluatorLibrary.h" #include "Data/OLSAnimationData.h" #include "Data/OLSEnumLibrary.h" #include "Kismet/BlueprintFunctionLibrary.h" #include "OLSLocomotionBPLibrary.generated.h" /** * */ UCLASS() class OLSANIMATION_API UOLSLocomotionBPLibrary : public UBlueprintFunctionLibrary { GENERATED_BODY() public: UFUNCTION(BlueprintCallable,BlueprintPure,Category = "OLS|Function Library",meta=(BlueprintThreadSafe)) static EOLSCardinalDirection SelectCardinalDirectionFromAngle(float angle, float deadZone, EOLSCardinalDirection currentDirection, bool useCurrentDirection = false); UFUNCTION(BlueprintCallable,BlueprintPure,Category = "OLS|Function Library",meta=(BlueprintThreadSafe)) static EOLSCardinalDirection GetOppositeCardinalDirectional(EOLSCardinalDirection currentDirection); UFUNCTION(BlueprintCallable,BlueprintPure,Category = "OLS|Function Library",meta=(BlueprintThreadSafe)) static EOLSHipDirection GetOppositeHipDirection(EOLSHipDirection currentHipDirection); public: UFUNCTION(BlueprintCallable, Category = "OLS|Function Library") static void TryLinkAnimLayer(USkeletalMeshComponent* mesh, TSubclassOf animClass, FName groupName, bool shouldUnlinkGroupIfInvalid); };