OLS/Source/OLSAnimation/Public/AnimInstances/OLSBaseLinkedOverlayLayerAnimInstance.h

48 lines
1.4 KiB
C
Raw Normal View History

2024-09-22 21:11:19 +00:00
// © 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 "Animation/AnimInstance.h"
#include "OLSBaseLinkedOverlayLayerAnimInstance.generated.h"
/**
*
*/
UCLASS()
class OLSANIMATION_API UOLSBaseLinkedOverlayLayerAnimInstance : public UAnimInstance
{
GENERATED_BODY()
protected:
//~ Begin UAnimInstance overrides
virtual void NativeInitializeAnimation() override;
//~ End UAnimInstance overrides
protected:
UFUNCTION(BlueprintCallable, meta = (BlueprintThreadSafe), Category = "ThreadSafe|Selectors")
class UAnimSequence* SelectIdlePose(const bool isCrouching) const;
protected:
UFUNCTION(BlueprintCallable, meta = (BlueprintThreadSafe))
class UOLSBaseLayerAnimInstance* GetBaseMainAnimInstance() const;
protected:
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Mask")
TObjectPtr<class UAnimSequence> IdlePose_Standing = nullptr;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Mask")
TObjectPtr<class UAnimSequence> IdlePose_Crouching = nullptr;
UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category = "Mask")
TObjectPtr<class UAnimSequence> OverlayAnimationProps = nullptr;
protected:
UPROPERTY(Transient)
TObjectPtr<class UOLSBaseLayerAnimInstance> BaseMainAnimInstance = nullptr;
};