From 2fb787a744d4f7a37d81233d2913a5ef39122f73 Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 28 Aug 2025 00:38:48 -0300 Subject: Comentarios --- scripts/actors/AI/BaseAI.cs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'scripts/actors/AI/BaseAI.cs') diff --git a/scripts/actors/AI/BaseAI.cs b/scripts/actors/AI/BaseAI.cs index f9b5387..23cdcf6 100644 --- a/scripts/actors/AI/BaseAI.cs +++ b/scripts/actors/AI/BaseAI.cs @@ -1,17 +1,36 @@ using Godot; +/// +/// base para as IAs do jogo. +/// public abstract partial class BaseAI : Node { + /// + /// Corpo controlado pela IA. + /// O corpo é a marionete da alma. + /// protected Actor body; public override void _Ready() { base._Ready(); + // Por padrão, a IA é filha do nó de seu corpo. body = GetParent(); } + /// + /// Computa um único turno para o ator controlado. + /// public abstract void Perform(); + /// + /// Utiliza o pathfinder do mapa para obter um caminho + /// da posição atual do ator para um destino qualquer. + /// + /// Destino + /// Vetor com vetores, passo a passo para chegar no destino. public Godot.Collections.Array GetPathTo(Vector2I destination) { + // Arrays do Godot são muito mais confortáveis de manipular, então + // eu converto o Array do C# em um array do Godot antes de retornar o caminho. Godot.Collections.Array list = []; Vector2[] path = body.Map_Data.Pathfinder.GetPointPath(body.GridPosition, destination); list.AddRange(path); -- cgit v1.2.3