Example #1
0
        private void ForEachConsoleObject(FConsoleObjectVisitor visitor, string str, bool startsWith)
        {
            if (visitor == null)
            {
                return;
            }

            // TCHAR*, IConsoleObject*
            Native_IConsoleManager.FConsoleObjectVisitor callback = delegate(IntPtr namePtr, IntPtr consoleObjectAddress)
            {
                string         name          = FStringMarshaler.FromCharPtr(namePtr);
                IConsoleObject consoleObject = new IConsoleObject(consoleObjectAddress);
                visitor(name, consoleObject);
            };

            using (FStringUnsafe strUnsafe = new FStringUnsafe(str))
            {
                if (startsWith)
                {
                    Native_IConsoleManager.ForEachConsoleObjectThatStartsWith(Address, callback, ref strUnsafe.Array);
                }
                else
                {
                    Native_IConsoleManager.ForEachConsoleObjectThatContains(Address, callback, ref strUnsafe.Array);
                }
            }
        }
Example #2
0
        private Dictionary <string, IConsoleObject> GetConsoleObjects(string str, bool startsWith)
        {
            Dictionary <string, IConsoleObject> result = new Dictionary <string, IConsoleObject>();

            FConsoleObjectVisitor visitor = delegate(string name, IConsoleObject consoleObject)
            {
                result[name] = consoleObject;
            };

            ForEachConsoleObject(visitor, str, startsWith);

            return(result);
        }
Example #3
0
 public void ForEachConsoleObjectThatContains(FConsoleObjectVisitor visitor, string contains)
 {
     ForEachConsoleObject(visitor, contains, false);
 }
Example #4
0
 public void ForEachConsoleObjectThatStartsWith(FConsoleObjectVisitor visitor, string startsWith = "")
 {
     ForEachConsoleObject(visitor, startsWith, true);
 }