Ejemplo n.º 1
0
        /// <summary>
        /// Create PlayerInfoModel from character
        /// </summary>
        /// <param name="data"></param>
        public EntityInfoModel(CharacterModel data)
        {
            PlayerType = data.PlayerType;
            Guid       = data.Guid;
            Alive      = data.Alive;
            Experience = data.Experience;
            Attack     = data.Attack;
            Defense    = data.Defense;
            //ExperienceRemaining = data.ExperienceRemaining;
            //Level = data.Level;
            Name           = data.Name;
            Description    = data.Description;
            CharacterClass = data.CharacterClass;
            Speed          = data.GetSpeed();
            ImageURI       = data.ImageURI;

            MaxHealth     = data.MaxHealth;
            CurrentHealth = data.CurrentHealth;
            // Set the strings for the items
            HeadId        = data.HeadId;
            PrimaryHandId = data.PrimaryHandId;
            OffHandId     = data.OffHandId;
            NecklaceId    = data.NecklaceId;
            RightFingerId = data.RightFingerId;
            LeftFingerId  = data.LeftFingerId;
            Feet          = data.Feet;
            if (data.Level > 1)
            {
                this.LevelUpToValue(data.Level);
                //this.LevelUp();
            }
        }
 /// <summary>
 /// Constructs a BattleEntityModel based on the character input
 /// </summary>
 /// <param name="data"></param>
 public BattleEntityModel(CharacterModel data)
 {
     EntityType       = EntityTypeEnum.Character;
     Id               = data.Id;
     Alive            = data.Alive;
     ExperiencePoints = data.TotalExperience;
     Level            = data.Level;
     Name             = data.Name;
     Description      = data.Description;
     Speed            = data.GetSpeed();
     ImageURI         = data.ImageURI;
     CurrentHealth    = data.CurrentHealth;
     MaxHealth        = data.MaxHealth;
     Attack           = data.GetAttack();
     Defense          = data.GetDefense();
     Range            = data.GetRange();
     IconURI          = data.IconURI;
 }
        /// <summary>
        /// Create PlayerInfoModel from character
        /// </summary>
        /// <param name="data"></param>
        public PlayerInfoModel(CharacterModel data)
        {
            PlayerType          = data.PlayerType;
            Guid                = data.Guid;
            Alive               = data.Alive;
            ExperiencePoints    = data.ExperienceTotal;
            ExperienceRemaining = data.ExperienceRemaining;
            Level               = data.Level;
            Name                = data.Name;
            Description         = data.Description;
            Speed               = data.GetSpeed();
            ImageURI            = data.ImageURI;
            CurrentHealth       = data.GetCurrentHealthTotal;
            MaxHealth           = data.GetMaxHealthTotal;
            Attack              = data.GetAttack();
            Defense             = data.GetDefense();

            // Set the Base Attributes
            Speed         = data.Speed;
            Defense       = data.Defense;
            Attack        = data.Attack;
            MaxHealth     = data.MaxHealth;
            CurrentHealth = data.CurrentHealth;


            // Set the strings for the items
            Head        = data.Head;
            Feet        = data.Feet;
            Necklass    = data.Necklass;
            RightFinger = data.RightFinger;
            LeftFinger  = data.LeftFinger;
            Feet        = data.Feet;

            // Give the copy a differet quid, so it can be used in the battles as a copy
            Guid = System.Guid.NewGuid().ToString();

            // Set current experience to be 1 above minimum.
            ExperienceTotal = LevelTableHelper.Instance.LevelDetailsList[Level - 1].Experience + 1;
        }
        /// <summary>
        /// Update the BattleEntityModel with new character stats.
        /// For example, if a character levels up or gets new items that increase speed.
        /// </summary>
        /// <param name="data"></param>
        /// <returns></returns>
        public bool Update(CharacterModel data)
        {
            // should not update a monster entity with a character
            if (EntityType != EntityTypeEnum.Character)
            {
                return(false);
            }

            // reflect updates in character stats
            Alive            = data.Alive;
            ExperiencePoints = data.TotalExperience;
            Level            = data.Level;
            Name             = data.Name;
            Description      = data.Description;
            Speed            = data.GetSpeed();
            ImageURI         = data.ImageURI;
            CurrentHealth    = data.CurrentHealth;
            MaxHealth        = data.MaxHealth;
            Attack           = data.GetAttack();
            Defense          = data.GetDefense();
            Range            = data.GetRange();
            return(true);
        }