// Project Lab - NHTV Igad #include "UnrealProject.h" #include "WiebertAnimation.h" #include "NetworkCharacter.h" #include "Animation/AnimNodeBase.h" #include "AnimationProxy.h" UWiebertAnimation::UWiebertAnimation(const FObjectInitializer& init) : Super(init) { character = nullptr; attacking = false; charCustomization = FCharacterCustomization(); m_swingAnimationSequence = 0; } void UWiebertAnimation::NativeInitializeAnimation() { attacking = false; Super::NativeInitializeAnimation(); character = Cast(this->GetOwningActor()); if (character) { m_swingAnimationSequence = character->swingAnimationSequence; } } void UWiebertAnimation::NativeUpdateAnimation(float DeltaSeconds) { if(character && character->swingAnimationSequence > m_swingAnimationSequence) { attacking = true; m_swingAnimationSequence = character->swingAnimationSequence; } } void UWiebertAnimation::SetCharacterCustomization(const FCharacterCustomization& characterCustomization) { charCustomization = characterCustomization; } FAnimInstanceProxy* UWiebertAnimation::CreateAnimInstanceProxy() { check(!m_mainAnimProxy); m_mainAnimProxy = new FMainAnimProxy(); m_mainAnimProxy->boneNames[0] = "head"; m_mainAnimProxy->boneNames[1] = "thigh_l"; m_mainAnimProxy->boneNames[2] = "thigh_r"; m_mainAnimProxy->boneNames[3] = "upperarm_l"; m_mainAnimProxy->boneNames[4] = "upperarm_r"; m_mainAnimProxy->boneNames[5] = "spine_03"; m_mainAnimProxy->boneNames[6] = "root"; return m_mainAnimProxy; } void UWiebertAnimation::DestroyAnimInstanceProxy(FAnimInstanceProxy* InProxy) { check(InProxy == m_mainAnimProxy); delete InProxy; m_mainAnimProxy = nullptr; } void UWiebertAnimation::OnSwingAnimation_Implementation() { }