コード例 #1
0
        /// <summary>
        /// Cvar_WriteVariables
        /// Writes lines containing "set variable value" for all variables
        /// with the archive flag set to true.
        /// </summary>
        public void WriteVariables(Stream stream)
        {
            var sb = new StringBuilder(4096);

            var list = UniqueKeys ? DictionaryItems.Select(i => i.Value) : ListItems.Select(i => i.Value);

            foreach (var cvar in list)
            {
                if (cvar.IsArchive)
                {
                    sb.Append(cvar.Name);
                    sb.Append(" \"");
                    sb.Append(cvar.ValueType == typeof(Boolean) ? cvar.Get <Boolean>() ? "1" : "0" : cvar.Get().ToString());
                    sb.AppendLine("\"");
                }
            }

            var buf = Encoding.ASCII.GetBytes(sb.ToString( ));

            stream.Write(buf, 0, buf.Length);
        }
コード例 #2
0
        public String[] CompleteName(String partial)
        {
            if (String.IsNullOrEmpty(partial))
            {
                return(null);
            }

            var results = new List <String>( );

            var keysList = UniqueKeys ? DictionaryItems.Select(i => i.Key) : ListItems.Select(i => i.Key);

            foreach (var key in keysList)
            {
                if (key.StartsWith(partial))
                {
                    results.Add(key);
                }
            }

            return(results.Count > 0 ? results.ToArray( ) : null);
        }
コード例 #3
0
        // Mod_Print
        public void Print(CommandMessage msg)
        {
            var names = String.Join("\n", DictionaryItems.Select(m => m.Key));

            ConsoleWrapper.Print($"Cached models:\n{names}\n");
        }