Files
ArenaFPS/Plugins/GameFeatures/TopDownArena/Source/TopDownArenaRuntime/Private/TopDownArenaMovementComponent.cpp
2025-11-17 21:49:11 +00:00

36 lines
926 B
C++

// Copyright Epic Games, Inc. All Rights Reserved.
#include "TopDownArenaMovementComponent.h"
#include "AbilitySystemGlobals.h"
#include "TopDownArenaAttributeSet.h"
#include UE_INLINE_GENERATED_CPP_BY_NAME(TopDownArenaMovementComponent)
UTopDownArenaMovementComponent::UTopDownArenaMovementComponent(const FObjectInitializer& ObjectInitializer)
: Super(ObjectInitializer)
{
}
float UTopDownArenaMovementComponent::GetMaxSpeed() const
{
if (UAbilitySystemComponent* ASC = UAbilitySystemGlobals::GetAbilitySystemComponentFromActor(GetOwner()))
{
if (MovementMode == MOVE_Walking)
{
if (ASC->HasMatchingGameplayTag(TAG_Gameplay_MovementStopped))
{
return 0;
}
const float MaxSpeedFromAttribute = ASC->GetNumericAttribute(UTopDownArenaAttributeSet::GetMovementSpeedAttribute());
if (MaxSpeedFromAttribute > 0.0f)
{
return MaxSpeedFromAttribute;
}
}
}
return Super::GetMaxSpeed();
}