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/Tile.cs | 81 ----------------------------------------------------- 1 file changed, 81 deletions(-) delete mode 100644 scripts/map/Tile.cs (limited to 'scripts/map/Tile.cs') diff --git a/scripts/map/Tile.cs b/scripts/map/Tile.cs deleted file mode 100644 index 39f7486..0000000 --- a/scripts/map/Tile.cs +++ /dev/null @@ -1,81 +0,0 @@ -using Godot; -using System; - -/// -/// O mundo do jogo é composto por Tiles. -/// Um tile é um quadrado de 16x16 que representa uma -/// unidade discreta do cenário. Tiles podem agir como -/// parede, chão, ou outras funções. -/// -public partial class Tile : Sprite2D -{ - /// - /// A definição do tile carrega seus valores padrão. - /// - private TileDefinition definition; - - /// - /// Determina se atores podem andar em cima do Tile. - /// - public bool IsWalkable { get; private set; } - /// - /// Determina se o tile bloqueia visão. - /// - public bool IsTransparent { get; private set; } - - private bool isExplored = false; - /// - /// Se o jogador já viu este tile antes. - /// Tiles não descobertos são invisíveis. - /// - public bool IsExplored { - get => this.isExplored; - set { - isExplored = value; - if (IsExplored && !Visible) { - Visible = true; - } - } - } - - private bool isInView = false; - /// - /// Se o jogador vê o tile neste exato momento. - /// Elementos neste tile estão dentro do campo de visão do jogador. - /// - public bool IsInView { - get => isInView; - set { - isInView = value; - Modulate = isInView ? definition.LitColor : definition.DarkColor; - if (IsInView && !IsExplored) { - IsExplored = true; - } - } - } - - public Tile(Vector2I pos, TileDefinition definition) - { - // Tile herda da classe Sprite2D. - // Por padrão, a posição do Sprite2D é no centro de sua textura. - // Para o jogo, faz mais sentido que a posição seja no - // canto superior esquerdo. - Centered = false; - // Tiles começam invisíveis porque não foram vistos pelo jogador. - Visible = false; - Position = Grid.GridToWorld(pos); - SetDefinition(definition); - } - - /// - /// Define as características do tile. - /// - /// Definição do tile. - public void SetDefinition(TileDefinition definition) { - this.definition = definition; - Modulate = definition.DarkColor; - Texture = definition.Texture; - IsWalkable = definition.IsWalkable; - IsTransparent = definition.IsTransparent; - } -} -- cgit v1.2.3