using SharedLibraryCore.Interfaces; using SharedLibraryCore.RCon; using System.Collections.Generic; using System.Globalization; namespace IW4MAdmin.Application.RconParsers { /// /// generic implementation of the IRConParserConfiguration /// allows script plugins to generate dynamic RCon configurations /// public class DynamicRConParserConfiguration : IRConParserConfiguration { public CommandPrefix CommandPrefixes { get; set; } public ParserRegex Status { get; set; } public ParserRegex MapStatus { get; set; } public ParserRegex GametypeStatus { get; set; } public ParserRegex Dvar { get; set; } public ParserRegex StatusHeader { get; set; } public string ServerNotRunningResponse { get; set; } public bool WaitForResponse { get; set; } = true; public NumberStyles GuidNumberStyle { get; set; } = NumberStyles.HexNumber; public IDictionary OverrideDvarNameMapping { get; set; } = new Dictionary(); public IDictionary DefaultDvarValues { get; set; } = new Dictionary(); public DynamicRConParserConfiguration(IParserRegexFactory parserRegexFactory) { Status = parserRegexFactory.CreateParserRegex(); MapStatus = parserRegexFactory.CreateParserRegex(); GametypeStatus = parserRegexFactory.CreateParserRegex(); Dvar = parserRegexFactory.CreateParserRegex(); StatusHeader = parserRegexFactory.CreateParserRegex(); } } }