public AdvancedStartConfig GetProfile() { var baseDir = POptions.GetModDir(Assembly.GetExecutingAssembly()); switch (config) { case Config.DefaultStart: return(new AdvancedStartConfig { startSkillPoints = 0, startAttributeBoost = 0, startTechs = new List <string>(), startItems = new Dictionary <string, float>() }); case Config.AdvancedStart: return(JsonConvert.DeserializeObject <AdvancedStartConfig>(File.ReadAllText(Path.Combine(baseDir, "config/AdvancedStart.json")))); case Config.SpaceStart: return(JsonConvert.DeserializeObject <AdvancedStartConfig>(File.ReadAllText(Path.Combine(baseDir, "config/SpaceStart.json")))); default: return(JsonConvert.DeserializeObject <AdvancedStartConfig>(File.ReadAllText(Path.Combine(baseDir, "config/CustomStart.json")))); } }
/// <summary> /// Localizes all mods which registered for it. /// </summary> /// <param name="locale">The locale to use.</param> internal static void LocalizeAll(Localization.Locale locale) { if (locale == null) { throw new ArgumentNullException("locale"); } lock (PSharedData.GetLock(PRegistry.KEY_LOCALE_LOCK)) { // Get list holding locale information var list = PSharedData.GetData <IList <Assembly> >(PRegistry.KEY_LOCALE_TABLE); if (list != null) { PUtil.LogDebug("Localizing {0:D} mods to locale {1}".F(list.Count, locale.Code)); foreach (var mod in list) { if (mod != null) { Localize(mod, POptions.GetModDir(mod), locale); } } } } }
public void InitialiseOptions() { var baseDir = POptions.GetModDir(Assembly.GetExecutingAssembly()); switch (this.FallDamageDifficultyOption) { case FallDamageDifficulty.None: case FallDamageDifficulty.Mild: fallOptions = new FallDamageOptions { damageHeightLimit = 2, damageDivider = 2, crippleEnabled = false, crippleHeightLimit = 5, crippledDuration = 10, crippledModifier = -20, deathEnabled = false, deathHeightLimit = 20 }; break; case FallDamageDifficulty.Normal: fallOptions = new FallDamageOptions { damageHeightLimit = 2, damageDivider = 1, crippleEnabled = true, crippleHeightLimit = 5, crippledDuration = 10, crippledModifier = -20, deathEnabled = false, deathHeightLimit = 20 }; break; case FallDamageDifficulty.High: fallOptions = new FallDamageOptions { damageHeightLimit = 2, damageDivider = 1, crippleEnabled = true, crippleHeightLimit = 5, crippledDuration = 10, crippledModifier = -20, deathEnabled = true, deathHeightLimit = 20 }; break; case FallDamageDifficulty.Custom: String options = String.Empty; if (File.Exists(Path.Combine(baseDir, "config/FallDamageConfig.json"))) { #if DEBUG PUtil.LogDebug("FallDamage custom option file exists"); #endif options = File.ReadAllText(Path.Combine(baseDir, "config/FallDamageConfig.json")); } else { #if DEBUG PUtil.LogDebug("FallDamage custom option file does not exists"); #endif goto case FallDamageDifficulty.Normal; } try { fallOptions = JsonConvert.DeserializeObject <FallDamageOptions>(options); } catch (JsonException e) { goto case FallDamageDifficulty.Normal; } break; } #if DEBUG PUtil.LogDebug(("Resulting options FallDamage: {0}").F(fallOptions.ToString())); #endif }