Ejemplo n.º 1
0
        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"))));
            }
        }
Ejemplo n.º 2
0
 /// <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);
                 }
             }
         }
     }
 }
Ejemplo n.º 3
0
        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
        }