예제 #1
0
        /// <summary>
        /// Получает прототип метаданных мира.
        /// </summary>
        /// <returns>Прототип googleProtobuf</returns>
        public Protobuff.Metadata.WorldMetadata GetProtoMetadata()
        {
            Protobuff.Metadata.WorldMetadata ret = new Protobuff.Metadata.WorldMetadata();

            ret.Age = Age;
            ret.EnvironmentMetadata = EnvironmentMetadata.GetProtoMetadata();
            ret.Name = Name;
            foreach (var pair in LifeFormsMetadata)
            {
                ret.LifeFormMetadata.Add(pair.Key, pair.Value.GetProtoMetadata());
            }

            return(ret);
        }
예제 #2
0
 /// <summary>
 /// Инициализирует метаданные мира из их прототипа
 /// </summary>
 /// <param name="protoMetadata">прототип googleProtobuff</param>
 public WorldMetadata(Protobuff.Metadata.WorldMetadata protoMetadata)
 {
     if (protoMetadata == null)
     {
         throw  new ArgumentNullException(nameof(protoMetadata));
     }
     Name = protoMetadata.Name;
     Age  = protoMetadata.Age;
     LifeFormsMetadata   = new Dictionary <long, LifeFormMetadata>();
     EnvironmentMetadata = new EnvironmentMetadata(protoMetadata.EnvironmentMetadata);
     foreach (var pair in protoMetadata.LifeFormMetadata)
     {
         LifeFormsMetadata.Add(pair.Key, new LifeFormMetadata(pair.Value));
     }
 }
예제 #3
0
        /// <summary>
        /// Получает прототип метаданных мира.
        /// </summary>
        /// <returns>Прототип googleProtobuf</returns>
        public Protobuff.Metadata.WorldMetadata GetProtoMetadata()
        {
            log.Trace(LogMetadataMessages.ProtobuffFromMetadata, "WorldMetadata");
            Protobuff.Metadata.WorldMetadata ret = new Protobuff.Metadata.WorldMetadata();

            ret.Age = Age;
            ret.EnvironmentMetadata = EnvironmentMetadata.GetProtoMetadata();
            ret.Name = Name;
            foreach (var pair in this)
            {
                ret.LifeFormMetadata.Add(pair.Key, pair.Value.GetProtoMetadata());
            }
            log.Info("Возраст {0}, Имя {1}, Кол-во метаданных форм жизни {2}", Age, Name, this.Count);
            log.Trace(LogMetadataMessages.OkProtobuffFromMetadata);
            return(ret);
        }
예제 #4
0
 /// <summary>
 /// Инициализирует метаданные мира из их прототипа
 /// </summary>
 /// <param name="protoMetadata">прототип googleProtobuff</param>
 public WorldMetadata(Protobuff.Metadata.WorldMetadata protoMetadata)
 {
     log.Trace(LogMetadataMessages.MetadataFromProtobuff, "WorldMetadata");
     if (protoMetadata == null)
     {
         ArgumentNullException ex = new ArgumentNullException(nameof(protoMetadata));
         log.Error(LogMetadataMessages.NullArgument, "Protobuff.Metadata.WorldMetadata protoMetadata");
     }
     Name = protoMetadata.Name;
     Age  = protoMetadata.Age;
     EnvironmentMetadata = new EnvironmentMetadata(protoMetadata.EnvironmentMetadata);
     foreach (var pair in protoMetadata.LifeFormMetadata)
     {
         this.Add(pair.Key, new LifeFormMetadata(pair.Value));
     }
     log.Info("Возраст {0}, Имя {1}, Кол-во метаданных форм жизни {2}", Age, Name, this.Count);
     log.Trace(LogMetadataMessages.OkMetadataFromProtobuff);
 }