using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

/**
* @overview Life of German Reallife - Entities Ban (Ban.cs)
* @author VegaZ
* @copyright (c) 2008 - 2018 Life of German
*/

namespace ReallifeGamemode.Server.Entities
{
    public class Character
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int Id { get; set; }

        [ForeignKey("User")]
        public int UserId { get; set; }
        public User User { get; set; }

        public bool Gender { get; set; }
        public byte Father { get; set; }
        public byte Mother { get; set; }
        public float Similarity { get; set; }
        public float SkinSimilarity { get; set; }

        public float NoseWidth { get; set; }
        public float NoseBottomHeight { get; set; }
        public float NoseTipLength { get; set; }
        public float NoseBridgeDepth { get; set; }
        public float NoseTipHeight { get; set; }
        public float NoseBroken { get; set; }
        public float BrowHeight { get; set; }
        public float BrowDepth { get; set; }
        public float CheekboneHeight { get; set; }
        public float CheekboneWidth { get; set; }
        public float CheekDepth { get; set; }
        public float EyeSize { get; set; }
        public float LipThickness { get; set; }
        public float JawWidth { get; set; }
        public float JawShape { get; set; }
        public float ChinHeight { get; set; }
        public float ChinDepth { get; set; }
        public float ChinWidth { get; set; }
        public float ChinIndent { get; set; }
        public float NeckWidth { get; set; }

        public byte Blemishes { get; set; }
        public float BlemishesOpacity { get; set; }
        public byte FacialHair { get; set; }
        public float FacialHairOpacity { get; set; }
        public byte Eyebrows { get; set; }
        public float EyebrowsOpacity { get; set; }
        public byte Ageing { get; set; }
        public float AgeingOpacity { get; set; }
        public byte Makeup { get; set; }
        public float MakeupOpacity { get; set; }
        public byte Blush { get; set; }
        public float BlushOpacity { get; set; }
        public byte Complexion { get; set; }
        public float ComplexionOpacity { get; set; }
        public byte SunDamage { get; set; }
        public float SunDamageOpacity { get; set; }
        public byte Lipstick { get; set; }
        public float LipstickOpacity { get; set; }
        public byte Freckles { get; set; }
        public float FrecklesOpacity { get; set; }
        public byte ChestHair { get; set; }
        public float ChestHairOpacity { get; set; }

        public byte Hair { get; set; }
        public byte HairColor { get; set; }
        public byte HairHighlightColor { get; set; }
        public byte EyebrowColor { get; set; }
        public byte BeardColor { get; set; }
        public byte EyeColor { get; set; }
        public byte BlushColor { get; set; }
        public byte LipstickColor { get; set; }
        public byte ChestHairColor { get; set; }
    }
}
