/// <inheritdoc /> /// <summary> /// Получает метаданные этого природного явления /// </summary> /// <returns>Метаданные</returns> public PhenomenMetadata GetMetadata() { log.Debug(LogPhenomenMessages.GetMetadata, "SunPhenomen"); Dictionary <string, string> param = new Dictionary <string, string>(1); param.Add("Intensity", (BaseIntensity * _powerFactor).ToString(CultureInfo.InvariantCulture)); PhenomenMetadata ret = new PhenomenMetadata("SunPhenomen", _place, this.GetType().Name, param); log.Trace(LogPhenomenMessages.EndMethod, "SunPhenomen.GetMetadata"); return(ret); }
/// <summary> /// Получает метаданные этого природного явления. /// </summary> /// <returns></returns> public PhenomenMetadata GetMetadata() { log.Debug(LogPhenomenMessages.GetMetadata, "SeasonsPhenomen"); Dictionary <string, string> data = new Dictionary <string, string> { }; data.Add("step", Convert.ToString(_step)); data.Add("season", _season.ToString()); PhenomenMetadata phenomenMetadata = new PhenomenMetadata("SeasonsPhenomen", _place, this.GetType().Name, data); log.Trace(LogPhenomenMessages.EndMethod, "SeasonsPhenomen.GetMetadata"); return(phenomenMetadata); }
/// <summary> /// Воссоздает природное явление из Simple2DWorld из его метаданных /// </summary> /// <param name="phenomenMetadata">Метаданные природного явления</param> /// <returns></returns> public IPhenomen ReconstructPhenomen(PhenomenMetadata phenomenMetadata) { string name = phenomenMetadata.Name; if (name == _sunPhenomenTypeName) { return(new SunPhenomen(phenomenMetadata.Place)); } else if (name == _seasonsPhenomenTypeName) { return(new SeasonsPhenomen()); } else if (name == _mineralPhenomenTypeName) { return(new MineralsPhenomen(phenomenMetadata.Place)); } else { throw new ArgumentException("The phenomenMetadata describing phenomen isn't be contained in Simple2DWorld.", nameof(phenomenMetadata)); } }