Exemplo n.º 1
0
        public static MonsterEF ToTrackedEF(this MonsterTO monster, MonsterEF monsterToModify)
        {
            if (monsterToModify is null)
            {
                throw new ArgumentNullException(nameof(monsterToModify));
            }
            if (monster is null)
            {
                throw new ArgumentNullException(nameof(monster));
            }

            monsterToModify.Id                        = monster.Id;
            monsterToModify.Title                     = monster.Title;
            monsterToModify.Author                    = monster.Author;
            monsterToModify.Description               = monster.Description;
            monsterToModify.LairAction                = monster.LairAction;
            monsterToModify.RegEffects                = monster.RegEffects;
            monsterToModify.IsWide                    = monster.IsWide;
            monsterToModify.Name                      = monster.Name;
            monsterToModify.Type                      = monster.Type;
            monsterToModify.Size                      = monster.Size;
            monsterToModify.Alignment                 = monster.Alignment;
            monsterToModify.ArmorClass                = monster.ArmorClass;
            monsterToModify.Health                    = monster.Health.ToEF();
            monsterToModify.Speeds                    = monster.Speeds?.ToEF(monster.Id);
            monsterToModify.Stats                     = monster.ToEFStat();
            monsterToModify.Skills                    = monster.ToEFSkill(monster.Id);
            monsterToModify.Vulnerabilities           = monster.ToEFVuln(monster.Id);
            monsterToModify.OtherVulnerabilities      = monster.OtherVulnerabilities;
            monsterToModify.Resistances               = monster.ToEFResist(monster.Id);
            monsterToModify.OtherResistences          = monster.OtherResistences;
            monsterToModify.Immunities                = monster.ToEFImmu(monster.Id);
            monsterToModify.OtherImmunities           = monster.OtherImmunities;
            monsterToModify.ConditionImmunities       = monster.ToEFCondImmu(monster.Id);
            monsterToModify.Senses                    = monster.ToEFSense();
            monsterToModify.Languages                 = monster.ToEFLang(monster.Id);
            monsterToModify.DifficultyRating          = monster.DifficultyRating;
            monsterToModify.Traits                    = monster.Traits.Select(x => x.ToEF()).ToList();
            monsterToModify.Actions                   = monster.Actions.Select(x => x.ToEF()).ToList();
            monsterToModify.NbrLegendaryActionPerTurn = monster.NbrLegendaryActionPerTurn;
            monsterToModify.LegendaryActions          = monster.LegendaryActions.Select(x => x.ToEF()).ToList();
            monsterToModify.Reactions                 = monster.Reactions.Select(x => x.ToEF()).ToList();
            monsterToModify.IsDeleted                 = monster.IsDeleted;

            return(monsterToModify);
        }
Exemplo n.º 2
0
 public static MonsterTO ToTO(this MonsterEF monster)
 {
     return(new MonsterTO
     {
         Id = monster.Id,
         Title = monster.Title,
         Author = monster.Author,
         Description = monster.Description,
         LairAction = monster.LairAction,
         RegEffects = monster.RegEffects,
         IsWide = monster.IsWide,
         Name = monster.Name,
         Type = monster.Type,
         Size = monster.Size,
         Alignment = monster.Alignment,
         ArmorClass = monster.ArmorClass,
         Health = monster.Health?.ToTO(),
         Speeds = monster.Speeds?.ToTO(),
         Stats = monster.Stats?.ToTO(),
         Saving = monster.Stats?.ToSavingTO(),
         Skills = monster.Skills?.ToTOSkill(),
         Vulnerabilities = monster.Vulnerabilities?.ToTOVuln(),
         OtherVulnerabilities = monster.OtherVulnerabilities,
         Resistances = monster.Resistances?.ToTOResist(),
         OtherResistences = monster.OtherResistences,
         Immunities = monster.Immunities?.ToTOImmu(),
         OtherImmunities = monster.OtherImmunities,
         ConditionImmunities = monster.ConditionImmunities?.ToTOCondImmu(),
         Senses = monster.Senses?.ToTOSense(),
         Languages = monster.Languages?.ToTOLang(),
         DifficultyRating = monster.DifficultyRating,
         Traits = monster.Traits.Select(x => x.ToTO()).ToList(),
         Actions = monster.Actions.Select(x => x.ToTO()).ToList(),
         NbrLegendaryActionPerTurn = monster.NbrLegendaryActionPerTurn,
         LegendaryActions = monster.LegendaryActions.Select(x => x.ToTO()).ToList(),
         Reactions = monster.Reactions.Select(x => x.ToTO()).ToList(),
         IsDeleted = monster.IsDeleted
     });
 }