Esempio n. 1
0
        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());
        }
Esempio n. 4
0
 private void EnsureAllDefTypesHaveDefInjectionPackage()
 {
     foreach (Type defType in GenDefDatabase.AllDefTypesWithDatabases())
     {
         if (!this.defInjections.Any((DefInjectionPackage x) => x.defType == defType))
         {
             this.defInjections.Add(new DefInjectionPackage(defType));
         }
     }
 }
Esempio n. 5
0
 private void EnsureAllDefTypesHaveDefInjectionPackage()
 {
     foreach (Type item in GenDefDatabase.AllDefTypesWithDatabases())
     {
         if (!defInjections.Any((DefInjectionPackage x) => x.defType == item))
         {
             defInjections.Add(new DefInjectionPackage(item));
         }
     }
 }
Esempio n. 6
0
        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);
             }
         }
     }
 }
Esempio n. 8
0
 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));
             }
         }
     }
 }
Esempio n. 9
0
        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);
                }
            }
        }