public void InitTraits() { if (!Loaded) { Loaded = true; ConfigNode[] configNodes = GameDatabase.Instance.GetConfigNodes("EXPERIENCE_TRAIT"); for (int i = 0; i < configNodes.Count(); i++) { ExperienceTraitConfig experienceTraitConfig = ExperienceTraitConfig.Create(configNodes[i]); if (experienceTraitConfig != null) { TraitTitle tt; if (experienceTraitConfig.Name != null && experienceTraitConfig.Name != "Tourist" && experienceTraitConfig.Name != "Unknown") { if (experienceTraitConfig.Title != null) { tt = new TraitTitle(experienceTraitConfig.Name, experienceTraitConfig.Title); } else { tt = new TraitTitle(experienceTraitConfig.Name, experienceTraitConfig.Name); } traitTitles.Add(experienceTraitConfig.Name, tt); } } } } }
/// <summary> /// Get all the kerbal classes in the game. Doesn't include "tourist", since technically /// speaking that's not a class. /// </summary> /// <returns></returns> private static HashSet <string> FindKerbalClasses() { HashSet <string> kerbalClasses = new HashSet <string>(); ExperienceSystemConfig systemConfig = new ExperienceSystemConfig(); for (int traitIndex = 0; traitIndex < systemConfig.Categories.Count; ++traitIndex) { ExperienceTraitConfig traitConfig = systemConfig.Categories[traitIndex]; Logging.Log("Adding kerbal class: " + traitConfig.Name); kerbalClasses.Add(traitConfig.Name); } kerbalClasses.Add(TouristClass); // since the game doesn't list "tourist" as an actual class return(kerbalClasses); }
/// <summary> /// Get all kerbal effect types. /// </summary> /// <param name="kerbalClasses"></param> /// <returns></returns> private static HashSet <string> FindKerbalEffects() { HashSet <string> kerbalEffects = new HashSet <string>(); ExperienceSystemConfig systemConfig = new ExperienceSystemConfig(); for (int traitIndex = 0; traitIndex < systemConfig.Categories.Count; ++traitIndex) { ExperienceTraitConfig traitConfig = systemConfig.Categories[traitIndex]; if (traitConfig.Effects == null) { continue; } for (int effectIndex = 0; effectIndex < traitConfig.Effects.Count; ++effectIndex) { ExperienceEffectConfig effectConfig = traitConfig.Effects[effectIndex]; if (!kerbalEffects.Contains(effectConfig.Name)) { Logging.Log("Adding kerbal effect: " + effectConfig.Name); kerbalEffects.Add(effectConfig.Name); } } } return(kerbalEffects); }
protected string TraitTitle(string traitName) { ExperienceTraitConfig config = KerbalRoster.ExperienceConfig.Categories.Where(c => c.Name == traitName).FirstOrDefault(); return(config != null ? config.Title : traitName); }
protected string TraitTitle(string traitName) { ExperienceTraitConfig config = GameDatabase.Instance.ExperienceConfigs.Categories.Where(c => c.Name == traitName).FirstOrDefault(); return(config != null ? config.Title : traitName); }