public static void UpgradeWorld(string directoryName) { WorldInfo worldInfo = WorldsManager.GetWorldInfo(directoryName); if (worldInfo == null) { object[] objArray1 = new object[] { directoryName }; throw new InvalidOperationException(string.Format("Cannot determine version of world at \"{0}\"", (object[])objArray1)); } if (worldInfo.SerializationVersion != SerializationVersion) { object[] objArray2 = new object[] { SerializationVersion }; ProgressManager.UpdateProgress(string.Format("Upgrading World To {0}", (object[])objArray2), 0f); List <VersionConverter> list = FindTransform(worldInfo.SerializationVersion, SerializationVersion, (IEnumerable <VersionConverter>)m_versionConverters, 0); if (list == null) { object[] objArray3 = new object[] { worldInfo.SerializationVersion, SerializationVersion }; throw new InvalidOperationException(string.Format("Cannot find conversion path from version \"{0}\" to version \"{1}\"", (object[])objArray3)); } foreach (VersionConverter converter in list) { object[] objArray4 = new object[] { converter.SourceVersion, converter.TargetVersion }; Log.Information(string.Format("Upgrading world version \"{0}\" to \"{1}\".", (object[])objArray4)); converter.ConvertWorld(directoryName); } WorldInfo info2 = WorldsManager.GetWorldInfo(directoryName); if (info2.SerializationVersion != SerializationVersion) { object[] objArray5 = new object[] { SerializationVersion, info2.SerializationVersion }; throw new InvalidOperationException(string.Format("Upgrade produced invalid project version. Expected \"{0}\", found \"{1}\".", (object[])objArray5)); } AnalyticsParameter[] parameters = new AnalyticsParameter[] { new AnalyticsParameter("SourceVersion", worldInfo.SerializationVersion), new AnalyticsParameter("TargetVersion", SerializationVersion) }; AnalyticsManager.LogEvent("[VersionConverter] Upgrade world", parameters); } }
public static void Initialize() { LastLaunchedVersion = SettingsManager.LastLaunchedVersion; SettingsManager.LastLaunchedVersion = Version; if (Version != LastLaunchedVersion) { AnalyticsParameter[] parameters = new AnalyticsParameter[] { new AnalyticsParameter("LastVersion", LastLaunchedVersion), new AnalyticsParameter("CurrentVersion", Version) }; AnalyticsManager.LogEvent("[VersionsManager] Upgrade game", parameters); } }