public static Def GetDefSilentFail(Type type, string targetDefName)
 {
     if (type == typeof(SoundDef))
     {
         return(SoundDef.Named(targetDefName));
     }
     return((Def)GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), type, "GetNamedSilentFail",
                                                            new object[]
     {
         targetDefName
     }));
 }
Exemple #2
0
 private static void ClearAllPlayData()
 {
     LanguageDatabase.Clear();
     LoadedModManager.ClearDestroy();
     foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def)))
     {
         GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear");
     }
     ThingCategoryNodeDatabase.Clear();
     BackstoryDatabase.Clear();
     SolidBioDatabase.Clear();
     PlayDataLoader.loaded = false;
 }
        static PRFDefOf()
        {
            Type thisType = typeof(PRFDefOf);

            FieldInfo[] fields = thisType.GetFields();
            for (int i = 0; i < fields.Length; i++)
            {
                object def = GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), fields[i].FieldType, "GetNamedSilentFail", fields[i].Name);
                if (def != null)
                {
                    fields[i].SetValue(null, def);
                }
            }
        }
Exemple #4
0
        private static void ClearAllPlayData()
        {
            LanguageDatabase.Clear();
            // A14 - ModContentPackManager was removed?
            LoadedModManager.ClearDestroy();
            foreach (Type genericParam in GenTypes.AllSubclasses(typeof(Def)))
            {
                GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), genericParam, "Clear");
            }
            ThingCategoryNodeDatabase.Clear();
            BackstoryDatabase.Clear();
            SolidBioDatabase.Clear();

            PlayDataLoader_loaded.SetValue(null, false);
        }
Exemple #5
0
        private void SetBadgeSetVisibility(List <BadgeDef> badgeSet, bool visible, bool transparent)
        {
            var workingSet = new List <BadgeDef>();

            foreach (BadgeDef badgeDef in badgeSet)
            {
                if (transparent)
                {
                    workingSet.Add(new BadgeDef
                    {
                        icon        = badgeDef.icon.Replace("/", "Transparent/"),
                        defName     = badgeDef.defName + "Trans",
                        label       = badgeDef.label,
                        description = badgeDef.description
                    });
                }
                else
                {
                    workingSet.Add(badgeDef);
                }
            }
            var currentDefs = (from dd in DefDatabase <BadgeDef> .AllDefsListForReading where dd.icon == workingSet[0].icon select dd).ToList();
            //Log.Message("current: " + string.Join(",", DefDatabase<BadgeDef>.AllDefsListForReading));
            //Log.Message("new: " + string.Join(",", workingSet));
            bool exist = currentDefs.Count > 0;

            if (visible && !exist)
            {
                Log.Message("Pawn Badge CC: Adding Badge-set to database, emblem: " + workingSet[0].icon);
                DefDatabase <BadgeDef> .Add(workingSet);

                return;
            }
            if (!visible && exist)
            {
                Log.Message("Pawn Badge CC: Removing Badge-set from database, emblem: " + workingSet[0].icon);
                foreach (BadgeDef badgeDef in (from dr in DefDatabase <BadgeDef> .AllDefsListForReading where dr.defName.StartsWith(workingSet[0].defName.Substring(0, 3)) && dr.defName.EndsWith("Trans") == transparent select dr).ToList())
                {
                    GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), typeof(BadgeDef), "Remove", new object[] { badgeDef });
                }
            }
        }
Exemple #6
0
 public override void GenerateTestData()
 {
     base.GenerateTestData();
     this.defData = TaleData_Def.GenerateFrom((Def)GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), this.def.defType, "GetRandom"));
 }