public async Task <Dvar <T> > GetDvarAsync <T>(Connection connection, string dvarName) { string[] LineSplit = await connection.SendQueryAsync(StaticHelpers.QueryType.COMMAND, $"get {dvarName}"); if (LineSplit.Length < 2) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string[] ValueSplit = LineSplit[1].Split(new char[] { '"' }); if (ValueSplit.Length == 0) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string DvarName = dvarName; string DvarCurrentValue = Regex.Replace(ValueSplit[1], @"\^[0-9]", ""); return(new Dvar <T>(DvarName) { Value = (T)Convert.ChangeType(DvarCurrentValue, typeof(T)) }); }
public async Task <Dvar <T> > GetDvarAsync <T>(Connection connection, string dvarName) { string[] LineSplit = await connection.SendQueryAsync(StaticHelpers.QueryType.DVAR, dvarName); if (LineSplit.Length < 3) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string[] ValueSplit = LineSplit[1].Split(new char[] { '"' }, StringSplitOptions.RemoveEmptyEntries); if (ValueSplit.Length < 5) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string DvarName = Regex.Replace(ValueSplit[0], @"\^[0-9]", ""); string DvarCurrentValue = Regex.Replace(ValueSplit[2], @"\^[0-9]", ""); string DvarDefaultValue = Regex.Replace(ValueSplit[4], @"\^[0-9]", ""); return(new Dvar <T>(DvarName) { Value = (T)Convert.ChangeType(DvarCurrentValue, typeof(T)) }); }
public async Task <Dvar <T> > GetDvarAsync <T>(Connection connection, string dvarName) { // why can't this be real :( if (dvarName == "version") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("IW5 MP 1.9 build 461 Fri Sep 14 00:04:28 2012 win-x86", typeof(T)) } } ; if (dvarName == "shortversion") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("1.9", typeof(T)) } } ; if (dvarName == "mapname") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("Unknown", typeof(T)) } } ; if (dvarName == "g_gametype") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("Unknown", typeof(T)) } } ; if (dvarName == "fs_game") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("", typeof(T)) } } ; if (dvarName == "g_logsync") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType(1, typeof(T)) } } ; if (dvarName == "fs_basepath") { return new Dvar <T>(dvarName) { Value = (T)Convert.ChangeType("", typeof(T)) } } ; string[] LineSplit = await connection.SendQueryAsync(StaticHelpers.QueryType.DVAR, dvarName); if (LineSplit.Length < 4) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string[] ValueSplit = LineSplit[1].Split(new char[] { '"' }); if (ValueSplit.Length == 0) { var e = new DvarException($"DVAR \"{dvarName}\" does not exist"); e.Data["dvar_name"] = dvarName; throw e; } string DvarName = dvarName; string DvarCurrentValue = Regex.Replace(ValueSplit[3].StripColors(), @"\^[0-9]", ""); return(new Dvar <T>(DvarName) { Value = (T)Convert.ChangeType(DvarCurrentValue, typeof(T)) }); }