diff options
Diffstat (limited to 'scripts/actors/actions/BumpAction.cs')
| -rw-r--r-- | scripts/actors/actions/BumpAction.cs | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/scripts/actors/actions/BumpAction.cs b/scripts/actors/actions/BumpAction.cs index 5958b11..def721b 100644 --- a/scripts/actors/actions/BumpAction.cs +++ b/scripts/actors/actions/BumpAction.cs @@ -1,6 +1,10 @@ using Godot; -using System; +/// <summary> +/// Ação de "Esbarramento", utilizada principalmente pelo jogador. +/// Esta ação direcionada tentará andar para o destino, se houver um +/// ator no caminho, uma ação de ataque é gerada no lugar. +/// </summary> public partial class BumpAction : DirectionalAction { public BumpAction(Actor actor, Vector2I offset) : base(actor, offset) @@ -11,14 +15,18 @@ public partial class BumpAction : DirectionalAction { Vector2I destination = actor.GridPosition + Offset; + // Declaramos uma ação genérica. Action action; + // Se houver um ator no destino, crie uma ação de ataque. if (GetBlockingActorAtPosition(destination) != null) { action = new MeleeAction(actor, Offset); } else { + // Mas se não houver, crie uma ação de movimento. action = new MovementAction(actor, Offset); } + // Executa a ação. action.Perform(); } } |
