public static void GiveAllShortHashes() { ShortHashGiver.takenHashesPerDeftype.Clear(); List <Def> list = new List <Def>(); foreach (Type current in GenDefDatabase.AllDefTypesWithDatabases()) { Type type = typeof(DefDatabase <>).MakeGenericType(new Type[] { current }); PropertyInfo property = type.GetProperty("AllDefs"); MethodInfo getMethod = property.GetGetMethod(); IEnumerable enumerable = (IEnumerable)getMethod.Invoke(null, null); list.Clear(); foreach (Def item in enumerable) { list.Add(item); } list.SortBy((Def d) => d.defName); for (int i = 0; i < list.Count; i++) { ShortHashGiver.GiveShortHash(list[i], current); } } }
public static void DefLabels() { List <DebugMenuOption> list = new List <DebugMenuOption>(); foreach (Type type in from def in GenDefDatabase.AllDefTypesWithDatabases() orderby def.Name select def) { DebugMenuOption item = new DebugMenuOption(type.Name, DebugMenuOptionMode.Action, delegate { IEnumerable source = (IEnumerable)GenGeneric.GetStaticPropertyOnGenericType(typeof(DefDatabase <>), type, "AllDefs"); int num = 0; StringBuilder stringBuilder = new StringBuilder(); foreach (Def item2 in source.Cast <Def>()) { stringBuilder.AppendLine(item2.label); num++; if (num >= 500) { Log.Message(stringBuilder.ToString()); stringBuilder = new StringBuilder(); num = 0; } } Log.Message(stringBuilder.ToString()); }); list.Add(item); } Find.WindowStack.Add(new Dialog_DebugOptionListLister(list)); }
public static void DefNamesAll() { StringBuilder stringBuilder = new StringBuilder(); int num = 0; foreach (Type item in from def in GenDefDatabase.AllDefTypesWithDatabases() orderby def.Name select def) { IEnumerable source = (IEnumerable)GenGeneric.GetStaticPropertyOnGenericType(typeof(DefDatabase <>), item, "AllDefs"); stringBuilder.AppendLine("-- " + item.ToString()); foreach (Def item2 in from Def def in source orderby def.defName select def) { stringBuilder.AppendLine(item2.defName); num++; if (num >= 500) { Log.Message(stringBuilder.ToString()); stringBuilder = new StringBuilder(); num = 0; } } stringBuilder.AppendLine(); stringBuilder.AppendLine(); } Log.Message(stringBuilder.ToString()); }
private void EnsureAllDefTypesHaveDefInjectionPackage() { foreach (Type defType in GenDefDatabase.AllDefTypesWithDatabases()) { if (!this.defInjections.Any((DefInjectionPackage x) => x.defType == defType)) { this.defInjections.Add(new DefInjectionPackage(defType)); } } }
private void EnsureAllDefTypesHaveDefInjectionPackage() { foreach (Type item in GenDefDatabase.AllDefTypesWithDatabases()) { if (!defInjections.Any((DefInjectionPackage x) => x.defType == item)) { defInjections.Add(new DefInjectionPackage(item)); } } }
private static void CleanupDefInjections() { string activeLanguageCoreModFolderPath = GetActiveLanguageCoreModFolderPath(); string text = Path.Combine(activeLanguageCoreModFolderPath, "DefLinked"); string text2 = Path.Combine(activeLanguageCoreModFolderPath, "DefInjected"); DirectoryInfo directoryInfo = new DirectoryInfo(text); if (directoryInfo.Exists) { if (!Directory.Exists(text2)) { Directory.Move(text, text2); Thread.Sleep(1000); directoryInfo = new DirectoryInfo(text2); } } else { directoryInfo = new DirectoryInfo(text2); } if (!directoryInfo.Exists) { Log.Error("Could not find def-injections folder for the active language."); } else { FileInfo[] files = directoryInfo.GetFiles("*.xml", SearchOption.AllDirectories); foreach (FileInfo fileInfo in files) { try { fileInfo.Delete(); } catch (Exception ex) { Log.Error("Could not delete " + fileInfo.Name + ": " + ex); } } foreach (Type item in GenDefDatabase.AllDefTypesWithDatabases()) { try { CleanupDefInjectionsForDefType(item, directoryInfo.FullName); } catch (Exception ex2) { Log.Error("Could not process def-injections for type " + item.Name + ": " + ex2); } } } }
private static void CleanupDefInjections() { foreach (ModMetaData item in ModsConfig.ActiveModsInLoadOrder) { string languageFolderPath = GetLanguageFolderPath(LanguageDatabase.activeLanguage, item.RootDir.FullName); string text = Path.Combine(languageFolderPath, "DefLinked"); string text2 = Path.Combine(languageFolderPath, "DefInjected"); DirectoryInfo directoryInfo = new DirectoryInfo(text); if (directoryInfo.Exists) { if (!Directory.Exists(text2)) { Directory.Move(text, text2); Thread.Sleep(1000); directoryInfo = new DirectoryInfo(text2); } } else { directoryInfo = new DirectoryInfo(text2); } if (!directoryInfo.Exists) { directoryInfo.Create(); } FileInfo[] files = directoryInfo.GetFiles("*.xml", SearchOption.AllDirectories); foreach (FileInfo fileInfo in files) { try { fileInfo.Delete(); } catch (Exception ex) { Log.Error("Could not delete " + fileInfo.Name + ": " + ex); } } foreach (Type item2 in GenDefDatabase.AllDefTypesWithDatabases()) { try { CleanupDefInjectionsForDefType(item2, directoryInfo.FullName, item); } catch (Exception ex2) { Log.Error("Could not process def-injections for type " + item2.Name + ": " + ex2); } } } }
private void EnsureAllDefTypesHaveDefInjectionPackage() { using (IEnumerator <Type> enumerator = GenDefDatabase.AllDefTypesWithDatabases().GetEnumerator()) { while (enumerator.MoveNext()) { Type defType = enumerator.Current; if (!this.defInjections.Any((DefInjectionPackage x) => x.defType == defType)) { this.defInjections.Add(new DefInjectionPackage(defType)); } } } }
public static void GiveAllShortHashes() { takenHashesPerDeftype.Clear(); List <Def> list = new List <Def>(); foreach (Type item2 in GenDefDatabase.AllDefTypesWithDatabases()) { IEnumerable obj = (IEnumerable)typeof(DefDatabase <>).MakeGenericType(item2).GetProperty("AllDefs").GetGetMethod() .Invoke(null, null); list.Clear(); foreach (Def item3 in obj) { list.Add(item3); } list.SortBy((Def d) => d.defName); for (int i = 0; i < list.Count; i++) { GiveShortHash(list[i], item2); } } }
public static void GiveAllShortHashes() { ShortHashGiver.takenHashesPerDeftype.Clear(); List <Def> list = new List <Def>(); foreach (Type type in GenDefDatabase.AllDefTypesWithDatabases()) { Type type2 = typeof(DefDatabase <>).MakeGenericType(new Type[] { type }); PropertyInfo property = type2.GetProperty("AllDefs"); MethodInfo getMethod = property.GetGetMethod(); IEnumerable enumerable = (IEnumerable)getMethod.Invoke(null, null); list.Clear(); IEnumerator enumerator2 = enumerable.GetEnumerator(); try { while (enumerator2.MoveNext()) { object obj = enumerator2.Current; Def item = (Def)obj; list.Add(item); } } finally { IDisposable disposable; if ((disposable = (enumerator2 as IDisposable)) != null) { disposable.Dispose(); } } list.SortBy((Def d) => d.defName); for (int i = 0; i < list.Count; i++) { ShortHashGiver.GiveShortHash(list[i], type); } } }
private static void CleanupDefInjections() { string activeLanguageCoreModFolderPath = TranslationFilesCleaner.GetActiveLanguageCoreModFolderPath(); string text = Path.Combine(activeLanguageCoreModFolderPath, "DefLinked"); string text2 = Path.Combine(activeLanguageCoreModFolderPath, "DefInjected"); DirectoryInfo directoryInfo = new DirectoryInfo(text); if (directoryInfo.Exists) { if (!Directory.Exists(text2)) { Directory.Move(text, text2); Thread.Sleep(1000); directoryInfo = new DirectoryInfo(text2); } } else { directoryInfo = new DirectoryInfo(text2); } if (!directoryInfo.Exists) { Log.Error("Could not find def-injections folder for the active language.", false); return; } FileInfo[] files = directoryInfo.GetFiles("*.xml", SearchOption.AllDirectories); for (int i = 0; i < files.Length; i++) { FileInfo fileInfo = files[i]; try { fileInfo.Delete(); } catch (Exception ex) { Log.Error(string.Concat(new object[] { "Could not delete ", fileInfo.Name, ": ", ex }), false); } } foreach (Type current in GenDefDatabase.AllDefTypesWithDatabases()) { try { TranslationFilesCleaner.CleanupDefInjectionsForDefType(current, directoryInfo.FullName); } catch (Exception ex2) { Log.Error(string.Concat(new object[] { "Could not process def-injections for type ", current.Name, ": ", ex2 }), false); } } }