/// <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); }