protected override void Init() { Settings = RestartPluginSettings.ReadFromFile(PluginSettingsFilePath); Context.RPCClient.Callbacks.BeginRace += Callbacks_BeginRace; Context.RPCClient.Callbacks.EndRace += Callbacks_EndRace; Context.RPCClient.Callbacks.PlayerChat += Callbacks_PlayerChat; }
public static RestartPluginSettings ReadFromFile(string xmlConfigurationFile) { RestartPluginSettings result = new RestartPluginSettings(); XDocument configDocument = XDocument.Load(xmlConfigurationFile); if (configDocument.Root == null) { throw new ConfigurationErrorsException("Could not find root node in file: " + xmlConfigurationFile); } result.NoRestartPlayerLimit = ReadConfigUShort(configDocument.Root, "NoRestartPlayerLimit", NO_RESTART_PLAYER_LIMIT, xmlConfigurationFile); result.NoRestartVotesRatio = ReadConfigDouble(configDocument.Root, "NoRestartVotesRatio", NO_RESTART_VOTES_RATIO, xmlConfigurationFile); result.SimpleRestartVoteRatio = ReadConfigDouble(configDocument.Root, "SimpleRestartVoteRatio", SIMPLE_RESTART_VOTE_RATIO, xmlConfigurationFile); result.AdvancedRestartVoteRatio = ReadConfigDouble(configDocument.Root, "AdvancedRestartVoteRatio", ADVANCED_RESTART_VOTE_RATIO, xmlConfigurationFile); result.FinishDelay = ReadConfigUShort(configDocument.Root, "FinishDelay", FINISH_DLAY, xmlConfigurationFile); return(result); }