From fbc055308f093a6527781cb16ce896ac253219ab Mon Sep 17 00:00:00 2001 From: Matheus Date: Thu, 4 Sep 2025 12:46:30 -0300 Subject: Modificado inspetor --- scripts/map/MapData.cs | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'scripts/map/MapData.cs') diff --git a/scripts/map/MapData.cs b/scripts/map/MapData.cs index 3b03de8..de0ddf0 100644 --- a/scripts/map/MapData.cs +++ b/scripts/map/MapData.cs @@ -197,6 +197,38 @@ public partial class MapData : RefCounted return null; } + /// + /// Obtém todos os atores na posição especificada. + /// É possível haver mais de um ator na mesma posição se um deles for morto. + /// + /// Vetor posição + /// Lista com todos os atores na posição especificada. + public Godot.Collections.Array GetActorsAtPosition(Vector2I pos) { + Godot.Collections.Array ZOfZero = []; + Godot.Collections.Array ZOfOne = []; + Godot.Collections.Array ZOfTwo = []; + + // Pego todos os atores + foreach (Actor actor in Actors) { + if (actor.GridPosition == pos) { + switch (actor.ZIndex) { + case 0: + ZOfZero.Add(actor); + break; + case 1: + ZOfOne.Add(actor); + break; + case 2: + ZOfTwo.Add(actor); + break; + } + } + } + + // Retorno os atores ordenados por ZIndex. + return ZOfZero + ZOfOne + ZOfTwo; + } + /// /// Verifica se é possível caminhar na coordenada especificada. /// Este método será removido. -- cgit v1.2.3