Пример #1
0
        /// <summary>
        /// Restores the default configuration.
        /// </summary>
        public Configuration RestoreDefaultConfiguration()
        {
            // Load these fail-safe defaults and save as the new configuration
            var acctDateOptions = new AccountDateOptions();

            acctDateOptions.SetDefaults();
            var accuracyOptions = new AccuracyOptions();

            accuracyOptions.SetDefaults();
            var autoVoterOptions = new AutoVoterOptions();

            autoVoterOptions.SetDefaults();
            var coreOptions = new CoreOptions();

            coreOptions.SetDefaults();
            var earlyQuitOptions = new EarlyQuitOptions();

            earlyQuitOptions.SetDefaults();
            var eloLimitOptions = new EloLimitOptions();

            eloLimitOptions.SetDefaults();
            var ircOptions = new IrcOptions();

            ircOptions.SetDefaults();
            var motdOptions = new MotdOptions();

            motdOptions.SetDefaults();
            var pickupOptions = new PickupOptions();

            pickupOptions.SetDefaults();
            var serversOptions = new ServersOptions();

            serversOptions.SetDefaults();

            var cfg = new Configuration
            {
                AccountDateOptions = acctDateOptions,
                AccuracyOptions    = accuracyOptions,
                AutoVoterOptions   = autoVoterOptions,
                CoreOptions        = coreOptions,
                EarlyQuitOptions   = earlyQuitOptions,
                EloLimitOptions    = eloLimitOptions,
                IrcOptions         = ircOptions,
                MotdOptions        = motdOptions,
                PickupOptions      = pickupOptions,
                ServersOptions     = serversOptions
            };

            try
            {
                var json = JsonConvert.SerializeObject(cfg);
                using (var fs = File.Create(Filepaths.ConfigurationFilePath))
                    using (TextWriter writer = new StreamWriter(fs))
                    {
                        writer.WriteLine(json);
                        Log.WriteCritical(
                            "Restored fail-safe, default configuration to: " + Filepaths.ConfigurationFilePath,
                            _logClassType, _logPrefix);
                        return(cfg);
                    }
            }
            catch (Exception)
            {
                Log.WriteCritical(
                    "Fatal error, unable to restore fail-safe default configuration. Verify that SST data folder" +
                    " and/or .cfg is not read only!",
                    _logClassType, _logPrefix);
                return(null);
            }
        }
Пример #2
0
 void Start()
 {
     _pickupOptions = GetComponent <PickupOptions>();
     _audioSource   = GetComponent <AudioSource>();
     _currentClip   = ClipSize;
 }