26 lines
745 B
C#
26 lines
745 B
C#
using UnrealSharp.Engine;
|
|
using UnrealSharp.Attributes;
|
|
using UnrealSharp.BusyRabbit;
|
|
using UnrealSharp.GameplayAbilities;
|
|
using UnrealSharp.CoreUObject;
|
|
|
|
namespace GameAbilitySystem.Ability.Common;
|
|
// 角色移动
|
|
|
|
[UClass]
|
|
public class UMoveAbility : UBusyGameAbility
|
|
{
|
|
protected override void ActivateAbilityFromEvent(FGameplayEventData eventData)
|
|
{
|
|
base.ActivateAbilityFromEvent(eventData);
|
|
if (UGameplayStatics.GetPlayerController(0) is ALevelPlayerController pc)
|
|
{
|
|
pc.GetCursorPosition(out FVector2D position);
|
|
if (eventData.Instigator is ABusyPawnBase pawn)
|
|
{
|
|
pawn.MovementComponent.MoveTo(position);
|
|
}
|
|
}
|
|
EndAbility();
|
|
}
|
|
} |