diff options
Diffstat (limited to 'scripts/actors/Enemy.cs')
| -rw-r--r-- | scripts/actors/Enemy.cs | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/actors/Enemy.cs b/scripts/actors/Enemy.cs index 6c111b1..03fe309 100644 --- a/scripts/actors/Enemy.cs +++ b/scripts/actors/Enemy.cs @@ -1,16 +1,29 @@ using Godot; using System; +/// <summary> +/// Enum das diferentes IAs disponíveis. +/// </summary> public enum AIType { None, DefaultHostile }; +/// <summary> +/// Um inimigo é uma espécie de ator que é +/// hostil ao jogador. Inimigos são controlados por IA. +/// </summary> public partial class Enemy : Actor { + /// <summary> + /// A alma do ator. Gera ações que são executadas todo turno. + /// </summary> public BaseAI Soul { get; private set; } + /// <summary> + /// Enquanto a alma controlar o corpo, o ser continua vivo. + /// </summary> public bool IsAlive { get => Soul != null; } public Enemy(Vector2I initialPosition, MapData map, EnemyDefinition definition) : base(initialPosition, map, definition) @@ -18,10 +31,17 @@ public partial class Enemy : Actor SetDefinition(definition); } + /// <summary> + /// Além de definir as características gerais de um ator, + /// também define qual IA utilizar. + /// </summary> + /// <param name="definition">Definição do inimigo.</param> public void SetDefinition(EnemyDefinition definition) { + // Definimos as características do ator. base.SetDefinition(definition); + // Definimos qual IA utilizar. switch(definition.AI) { case AIType.None: break; |
