// © 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 EOLSMovementDirection SelectMovementDirectionFromAngle(float angle, const EOLSRotationMode& rotationMode, const EOLSGait& gait, const EOLSMovementDirectionBias& movementDirectionBias, const FOLSMovementDirectionThresholds& movementDirectionThreshold); UFUNCTION(BlueprintCallable,BlueprintPure,Category = "OLS|Function Library",meta=(BlueprintThreadSafe)) static EOLSMovementDirection GetOppositeMovementDirection(const EOLSMovementDirection& currentDirection, const EOLSMovementDirectionBias& movementDirectionBias); public: UFUNCTION(BlueprintCallable, Category = "OLS|Function Library") static void TryLinkAnimLayer(USkeletalMeshComponent* mesh, TSubclassOf animClass, FName groupName, bool shouldUnlinkGroupIfInvalid); };