using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;

namespace Projekt
{
    /// <summary>
    /// ist fuer den Status von Hero und Monster verantwortlich
    /// </summary>
    public class Status
    {

        public Status() //Konstruktor, legt Attribute fest
        {
            attributes = new int[this.GetAttributesNames().Length];
        }

        string name = string.Empty;

        

        public string Name //Name des Helden/Monsters
        {
            set { name = value; }
            get { return name; }
        }

        

        string avatarfile=string.Empty; //File des Avatar

        public string Avatarfile
        {
            get { return avatarfile; }
            set { avatarfile = value; }
        }

        public Image GetAvatar()
        {
            return Bilder.ResourceManager.GetObject(avatarfile) as Bitmap;
        }

        int health; //Momentane Gesundheit des Helden/Monsters

        public int Health
        {
            get { return health; }
            set { health = value; }
        }


   
        public enum ATTRIBUTES //neue Attribute werden dynamisch in Code umgesetzt
        {
            maxhealth,
            level,
            might,
            dexterity,
            reaction,
            armor,
            Gold,
            healingpotions

        };

        
       int[]  attributes; //speichert Werte der Attribute
        
        public int[] Attributes 
        {
            set { attributes = value; }
            get { return attributes; }
            
        }
     

        public void AttributeSpecialSet(int atr, int val) //setzen eines Attributes
        {  
            attributes[atr] = val;
        }

       
        public int AttributeSpecialGet(int atr) //liefert ein Attribut
        {
            return attributes[atr];
        }

        
        public string[] GetAttributesNames() //liefert alle Attributnamen
        {
            return Enum.GetNames(typeof(ATTRIBUTES));
        }

        string gender; //legt gender fest

        public string Gender
        {
            get { return gender; }
            set { gender = value; }
        }

        



    }
}
