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 })); }
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); } } }
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); }
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 }); } } }
public override void GenerateTestData() { base.GenerateTestData(); this.defData = TaleData_Def.GenerateFrom((Def)GenGeneric.InvokeStaticMethodOnGenericType(typeof(DefDatabase <>), this.def.defType, "GetRandom")); }