From c6bbb834f7758027c0df338f1520f34fad3befea Mon Sep 17 00:00:00 2001 From: Matheus Date: Tue, 9 Sep 2025 19:09:34 -0300 Subject: Organização MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- scripts/map/Map.cs | 86 ------------------------------------------------------ 1 file changed, 86 deletions(-) delete mode 100644 scripts/map/Map.cs (limited to 'scripts/map/Map.cs') diff --git a/scripts/map/Map.cs b/scripts/map/Map.cs deleted file mode 100644 index 148bda6..0000000 --- a/scripts/map/Map.cs +++ /dev/null @@ -1,86 +0,0 @@ -using Godot; - -/// -/// A parte visual do mapa. -/// -public partial class Map : Node2D -{ - /// - /// Dados do mapa. - /// - public MapData Map_Data { get; private set; } - - /// - /// raio de alcance da visão do jogador. - /// - [Export] - private int fovRadius = 12; - - /// - /// Gerador de mapas. - /// - private DungeonGenerator generator; - - FieldOfView fieldOfView; - - private Node2D tilesNode; - private Node2D entitiesNode; - - public override void _Ready() - { - base._Ready(); - // Começamos obtendo nós relevantes para o mapa. - generator = GetNode("Generator"); - fieldOfView = GetNode("FieldOfView"); - tilesNode = GetNode("Tiles"); - entitiesNode = GetNode("Entities"); - } - - /// - /// Coloca todos os tiles do mapa no mundo do jogo. - /// - private void PlaceTiles() { - foreach (Tile tile in Map_Data.Tiles) { - tilesNode.AddChild(tile); - } - } - - /// - /// Coloca todas as entidades do mapa no mundo do jogo. - /// - private void PlaceEntities() { - foreach (Entity entity in Map_Data.Entities) { - entitiesNode.AddChild(entity); - } - } - - /// - /// Cria um andar da masmorra utilizando o gerador de mapa. - /// - /// O gerador de mapas precisa do jogador. - public void Generate(Player player) - { - Map_Data = generator.GenerateDungeon(player); - - Map_Data.EntityPlaced += OnEntityPlaced; - - PlaceTiles(); - PlaceEntities(); - } - - /// - /// Atualiza o campo de visão do mapa com base em uma coordenada. - /// - /// Centro de visão, normalmente é a posição do jogador. - public void UpdateFOV(Vector2I pos) { - fieldOfView.UpdateFOV(Map_Data, pos, fovRadius); - // Esconde ou revela entidades com base no campo de visão. - foreach (Entity entity in Map_Data.Entities) { - entity.Visible = Map_Data.GetTile(entity.GridPosition).IsInView; - } - } - - private void OnEntityPlaced(Entity entity) { - entitiesNode.AddChild(entity); - } -} -- cgit v1.2.3