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