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/entities/Entity.cs | 108 --------------------------------------------- 1 file changed, 108 deletions(-) delete mode 100644 scripts/entities/Entity.cs (limited to 'scripts/entities/Entity.cs') diff --git a/scripts/entities/Entity.cs b/scripts/entities/Entity.cs deleted file mode 100644 index 85a3156..0000000 --- a/scripts/entities/Entity.cs +++ /dev/null @@ -1,108 +0,0 @@ -using Godot; - -/// -/// Defino aqui que o jogo irá desenhar -/// atores em cima de itens e itens acima de corpos. -/// -public enum EntityType -{ - CORPSE, - ITEM, - ACTOR -}; - -/// -/// Classe para elementos móveis que o jogador pode interagir. -/// -public abstract partial class Entity : Sprite2D { - /// - /// A definição da entidade possui caracterísitcas padrões que definem - /// a entidade em questão. - /// - private EntityDefinition definition; - - private EntityType type; - /// - /// Usado para definir a camada da entidade no mapa. - /// - public EntityType Type { - get => type; - set { - type = value; - ZIndex = (int) type; - } - } - - /// - /// É conveniente ter acesso ao mapa dentro da entidade. Isto porque ela existe dentro - /// do mapa, então é necessário ter acesso à algumas informações. - /// - public MapData Map_Data { get; set; } - - private Vector2I gridPosition = Vector2I.Zero; - /// - /// Posição da entidade no mapa do jogo. Diferentemente de Position, GridPosition tem como formato - /// os tiles do mapa. - /// - public Vector2I GridPosition { - set { - gridPosition = value; - // O sistema de coordenadas do Godot é em pixels, mas faz mais sentido para o jogo utilizar coordenadas em tiles. - // Esta propriedade converte um sistema para o outro automaticamente. - Position = Grid.GridToWorld(value); - } - get => gridPosition; - } - - private bool blocksMovement; - /// - /// Se a entidade bloqueia movimento (não pode oculpar a mesma célula de outra entidade.) - /// - public bool BlocksMovement { - get => blocksMovement; - protected set { - blocksMovement = value; - } - } - - private string displayName; - /// - /// Nome da entidade. - /// - public string DisplayName { - get => displayName; - protected set { - displayName = value; - } - } - - public override void _Ready() - { - base._Ready(); - // Quando a entidade for carregada completamente, atualizamos sua posição para refletir - // sua posição real. - GridPosition = Grid.WorldToGrid(Position); - } - - public Entity(Vector2I initialPosition, MapData map, EntityDefinition definition) { - GridPosition = initialPosition; - Map_Data = map; - Centered = false; - - SetDefinition(definition); - } - - /// - /// Aplica uma definição de NPC para o ator. - /// Se o ator for um boneco de barro, este método é como um - /// sopro de vida. - /// - /// A definição do ator. - public virtual void SetDefinition(EntityDefinition definition) { - this.definition = definition; - BlocksMovement = definition.blocksMovement; - DisplayName = definition.name; - Type = definition.Type; - Texture = definition.texture; - } -} \ No newline at end of file -- cgit v1.2.3