// Project Lab - NHTV Igad #pragma once #include "Animation/AnimInstance.h" #include "PlayerSetupState.h" #include "MainCharacterAnimation.generated.h" /** * */ UCLASS() class UNREALPROJECT_API UMainCharacterAnimation : public UAnimInstance { GENERATED_BODY() public: UMainCharacterAnimation(const FObjectInitializer& init); virtual void NativeInitializeAnimation() override; virtual void NativeUpdateAnimation(float DeltaSeconds) override; virtual FAnimInstanceProxy* CreateAnimInstanceProxy(); virtual void DestroyAnimInstanceProxy(FAnimInstanceProxy* InProxy); UFUNCTION(BlueprintNativeEvent, Category = "Animation") void OnSwingAnimation(); UFUNCTION(BlueprintCallable, Category = "Animation") void SetCharacterCustomization(const FCharacterCustomization& characterCustomization); UPROPERTY(BlueprintReadOnly, Category = "Animation") class ANetworkCharacter* character; UPROPERTY(BlueprintReadWrite, Category = "Animation") bool attacking; FCharacterCustomization charCustomization; private: // Keeps track of how many times an animation was triggered int32 m_swingAnimationSequence; struct FMainAnimProxy* m_mainAnimProxy; };