using Godot; /// /// Ação direcionada. Esta ação é acompanhada com um vetor que representa uma /// distância tendo como ponto de partida o ator. /// public abstract partial class DirectionalAction : Action { /// /// Direção/distância do ator da ação. /// Seu significado depende da ação que implementará esta classe. /// public Vector2I Offset { get; private set; } /// /// Coordenada do alvo da ação. /// public Vector2I Destination { get => actor.GridPosition + Offset; } public DirectionalAction(Actor actor, Vector2I offset) : base(actor) { Offset = offset; } /// /// Função que obtém o alvo da ação, se houver. /// /// O ator alvo da ação, nulo se não houver. protected Entity GetTarget() { return Map_Data.GetBlockingEntityAtPosition(Destination); } }