Введение
Консоль движка NeoAxis Engine - это удобное и простое средство для вывода отладочной информации, а также ввода команд. Консоль удобно использовать как вспомогательное средство при разработке вашего приложения.
Чтобы вызвать консоль, нужно нажать клавишу ~. Повторное нажатие той же клавиши скрывает консоль.
Список команд консоли можно получить введя команду commands.
Использование консоли в вашем приложении
Код и API консоли определены в классе EngineConsole, располагающийся в GameCommon.dll. Сейчас мы познакомимся с методами этого класса.
Вывод в консоль
Консоль позволяет выводить строковые значения. Для этого используется метод Print.
EngineConsole.Instance.Print( "Hello Console!" );

Кроме того можно выделять текст цветом. В таком случае, после строки, методу Print передается еще и цвет.
EngineConsole.Instance.Print( "Hello Console!", new ColorValue( 1, 0, 0 ) );

Добавление новых команд
Помимо стандартных команд в консоли, вы можете использовать собственные команды. Чтобы добавить команду, в классе EngineConsole имеется метод AddCommand. При добавлении команды нужно указать ее имя, а также метод, вызываемый при исполнении команды.
EngineConsole.Instance.AddCommand("my_command", MyCommand);Метод, реализующий вашу команду, должен получать на вход единственный параметр - строку аргументов. В этой строке будет содержаться символы, следующие в строке после имени команды. Т.е. полностью команда в консоли имеет вид: имя_команды аргументы.
В примере ниже мы напишем метод для команды, выводящий в консоль сумму двух аргументов, разделенных пробелом.
public void MyCommand(string arguments)
{
    //Преобразуем строку аргументов в массив строк
    char[] splitter = new char[1] {' '};
    string[] argumentsArray = arguments.Split(splitter);
 
    //Проверяем количество аргументов
    if (argumentsArray.Length < 2)
        return;
 
    //Пробуем преобразовать строки в числа
    int arg1, arg2;
    if (!int.TryParse(argumentsArray[0], out arg1) || !int.TryParse(argumentsArray[1], out arg2))
        return;
 
    //Выводим результат в консоль
    EngineConsole.Instance.Print((arg1 + arg2).ToString());
}
Скомпилируем и запустим проект. Введя команду: "my_command 2 2", мы получим результат - 4.

Вызов команды из кода
Также, команду консоли можно вызвать непосредственно из приложения. Для этого используется метод ExecuteString, заменяющий ввод команды пользователем.
EngineConsole.Instance.ExecuteString( "my_command" );
