summaryrefslogtreecommitdiff
path: root/scripts/map/Tile.cs
diff options
context:
space:
mode:
authorMatheus <matheus.guedes.mg.m@gmail.com>2025-09-09 19:09:34 -0300
committerMatheus <matheus.guedes.mg.m@gmail.com>2025-09-09 19:09:34 -0300
commitc6bbb834f7758027c0df338f1520f34fad3befea (patch)
tree1818cd23c24be16fbe19b16dd0a510874d440d83 /scripts/map/Tile.cs
parentf1b51bed52ffbd90b5b7cc8dcfc6f0484bbbeb3c (diff)
Organização
Diffstat (limited to 'scripts/map/Tile.cs')
-rw-r--r--scripts/map/Tile.cs81
1 files changed, 0 insertions, 81 deletions
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;
-
-/// <summary>
-/// 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.
-/// </summary>
-public partial class Tile : Sprite2D
-{
- /// <summary>
- /// A definição do tile carrega seus valores padrão.
- /// </summary>
- private TileDefinition definition;
-
- /// <summary>
- /// Determina se atores podem andar em cima do Tile.
- /// </summary>
- public bool IsWalkable { get; private set; }
- /// <summary>
- /// Determina se o tile bloqueia visão.
- /// </summary>
- public bool IsTransparent { get; private set; }
-
- private bool isExplored = false;
- /// <summary>
- /// Se o jogador já viu este tile antes.
- /// Tiles não descobertos são invisíveis.
- /// </summary>
- public bool IsExplored {
- get => this.isExplored;
- set {
- isExplored = value;
- if (IsExplored && !Visible) {
- Visible = true;
- }
- }
- }
-
- private bool isInView = false;
- /// <summary>
- /// Se o jogador vê o tile neste exato momento.
- /// Elementos neste tile estão dentro do campo de visão do jogador.
- /// </summary>
- 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);
- }
-
- /// <summary>
- /// Define as características do tile.
- /// </summary>
- /// <param name="definition">Definição do tile.</param>
- public void SetDefinition(TileDefinition definition) {
- this.definition = definition;
- Modulate = definition.DarkColor;
- Texture = definition.Texture;
- IsWalkable = definition.IsWalkable;
- IsTransparent = definition.IsTransparent;
- }
-}