public void InitConsole() { CConfigManager manager = CConfigManager.Instance; if (manager != null) { manager.RegisterInstance(this); } }
public void Dispose() { CConfigManager manager = CConfigManager.Instance; if (manager != null) { manager.UnregisterInstance(this); } }
private CEngine(Thread owningThread) { m_owningThread = owningThread; Config = new CConfigManager(); Config.Init(); Updater = new CEngineUpdater(); CAssetRegistry.LoadInstance(); }
public static void ProcessConsoleString(string command) { if (string.IsNullOrWhiteSpace(command)) { return; } bool bInsideQuotation = false; char currentCharacter = default(char); string currentArgument = ""; List <string> arguments = new List <string>(); for (int i = 0; i < command.Length; i++) { currentCharacter = command[i]; switch (currentCharacter) { case ' ': if (!bInsideQuotation) { if (currentArgument.Length > 0) { arguments.Add(currentArgument); currentArgument = ""; } } else { currentArgument += currentCharacter; } break; case '\"': if (bInsideQuotation) { arguments.Add(currentArgument); currentArgument = ""; } bInsideQuotation = !bInsideQuotation; break; default: currentArgument += currentCharacter; break; } } if (currentArgument.Length > 0) { arguments.Add(currentArgument); } CConfigManager manager = CConfigManager.Instance; //Search for CVar with first arguments name if (arguments.Count == 2) { if (manager.SetVariable(arguments[0], arguments[1])) { return; } } //Try command instead string commandName = arguments[0]; arguments.RemoveRange(0, 1); manager.InvokeConsoleCommand(commandName, arguments); }