Ejemplo n.º 1
0
 /// <inheritdoc />
 /// <summary>
 /// Инициализирует метаданные окружающей среды из размера поля и
 /// метаданных природных явлений, действующих в окружающей среде
 /// </summary>
 /// <param name="size">Размер поля</param>
 /// <param name="phenomenaMetadata">Метаданные природных явлений</param>
 public EnvironmentMetadata(MapSize size, List <PhenomenMetadata> phenomenaMetadata)
 {
     log.Trace(LogMetadataMessages.Constructor, "EnvironmentMetadata");
     if (size == null)
     {
         ArgumentNullException ex = new ArgumentNullException(nameof(size));
         log.Error(LogMetadataMessages.NullArgument, "MapSize", ex);
         throw ex;
     }
     Size = size;
     if (phenomenaMetadata == null)
     {
         ArgumentNullException ex = new ArgumentNullException(nameof(phenomenaMetadata));
         log.Error(LogMetadataMessages.NullArgument, "List<PhenomenMetadata>", ex);
         throw ex;
     }
     foreach (var phenomen in phenomenaMetadata)
     {
         log.Info(LogMetadataMessages.AddingNewListElement, phenomen.Name, phenomen);
         this.Add(phenomen.Name, phenomen);
     }
     log.Trace(LogMetadataMessages.OkConstructor, "EnvironmentMetadata");
 }