Exemple #1
0
        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))
            });
        }
Exemple #3
0
        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))
            });
        }