reckfellENGINE

OS

Предоставляет доступ к общим функциям операционной системы.

На этой странице
class OSReckfellSharp

Предоставляет доступ к общим функциям операционной системы.

Класс OS охватывает наиболее распространенные функции для взаимодействия с операционной системой хоста, такие как видеодрайвер, задержки, переменные среды, выполнение двоичных файлов, командная строка и т. д. Примечание: В Reckfell функции OS, связанные с управлением окнами, буфером обмена и TTS, были перемещены в синглтон DisplayServer (и класс Window). Функции, связанные со временем, были удалены и доступны только в классе Time.

Объявления сверены с C# SDK 1.0.0. Раскройте имя, чтобы увидеть сигнатуры и описание.

Свойства4

DeltaSmoothingСвойство
# DeltaSmoothing
C#
public static bool DeltaSmoothing { get; set; }

Если true, движок фильтрует временную дельту, измеренную между каждым кадром, и пытается компенсировать случайные отклонения. Это работает только в системах, где активна V-Sync. Примечание: При запуске это то же самое, что и ProjectSettings.application/run/delta_smoothing.

LowProcessorUsageModeСвойство
# LowProcessorUsageMode
C#
public static bool LowProcessorUsageMode { get; set; }

Если true, движок оптимизируется для низкого использования процессора, обновляя экран только при необходимости. Может улучшить расход батареи на мобильных устройствах. Примечание: При запуске это то же самое, что и ProjectSettings.application/run/low_processor_mode.

LowProcessorUsageModeSleepUsecСвойство
# LowProcessorUsageModeSleepUsec
C#
public static int LowProcessorUsageModeSleepUsec { get; set; }

Количество сна между кадрами при включенном режиме низкой загрузки процессора в микросекундах. Более высокие значения приведут к снижению загрузки ЦП. См. также OS.LowProcessorUsageMode. Примечание: При запуске это то же самое, что и ProjectSettings.application/run/low_processor_mode_sleep_usec.

SingletonСвойство
# Singleton
C#
public static OSInstance Singleton { get; }

Методы93

AddLoggervoid
# AddLogger
C#
public static void AddLogger(Logger logger);

Добавьте пользовательский регистратор для перехвата внутреннего потока сообщений.

Внимание!

Параметры
ИмяТипПо умолчанию
loggerLogger—
Alertvoid
# Alert
C#
public static void Alert(string text, string title = "Alert!");

Отображает модальное диалоговое окно, используя реализацию хост-платформы. Выполнение движка блокируется до тех пор, пока диалог не будет закрыт.

Параметры
ИмяТипПо умолчанию
textstring—
titlestring"Alert!"
CloseMidiInputsvoid
# CloseMidiInputs
C#
public static void CloseMidiInputs();

Отключает системный драйвер MIDI. Reckfell больше не будет получать InputEventMidi. См. также OS.OpenMidiInputs и OS.GetConnectedMidiInputs. Примечание: Этот метод реализован в Linux, macOS, Windows и Web.

Crashvoid
# Crash
C#
public static void Crash(string message);

Крушает двигатель (или редактора, если он позвонил в @tool Сценарий). OS.Kill. Примечание: Этот метод (*) должен использоваться только для испытания крушителя системы, а не для какой-либо другой цели. @C#.assert, ReckfellApi.PushErrorили OS.Alert.

Параметры
ИмяТипПо умолчанию
messagestring—
CreateInstance2 перегрузки
# CreateInstance · 1/2
C#
public static int CreateInstance(ReadOnlySpan<string> arguments);

Создаёт новый пример "Reckfell", который работает независимо. arguments используются в указанном порядке и разделены пространством. Если процесс успешно создан, этот метод возвращает ID нового процесса, который вы можете использовать для мониторинга процесса (и, возможно, прекратить его с помощью OS.Kill) Если процесс не может быть создан, этот метод возвращает -1. Смотрите. OS.CreateProcess если вы хотите провести другой процесс. Примечание: Этот метод применяется на Android, Linux, acOS и Windows.

Параметры
ИмяТипПо умолчанию
argumentsReadOnlySpan<string>—
Возвращает int
# CreateInstance · 2/2
C#
public static int CreateInstance(string[] arguments);

Создаёт новый пример "Reckfell", который работает независимо. arguments используются в указанном порядке и разделены пространством. Если процесс успешно создан, этот метод возвращает ID нового процесса, который вы можете использовать для мониторинга процесса (и, возможно, прекратить его с помощью OS.Kill) Если процесс не может быть создан, этот метод возвращает -1. Смотрите. OS.CreateProcess если вы хотите провести другой процесс. Примечание: Этот метод применяется на Android, Linux, acOS и Windows.

Параметры
ИмяТипПо умолчанию
argumentsstring[]—
Возвращает int
CreateProcess2 перегрузки
# CreateProcess · 1/2
C#
public static int CreateProcess(string path, ReadOnlySpan<string> arguments, bool openConsole);

Создает новый процесс, который выполняется независимо от Reckfell. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. В Windows, если open_console равен true и процесс является консольным приложением, будет открыто новое окно терминала. Если процесс успешно создан, этот метод возвращает его идентификатор процесса, который можно использовать для мониторинга процесса (и потенциально завершить его с помощью OS.Kill). В противном случае этот метод возвращает -1. Пример: Запуск другого экземпляра проекта:

C#
var pid = OS.CreateProcess(OS.GetExecutablePath(), []);

См. OS.Execute, если вы хотите запустить внешнюю команду и получить результаты. Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.

Параметры
ИмяТипПо умолчанию
pathstring—
argumentsReadOnlySpan<string>—
openConsolebool—
Возвращает int
# CreateProcess · 2/2
C#
public static int CreateProcess(string path, string[] arguments, bool openConsole = false);

Создает новый процесс, который выполняется независимо от Reckfell. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. В Windows, если open_console равен true и процесс является консольным приложением, будет открыто новое окно терминала. Если процесс успешно создан, этот метод возвращает его идентификатор процесса, который можно использовать для мониторинга процесса (и потенциально завершить его с помощью OS.Kill). В противном случае этот метод возвращает -1. Пример: Запуск другого экземпляра проекта:

C#
var pid = OS.CreateProcess(OS.GetExecutablePath(), []);

См. OS.Execute, если вы хотите запустить внешнюю команду и получить результаты. Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.

Параметры
ИмяТипПо умолчанию
pathstring—
argumentsstring[]—
openConsoleboolfalse
Возвращает int
DelayMsecvoid
# DelayMsec
C#
public static void DelayMsec(int msec);

Задерживает выполнение текущего потока на msec миллисекунд. msec должен быть больше или равен 0. В противном случае OS.DelayMsec ничего не делает и выводит сообщение об ошибке. Примечание: OS.DelayMsec — это блокирующий способ задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим способом, можно использовать EntityTree.CreateTimer. Ожидание с EntityTreeTimer задерживает выполнение кода, размещенного под await, не влияя на остальную часть проекта (или редактора для EditorPlugin и EditorScript). Примечание: Когда OS.DelayMsec вызывается в основном потоке, он замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, пока не пройдет задержка. При использовании OS.DelayMsec как части EditorPlugin или EditorScript редактор будет заморожен, но проект не будет заморожен, если он в данный момент запущен (поскольку проект является независимым дочерним процессом).

Параметры
ИмяТипПо умолчанию
msecint—
DelayUsecvoid
# DelayUsec
C#
public static void DelayUsec(int usec);

Задерживает выполнение текущего потока на usec микросекунд. usec должен быть больше или равен 0. В противном случае OS.DelayUsec ничего не делает и выводит сообщение об ошибке. Примечание: OS.DelayUsec — это блокирующий способ задержки выполнения кода. Чтобы задержать выполнение кода неблокирующим способом, можно использовать EntityTree.CreateTimer. Ожидание с EntityTreeTimer задерживает выполнение кода, размещенного под await, не влияя на остальную часть проекта (или редактора для EditorPlugin и EditorScript). Примечание: Когда OS.DelayUsec вызывается в основном потоке, он замораживает проект и не позволяет ему перерисовывать и регистрировать ввод, пока не пройдет задержка. При использовании OS.DelayUsec как части EditorPlugin или EditorScript редактор будет заморожен, но проект не будет заморожен, если он в данный момент запущен (поскольку проект является независимым дочерним процессом).

Параметры
ИмяТипПо умолчанию
usecint—
Execute2 перегрузки
# Execute · 1/2
C#
public static int Execute(string path, ReadOnlySpan<string> arguments, Reckfell.Collections.Array output, bool readStderr, bool openConsole);

Выполняет заданный процесс блокирующим способом. Файл, указанный в path, должен существовать и быть исполняемым. Будет использоваться системное разрешение пути. arguments используются в заданном порядке, разделяются пробелами и заключаются в кавычки. Если указан массив output, полный вывод оболочки процесса добавляется к output как один элемент string. Если read_stderr равен true, вывод в стандартный поток ошибок также добавляется к массиву. В Windows, если open_console равен true и процесс является консольным приложением, открывается новое окно терминала. Этот метод возвращает код завершения команды или -1, если процесс не выполняется. Примечание: Основной поток будет заблокирован до тех пор, пока не завершится выполненная команда. Используйте ReckfellThread, чтобы создать отдельный поток, который не будет блокировать основной поток, или используйте OS.CreateProcess, чтобы создать полностью независимый процесс. Например, чтобы получить список содержимого рабочего каталога:

C#
Reckfell.Collections.Array output = [];
int exitCode = OS.Execute("ls", ["-l", "/tmp"], output);

Если вы хотите получить доступ к встроенной оболочке или выполнить составную команду, можно вызвать платформенно-зависимую оболочку. Например:

C#
Reckfell.Collections.Array output = [];
OS.Execute("CMD.exe", ["/C", "cd %TEMP% && dir"], output);

Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта. Примечание: В Android системные команды, такие как dumpsys, могут быть запущены только на устройстве с правами root.

Параметры
ИмяТипПо умолчанию
pathstring—
argumentsReadOnlySpan<string>—
outputReckfell.Collections.Array—
readStderrbool—
openConsolebool—
Возвращает int
# Execute · 2/2
C#
public static int Execute(string path, string[] arguments, Reckfell.Collections.Array output = null, bool readStderr = false, bool openConsole = false);

Выполняет заданный процесс блокирующим способом. Файл, указанный в path, должен существовать и быть исполняемым. Будет использоваться системное разрешение пути. arguments используются в заданном порядке, разделяются пробелами и заключаются в кавычки. Если указан массив output, полный вывод оболочки процесса добавляется к output как один элемент string. Если read_stderr равен true, вывод в стандартный поток ошибок также добавляется к массиву. В Windows, если open_console равен true и процесс является консольным приложением, открывается новое окно терминала. Этот метод возвращает код завершения команды или -1, если процесс не выполняется. Примечание: Основной поток будет заблокирован до тех пор, пока не завершится выполненная команда. Используйте ReckfellThread, чтобы создать отдельный поток, который не будет блокировать основной поток, или используйте OS.CreateProcess, чтобы создать полностью независимый процесс. Например, чтобы получить список содержимого рабочего каталога:

C#
Reckfell.Collections.Array output = [];
int exitCode = OS.Execute("ls", ["-l", "/tmp"], output);

Если вы хотите получить доступ к встроенной оболочке или выполнить составную команду, можно вызвать платформенно-зависимую оболочку. Например:

C#
Reckfell.Collections.Array output = [];
OS.Execute("CMD.exe", ["/C", "cd %TEMP% && dir"], output);

Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта. Примечание: В Android системные команды, такие как dumpsys, могут быть запущены только на устройстве с правами root.

Параметры
ИмяТипПо умолчанию
pathstring—
argumentsstring[]—
outputReckfell.Collections.Arraynull
readStderrboolfalse
openConsoleboolfalse
Возвращает int
ExecuteWithPipe4 перегрузки
# ExecuteWithPipe · 1/4
C#
public static Reckfell.Collections.Dictionary ExecuteWithPipe(string path, ReadOnlySpan<string> arguments);

Создает новый процесс, который выполняется независимо от Reckfell с перенаправленным вводом-выводом. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. Если blocking равно false, созданные каналы работают в неблокируемом режиме, т. е. операции чтения и записи будут возвращаться немедленно. Используйте FileAccess.GetError, чтобы проверить, была ли последняя операция чтения/записи успешной. Если процесс не может быть создан, этот метод возвращает пустой Reckfell.Collections.Dictionary. В противном случае этот метод возвращает Reckfell.Collections.Dictionary со следующими ключами:

  • "stdio" - FileAccess для доступа к каналам stdin и stdout процесса (чтение/запись).
  • "stderr" - FileAccess для доступа к каналу stderr процесса (только для чтения).
  • "pid" - идентификатор процесса как OS.Kill). Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.
Параметры
ИмяТипПо умолчанию
pathstring—
argumentsReadOnlySpan<string>—
Возвращает Reckfell.Collections.Dictionary
# ExecuteWithPipe · 2/4
C#
public static Reckfell.Collections.Dictionary ExecuteWithPipe(string path, ReadOnlySpan<string> arguments, bool blocking);

Создает новый процесс, который выполняется независимо от Reckfell с перенаправленным вводом-выводом. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. Если blocking равно false, созданные каналы работают в неблокируемом режиме, т. е. операции чтения и записи будут возвращаться немедленно. Используйте FileAccess.GetError, чтобы проверить, была ли последняя операция чтения/записи успешной. Если процесс не может быть создан, этот метод возвращает пустой Reckfell.Collections.Dictionary. В противном случае этот метод возвращает Reckfell.Collections.Dictionary со следующими ключами:

  • "stdio" - FileAccess для доступа к каналам stdin и stdout процесса (чтение/запись).
  • "stderr" - FileAccess для доступа к каналу stderr процесса (только для чтения).
  • "pid" - идентификатор процесса как OS.Kill). Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.
Параметры
ИмяТипПо умолчанию
pathstring—
argumentsReadOnlySpan<string>—
blockingbool—
Возвращает Reckfell.Collections.Dictionary
# ExecuteWithPipe · 3/4
C#
public static Reckfell.Collections.Dictionary ExecuteWithPipe(string path, string[] arguments);

Создает новый процесс, который выполняется независимо от Reckfell с перенаправленным вводом-выводом. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. Если blocking равно false, созданные каналы работают в неблокируемом режиме, т. е. операции чтения и записи будут возвращаться немедленно. Используйте FileAccess.GetError, чтобы проверить, была ли последняя операция чтения/записи успешной. Если процесс не может быть создан, этот метод возвращает пустой Reckfell.Collections.Dictionary. В противном случае этот метод возвращает Reckfell.Collections.Dictionary со следующими ключами:

  • "stdio" - FileAccess для доступа к каналам stdin и stdout процесса (чтение/запись).
  • "stderr" - FileAccess для доступа к каналу stderr процесса (только для чтения).
  • "pid" - идентификатор процесса как OS.Kill). Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.
Параметры
ИмяТипПо умолчанию
pathstring—
argumentsstring[]—
Возвращает Reckfell.Collections.Dictionary
# ExecuteWithPipe · 4/4
C#
public static Reckfell.Collections.Dictionary ExecuteWithPipe(string path, string[] arguments, bool blocking = true);

Создает новый процесс, который выполняется независимо от Reckfell с перенаправленным вводом-выводом. Он не будет завершен при завершении Reckfell. Путь, указанный в path, должен существовать и быть исполняемым файлом или пакетом macOS .app. Путь определяется на основе текущей платформы. arguments используются в указанном порядке и разделяются пробелом. Если blocking равно false, созданные каналы работают в неблокируемом режиме, т. е. операции чтения и записи будут возвращаться немедленно. Используйте FileAccess.GetError, чтобы проверить, была ли последняя операция чтения/записи успешной. Если процесс не может быть создан, этот метод возвращает пустой Reckfell.Collections.Dictionary. В противном случае этот метод возвращает Reckfell.Collections.Dictionary со следующими ключами:

  • "stdio" - FileAccess для доступа к каналам stdin и stdout процесса (чтение/запись).
  • "stderr" - FileAccess для доступа к каналу stderr процесса (только для чтения).
  • "pid" - идентификатор процесса как OS.Kill). Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Чтобы выполнить встроенную команду интерпретатора команд Windows, укажите cmd.exe в path, /c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду PowerShell, укажите powershell.exe в path, -Command в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: Чтобы выполнить встроенную команду оболочки Unix, укажите имя исполняемого файла оболочки в path, -c в качестве первого аргумента и нужную команду в качестве второго аргумента. Примечание: В macOS изолированные приложения ограничены запуском только встроенных вспомогательных исполняемых файлов, указанных во время экспорта или системного пакета .app, системные пакеты .app будут игнорировать аргументы.
Параметры
ИмяТипПо умолчанию
pathstring—
argumentsstring[]—
blockingbooltrue
Возвращает Reckfell.Collections.Dictionary
FindKeycodeFromStringKey
# FindKeycodeFromString
C#
public static Key FindKeycodeFromString(string @string);

Находит код клавиши для заданной строки. Возвращаемые значения эквивалентны константам Key.

C#
ReckfellApi.Print(OS.FindKeycodeFromString("C"));         // Prints C (Key.C)
ReckfellApi.Print(OS.FindKeycodeFromString("Escape"));    // Prints Escape (Key.Escape)
ReckfellApi.Print(OS.FindKeycodeFromString("Shift+Tab")); // Prints 37748738 (KeyModifierMask.MaskShift | Key.Tab)
ReckfellApi.Print(OS.FindKeycodeFromString("Unknown"));   // Prints None (Key.None)

См. также OS.GetKeycodeString.

Параметры
ИмяТипПо умолчанию
stringstring—
Возвращает Key
GetCacheDirstring
# GetCacheDir
C#
public static string GetCacheDir();

Возвращает глобальный каталог данных кэша в соответствии со стандартами операционной системы. На платформе Linux/BSD этот путь можно переопределить, установив переменную среды XDG_CACHE_HOME перед запуском проекта. Для получения дополнительной информации см. Пути к файлам в проектах Reckfell в документации. См. также OS.GetConfigDir и OS.GetDataDir. Не путать с OS.GetUserDataDir, который возвращает специфичный для проекта путь к данным пользователя.

Возвращает string
GetCmdlineArgsstring[]
# GetCmdlineArgs
C#
public static string[] GetCmdlineArgs();

Возвращает аргументы движка, переданные текущему процессу, без пользовательского хвоста после -- или ++. Для параметров игры используйте GetCmdlineUserArgs.

Возвращает string[]

Массив строк аргументов движка. Пользовательские аргументы после разделителя в него не входят.

GetCmdlineUserArgsstring[]
# GetCmdlineUserArgs
C#
public static string[] GetCmdlineUserArgs();

Возвращает аргументы после разделителя -- или ++ в исходном порядке. Движок их не интерпретирует: --headless в этом хвосте является строкой для вашей игры, а не опцией дисплея.

Возвращает string[]

Массив пользовательских аргументов; пуст, если пользовательского хвоста нет. Значение с пробелами сохраняется одним элементом, если оболочка передала его одним аргументом.

GetConfigDirstring
# GetConfigDir
C#
public static string GetConfigDir();

Возвращает глобальный каталог конфигурации пользователя в соответствии со стандартами операционной системы. На платформе Linux/BSD этот путь можно переопределить, установив переменную среды XDG_CONFIG_HOME перед запуском проекта. Для получения дополнительной информации см. Пути к файлам в проектах Reckfell в документации. См. также OS.GetCacheDir и OS.GetDataDir. Не путать с OS.GetUserDataDir, который возвращает специфичный для проекта путь к данным пользователя.

Возвращает string
GetConnectedMidiInputsstring[]
# GetConnectedMidiInputs
C#
public static string[] GetConnectedMidiInputs();

Возвращает массив имен подключенных устройств MIDI, если они существуют. Возвращает пустой массив, если системный драйвер MIDI ранее не был инициализирован с помощью OS.OpenMidiInputs. См. также OS.CloseMidiInputs. Примечание: Этот метод реализован в Linux, macOS, Windows и Web. Примечание: На веб-платформе веб-MIDI должен поддерживаться браузером. На данный момент он поддерживается всеми основными браузерами, кроме Safari. Примечание: На веб-платформе использование ввода MIDI требует предварительного предоставления разрешения браузеру. Этот запрос разрешения выполняется при вызове OS.OpenMidiInputs. Браузер воздержится от обработки ввода MIDI, пока пользователь не примет запрос разрешения.

Возвращает string[]
GetDataDirstring
# GetDataDir
C#
public static string GetDataDir();

Возвращает глобальный каталог пользовательских данных в соответствии со стандартами операционной системы. На платформе Linux/BSD этот путь можно переопределить, установив переменную среды XDG_DATA_HOME перед запуском проекта. Для получения дополнительной информации см. Пути к файлам в проектах Reckfell в документации. См. также OS.GetCacheDir и OS.GetConfigDir. Не путать с OS.GetUserDataDir, который возвращает специфичный для проекта путь к пользовательским данным.

Возвращает string
GetDistributionNamestring
# GetDistributionName
C#
public static string GetDistributionName();

Возвращает имя дистрибутива для платформ Linux и BSD (например, "Ubuntu", "Manjaro", "OpenBSD" и т. д.). Возвращает то же значение, что и OS.GetName для стандартных Android ROM, но пытается вернуть пользовательское имя ROM для популярных производных Android, таких как "LineageOS". Возвращает то же значение, что и OS.GetName для других платформ. Примечание: Этот метод не поддерживается на веб-платформе. Он возвращает пустую строку.

Возвращает string
GetEntropybyte[]
# GetEntropy
C#
public static byte[] GetEntropy(int size);

Генерирует byte[] криптографически безопасных случайных байтов с заданным size. Примечание: Генерация больших объемов байтов с использованием этого метода может привести к блокировке и энтропии более низкого качества на большинстве платформ. Использование Crypto.GenerateRandomBytes является предпочтительным в большинстве случаев.

Параметры
ИмяТипПо умолчанию
sizeint—
Возвращает byte[]
GetEnvironmentstring
# GetEnvironment
C#
public static string GetEnvironment(string variable);

Возвращает значение переменной данной среды или пустой строки, если variable не существует. Примечание: Перепроверьте корпус variable. Environment На всех платформах, кроме Windows, имена переменных чувствительны к делу. Примечание: Применительно к макосу приложения не имеют доступа к переменным среды скорлупы.

Параметры
ИмяТипПо умолчанию
variablestring—
Возвращает string
GetExecutablePathstring
# GetExecutablePath
C#
public static string GetExecutablePath();

Возвращает путь к текущему исполняемому файлу движка. Примечание: В macOS, если вы хотите запустить другой экземпляр Reckfell, всегда используйте OS.CreateInstance вместо того, чтобы полагаться на путь к исполняемому файлу.

Возвращает string
GetGrantedPermissionsstring[]
# GetGrantedPermissions
C#
public static string[] GetGrantedPermissions();

На устройствах Android: возвращает список предоставленных опасных разрешений. На macOS: возвращает список предоставленных разрешений и выбранных пользователем папок, доступных приложению (только для изолированных приложений). Используйте встроенный диалог файлов для запроса разрешения на доступ к папке. На iOS, visionOS: возвращает список предоставленных разрешений.

Возвращает string[]
GetKeycodeStringstring
# GetKeycodeString
C#
public static string GetKeycodeString(Key code);

Возвращает заданный код клавиши как string.

C#
ReckfellApi.Print(OS.GetKeycodeString(Key.C));                                    // Prints "C"
ReckfellApi.Print(OS.GetKeycodeString(Key.Escape));                               // Prints "Escape"
ReckfellApi.Print(OS.GetKeycodeString((Key)KeyModifierMask.MaskShift | Key.Tab)); // Prints "Shift+Tab"

См. также OS.FindKeycodeFromString, InputEventKey.Keycode и InputEventKey.GetKeycodeWithModifiers.

Параметры
ИмяТипПо умолчанию
codeKey—
Возвращает string
GetLocalestring
# GetLocale
C#
public static string GetLocale();

Возвращает хозяина OS как местность string формы language_Script_COUNTRY_VARIANT@extra. Каждая подстрока после language является факультативным и может не существовать.

  • language - 2 или 3 буква языковой кодВ нижнем случае.
  • [Код пропусков]Script4-букв. Код сценария, в случае с титулом.
  • COUNTRY - 2 или 3 буква Код страны, в верхнем случае.
  • VARIANT - языковой вариант, регион и порядок сортировки.
  • extra - разделенный на полуколонну список дополнительных ключевых слов, включая валюту, календарь, сортировочный порядок и информацию о системе нумерации. Если вам нужен только языковой код, а не полностью указанный адрес OS, ты можешь использовать OS.GetLocaleLanguage.
Возвращает string
GetLocaleLanguagestring
# GetLocaleLanguage
C#
public static string GetLocaleLanguage();

Возвращает хозяина OS 2 или 3 буквы языковой код как строку, которая должна быть последовательной на всех платформах. Это эквивалентно извлечению language в части OS.GetLocale нить. Это может быть использовано для сужения полностью определенных локальных строк до «общего» языкового кода, когда вам не нужна дополнительная информация о страновом коде или вариантах. fr_CA Это вернётся. fr.

Возвращает string
GetLowProcessorUsageModeSleepUsecint
# GetLowProcessorUsageModeSleepUsec
C#
public static int GetLowProcessorUsageModeSleepUsec();
Возвращает int
GetMainThreadIdulong
# GetMainThreadId
C#
public static ulong GetMainThreadId();

Возвращает идентификатор основной нитки. OS.GetThreadCallerId. Примечание: Thread Идентификация не является детерминистской и может быть повторно использована в ходе всех повторных прикладных программ.

Возвращает ulong
GetMemoryInfoReckfell.Collections.Dictionary
# GetMemoryInfo
C#
public static Reckfell.Collections.Dictionary GetMemoryInfo();

Возвращает Reckfell.Collections.Dictionary, содержащий информацию о текущей памяти со следующими записями:

  • "physical" - общий объем используемой физической памяти в байтах. Это значение может быть немного меньше фактического объема физической памяти, поскольку оно не включает память, зарезервированную ядром и устройствами.
  • "free" - объем физической памяти, который может быть немедленно выделен без доступа к диску или других затратных операций, в байтах. Процесс может выделить больше физической памяти, но это действие потребует перемещения неактивных страниц на диск, что может быть затратно.
  • "available" - объем памяти, который может быть выделен без расширения файла(ов) подкачки, в байтах. Это значение включает как физическую память, так и подкачку.
  • "stack" - размер стека текущего потока в байтах. Примечание: Значение каждой записи может быть -1, если оно неизвестно.
Возвращает Reckfell.Collections.Dictionary
GetModelNamestring
# GetModelName
C#
public static string GetModelName();

Возвращает название модели текущего устройства. Примечание: Этот метод реализован на Android, iOS, macOS и Windows. Возвращает "GenericDevice" на неподдерживаемых платформах.

Возвращает string
GetNamestring
# GetName
C#
public static string GetName();

Возвращает имя хост-платформы.

  • В Windows это "Windows".
  • В macOS это "macOS".
  • В операционных системах на базе Linux это "Linux".
  • В операционных системах на базе BSD это "FreeBSD", "NetBSD", "OpenBSD" или "BSD" в качестве резерва.
  • В Android это "Android".
  • В iOS это "iOS".
  • В Web это "Web". Примечание: Пользовательские сборки движка могут поддерживать дополнительные платформы, такие как консоли, возможно, возвращая другие имена.
C#
switch (OS.GetName())
{
    case "Windows":
        ReckfellApi.Print("Welcome to Windows");
        break;
    case "macOS":
        ReckfellApi.Print("Welcome to macOS!");
        break;
    case "Linux":
    case "FreeBSD":
    case "NetBSD":
    case "OpenBSD":
    case "BSD":
        ReckfellApi.Print("Welcome to Linux/BSD!");
        break;
    case "Android":
        ReckfellApi.Print("Welcome to Android!");
        break;
    case "iOS":
        ReckfellApi.Print("Welcome to iOS!");
        break;
    case "Web":
        ReckfellApi.Print("Welcome to the Web!");
        break;
}

Примечание: На веб-платформах все еще можно определить хозяйскую платформу OS с метками. OS.HasFeature.

Возвращает string
GetPreferredLocalesstring[]
# GetPreferredLocales
C#
public static string[] GetPreferredLocales();

Возвращает множество мест, предпочтительных пользователем, в порядке предпочтения. string в бланке language_Script_COUNTRY_VARIANT@extra. Каждая подстрока после language является факультативным и может не существовать.

  • language - 2 или 3 буква языковой кодВ нижнем случае.
  • [Код пропусков]Script4-букв. Код сценария, в случае с титулом.
  • COUNTRY - 2 или 3 буква Код страны, в верхнем случае.
  • VARIANT - языковой вариант, регион и порядок сортировки.
  • extra - разделенный на полуколонну список дополнительных ключевых слов, включая валюту, календарь, сортировочный порядок и информацию о системе нумерации. Примечание: Этот метод применяется на acOS, iOS и Windows.
Возвращает string[]
GetProcessExitCodeint
# GetProcessExitCode
C#
public static int GetProcessExitCode(int pid);

Возвращает код выхода порожденного процесса после завершения его выполнения (см. OS.IsProcessRunning). Возвращает -1, если pid не является PID порожденного дочернего процесса, процесс все еще выполняется или метод не реализован для текущей платформы. Примечание: Возвращает -1, если pid является процессом приложения, связанным с macOS. Примечание: Этот метод реализован в Android, Linux, macOS и Windows.

Параметры
ИмяТипПо умолчанию
pidint—
Возвращает int
GetProcessIdint
# GetProcessId
C#
public static int GetProcessId();

Возвращает номер, используемый хост-машиной для уникальной идентификации этого приложения. Примечание: В Интернете этот метод всегда возвращает 0.

Возвращает int
GetProcessorCountint
# GetProcessorCount
C#
public static int GetProcessorCount();

Возвращает количество логических ядер ЦП, доступных на хост-машине. На ЦП с включенной функцией HyperThreading это число будет больше количества физических ядер ЦП.

Возвращает int
GetProcessorNamestring
# GetProcessorName
C#
public static string GetProcessorName();

Возвращает полное название модели процессора на приводной машине (например. "Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz"). Примечание: Этот метод применяется только на Windows, acOS, Linux, Android (API уровень 31+) и iOS. OS.GetProcessorName возвратит пустую нить.

Возвращает string
GetRestartOnExitArgumentsstring[]
# GetRestartOnExitArguments
C#
public static string[] GetRestartOnExitArguments();

Возвращает список аргументов командной строки, которые будут использоваться при автоматическом перезапуске проекта с использованием OS.SetRestartOnExit. См. также OS.IsRestartOnExitSet.

Возвращает string[]
GetStaticMemoryPeakUsageulong
# GetStaticMemoryPeakUsage
C#
public static ulong GetStaticMemoryPeakUsage();

Возвращает максимальный объем используемой статической памяти. Работает только в отладочных сборках.

Возвращает ulong
GetStaticMemoryUsageulong
# GetStaticMemoryUsage
C#
public static ulong GetStaticMemoryUsage();

Возвращает объем статической памяти, используемой программой в байтах. Работает только в отладочных сборках.

Возвращает ulong
GetStdInTypeOS.StdHandleType
# GetStdInType
C#
public static OS.StdHandleType GetStdInType();

Возвращает тип стандартного устройства ввода. Примечание: Этот метод реализован в Linux, macOS и Windows. Примечание: В экспортированных сборках Windows запустите исполняемый файл оболочки консоли для доступа к стандартному вводу. Если вам нужен один исполняемый файл с полной поддержкой консоли, используйте пользовательскую сборку, скомпилированную с флагом windows_subsystem=console.

Возвращает OS.StdHandleType
GetStdOutTypeOS.StdHandleType
# GetStdOutType
C#
public static OS.StdHandleType GetStdOutType();

Возвращает тип стандартного устройства вывода. Примечание: Этот метод реализован в Linux, macOS и Windows.

Возвращает OS.StdHandleType
GetStderrTypeOS.StdHandleType
# GetStderrType
C#
public static OS.StdHandleType GetStderrType();

Возвращает тип стандартного устройства ошибок. Примечание: Этот метод реализован в Linux, macOS и Windows.

Возвращает OS.StdHandleType
GetSystemCaCertificatesstring
# GetSystemCaCertificates
C#
public static string GetSystemCaCertificates();

Возвращает список центров сертификации, которым доверяет операционная система, в виде строки объединенных сертификатов в формате PEM.

Возвращает string
GetSystemDirstring
# GetSystemDir
C#
public static string GetSystemDir(OS.SystemDir dir, bool sharedStorage = true);

Возвращает путь к часто используемым папкам на разных платформах, как определено dir. См. константы OS.SystemDir для доступных расположений. Примечание: Этот метод реализован в Android, Linux, macOS и Windows. Примечание: Общее хранилище реализовано в Android и позволяет различать каталоги, специфичные для приложения, и общие каталоги, если shared_storage имеет значение true. Общие каталоги имеют дополнительные ограничения в Android.

Параметры
ИмяТипПо умолчанию
dirOS.SystemDir—
sharedStoragebooltrue
Возвращает string
GetSystemFontPathstring
# GetSystemFontPath
C#
public static string GetSystemFontPath(string fontName, int weight = 400, int stretch = 100, bool italic = false);

Возвращает путь к системному файлу шрифта с font_name и стилем. Возвращает пустую строку, если соответствующие шрифты не найдены. Для запроса шрифтов по умолчанию можно использовать следующие псевдонимы: "sans-serif", "serif", "monospace", "cursive" и "fantasy". Примечание: Возвращаемый шрифт может иметь другой стиль, если запрошенный стиль недоступен. Примечание: Этот метод реализован на Android, iOS, Linux, macOS и Windows.

Параметры
ИмяТипПо умолчанию
fontNamestring—
weightint400
stretchint100
italicboolfalse
Возвращает string
GetSystemFontPathForTextstring[]
# GetSystemFontPathForText
C#
public static string[] GetSystemFontPathForText(string fontName, string text, string locale = "", string script = "", int weight = 400, int stretch = 100, bool italic = false);

Возвращает набор файловых дорожек системы, которые аналогичны шрифту с font_name и стиль для указанного текста, локализации и сценария. Возвращает пустой массив, если не найдены соответствующие шрифты. Для запроса шрифтов по умолчанию могут использоваться следующие псевдонимы: "sans-serif", "serif" , "monospace", "cursive" и "fantasy". Примечание: В зависимости от OS, нет гарантии, что любой из возвращенных шрифтов будет подходит для перевода указанного текста. Фонты должны быть загружены и проверены в том порядке, в котором они возвращены, и первый подходит. Примечание: Вернутые шрифты могут иметь иной стиль, если требуемый стиль отсутствует или относится к другой группе шрифтов. Примечание: Этот метод применяется на Android, iOS, Linux, acOS и Windows.

Параметры
ИмяТипПо умолчанию
fontNamestring—
textstring—
localestring""
scriptstring""
weightint400
stretchint100
italicboolfalse
Возвращает string[]
GetSystemFontsstring[]
# GetSystemFonts
C#
public static string[] GetSystemFonts();

Возвращает список доступных имен семейств шрифтов. Примечание: Этот метод реализован на Android, iOS, Linux, macOS и Windows.

Возвращает string[]
GetTempDirstring
# GetTempDir
C#
public static string GetTempDir();

Возвращает глобальный временный каталог данных в соответствии со стандартами операционной системы.

Возвращает string
GetThreadCallerIdulong
# GetThreadCallerId
C#
public static ulong GetThreadCallerId();

Возвращает идентификатор текущей нитки. Это может быть использовано в журналах для облегчения отладки многослойных приложений. Примечание: Thread Идентификация не является детерминистской и может быть повторно использована в ходе всех повторных прикладных программ.

Возвращает ulong
GetUniqueIdstring
# GetUniqueId
C#
public static string GetUniqueId();

Возвращает строку, которая уникальна для устройства. Примечание: Эта строка может измениться без уведомления, если пользователь переустановит свою операционную систему, обновит ее или изменит свое оборудование. Это означает, что ее, как правило, не следует использовать для шифрования постоянных данных, поскольку данные, сохраненные до неожиданного изменения идентификатора, станут недоступными. Возвращаемая строка также может быть подделана с помощью внешних программ, поэтому не полагайтесь на строку, возвращаемую этим методом, в целях безопасности. Примечание: В Интернете возвращает пустую строку и генерирует ошибку, поскольку этот метод не может быть реализован по соображениям безопасности.

Возвращает string
GetUserDataDirstring
# GetUserDataDir
C#
public static string GetUserDataDir();

Возвращает абсолютный путь к каталогу, в который записываются пользовательские данные (каталог user:// в Reckfell). Путь зависит от имени проекта и ProjectSettings.application/config/use_custom_user_dir.

  • В Windows это %AppData%\Reckfell\app_userdata\[project_name] или %AppData%\[custom_name], если задано use_custom_user_dir. %AppData% расширяется до %UserProfile%\AppData\Roaming.
  • В macOS это ~/Library/Application Support/Reckfell/app_userdata/[project_name] или ~/Library/Application Support/[custom_name], если задано use_custom_user_dir.
  • В Linux и BSD это ~/.local/share/reckfell/app_userdata/[project_name] или ~/.local/share/[custom_name], если задано use_custom_user_dir.
  • В Android и iOS это изолированный каталог во внутреннем или внешнем хранилище в зависимости от конфигурации пользователя.
  • В Web это виртуальный каталог, управляемый браузером. Если имя проекта пустое, [project_name] возвращается к [unnamed project]. Не путать с OS.GetDataDir, который возвращает глобальный (не относящийся к проекту) домашний каталог пользователя.
Возвращает string
GetVersionstring
# GetVersion
C#
public static string GetVersion();

Возвращает точную производственную и сборочную версию операционной системы. Она отличается от фирменной версии, используемой в маркетинге. Это помогает различать разные выпуски операционных систем, включая второстепенные версии, а также внутренние и пользовательские сборки.

  • Для Windows возвращаются основная и второстепенная версии, а также номер сборки. Например, возвращаемая строка может выглядеть как 10.0.9926 для сборки Windows 10.
  • Для скользящих дистрибутивов, таких как Арка Линюкс, возвращается пустая строка.
  • Для macOS и iOS возвращаются основная и второстепенная версии, а также номер патча.
  • Для Android возвращаются версия SDK и инкрементный номер сборки. Если это пользовательская прошивка, она пытается вернуть свою версию. Примечание: Этот метод не поддерживается на веб-платформе. Он возвращает пустую строку.
Возвращает string
GetVersionAliasstring
# GetVersionAlias
C#
public static string GetVersionAlias();

Возвращает фирменную версию, используемую в маркетинге, за которой следует номер сборки (в Windows), номер версии (в macOS) или версия SDK и инкрементный номер сборки (в Android). Примеры включают 11 (build 22000), Sequoia (15.0.0) и 15 (SDK 35 build abc528-11988f). Затем это значение можно добавить к OS.GetName, чтобы получить полное, понятное человеку имя операционной системы и комбинацию версии для операционной системы. Обновления функций Windows, такие как 24H2, не содержатся в результирующей строке, но Сервер окон распознается как таковой (например, 2025 (build 26100) для Сервер окон 2025). Примечание: Этот метод поддерживается только в Windows, macOS и Android. В других операционных системах он возвращает то же значение, что и OS.GetVersion.

Возвращает string
GetVideoAdapterDriverInfostring[]
# GetVideoAdapterDriverInfo
C#
public static string[] GetVideoAdapterDriverInfo();

Возвращает имя и версию драйвера видеоадаптера для текущей активной видеокарты пользователя в виде string[]. См. также RenderingServer.GetVideoAdapterApiVersion. Первый элемент содержит имя драйвера, например, nvidia, amdgpu и т. д. Второй элемент содержит версию драйвера. Например, для драйвера nvidia на платформе Linux/BSD версия имеет формат 510.85.02. Для Windows формат драйвера — 31.0.15.1659. Примечание: Этот метод поддерживается только в Linux/BSD и Windows, если он не запущен в режиме headless. На других платформах он возвращает пустой массив. Примечание: Этот метод будет выполняться медленно при первом вызове в сеансе; его выполнение может занять несколько секунд в зависимости от операционной системы и оборудования. Он блокируется при вызове в основном потоке, поэтому рекомендуется вызывать его в отдельном потоке с помощью ReckfellThread. Это позволяет движку продолжать работу во время получения информации. Однако OS.GetVideoAdapterDriverInfo не потокобезопасен, поэтому его не следует вызывать из нескольких потоков одновременно.

Возвращает string[]
HasEnvironmentbool
# HasEnvironment
C#
public static bool HasEnvironment(string variable);

Returns (Возврат) true если среда изменяется с наименованием variable существует. Примечание: Перепроверьте корпус variable. Environment На всех платформах, кроме Windows, имена переменных чувствительны к делу.

Параметры
ИмяТипПо умолчанию
variablestring—
Возвращает bool
HasFeaturebool
# HasFeature
C#
public static bool HasFeature(string tagName);

Проверяет точное имя признака сборки, платформы или пользовательской метки. Регистр важен. editor означает сборку редактора и остаётся истинным при запуске проекта; editor_runtime отличает такой запуск от работы внутри редактора. application/config/features не регистрирует пользовательские метки.

Параметры
ИмяТипПо умолчанию
tagNamestring—
tagName

Точное имя метки, например windows, editor_runtime или demo. Windows не совпадает с windows.

Возвращает bool

true, если указанная метка активна в текущем процессе; false для неизвестной или неактивной метки.

IsDebugBuildbool
# IsDebugBuild
C#
public static bool IsDebugBuild();

Возвращает true, если двоичный файл Reckfell, используемый для запуска проекта, является шаблоном экспорта debug, или при запуске в редакторе. Возвращает false, если двоичный файл Reckfell, используемый для запуска проекта, является шаблоном экспорта release. Примечание: Чтобы проверить, является ли двоичный файл Reckfell, используемый для запуска проекта, шаблоном экспорта (отладки или выпуска), используйте вместо этого OS.has_feature("template").

Возвращает bool
IsDeltaSmoothingEnabledbool
# IsDeltaSmoothingEnabled
C#
public static bool IsDeltaSmoothingEnabled();
Возвращает bool
IsInLowProcessorUsageModebool
# IsInLowProcessorUsageMode
C#
public static bool IsInLowProcessorUsageMode();
Возвращает bool
IsKeycodeUnicodebool
# IsKeycodeUnicode
C#
public static bool IsKeycodeUnicode(long code);

Возвращает true, если входной keycode соответствует символу Unicode. Список кодов см. в константах Key.

C#
ReckfellApi.Print(OS.IsKeycodeUnicode((long)Key.G));      // Prints True
ReckfellApi.Print(OS.IsKeycodeUnicode((long)Key.Kp4));    // Prints True
ReckfellApi.Print(OS.IsKeycodeUnicode((long)Key.Tab));    // Prints False
ReckfellApi.Print(OS.IsKeycodeUnicode((long)Key.Escape)); // Prints False
Параметры
ИмяТипПо умолчанию
codelong—
Возвращает bool
IsProcessRunningbool
# IsProcessRunning
C#
public static bool IsProcessRunning(int pid);

Возвращает true, если идентификатор дочернего процесса (pid) все еще выполняется, или false, если он был завершен. pid должен быть допустимым идентификатором, сгенерированным из OS.CreateProcess. Примечание: Этот метод реализован в Android, iOS, Linux, macOS и Windows.

Параметры
ИмяТипПо умолчанию
pidint—
Возвращает bool
IsRestartOnExitSetbool
# IsRestartOnExitSet
C#
public static bool IsRestartOnExitSet();

Возвращает true, если проект автоматически перезапустится при выходе из него по любой причине, false в противном случае. См. также OS.SetRestartOnExit и OS.GetRestartOnExitArguments.

Возвращает bool
IsSandboxedbool
# IsSandboxed
C#
public static bool IsSandboxed();

Возвращает true, если приложение запущено в песочнице. Примечание: Этот метод реализован только в macOS и Linux.

Возвращает bool
IsStdOutVerbosebool
# IsStdOutVerbose
C#
public static bool IsStdOutVerbose();

Возвращает true, если движок был запущен с аргументом командной строки --verbose или -v, или если ProjectSettings.debug/settings/stdout/verbose_stdout равен true. См. также @GlobalScope.print_verbose.

Возвращает bool
IsUserfsPersistentbool
# IsUserfsPersistent
C#
public static bool IsUserfsPersistent();

Возвращает true, если файловая система user:// является постоянной, то есть ее состояние остается прежним после того, как игрок выходит из игры и снова ее запускает. Относится к веб-платформе, где эта постоянная возможность может быть недоступна.

Возвращает bool
KillError
# Kill
C#
public static Error Kill(int pid);

Убить (завершить) процесс, идентифицированный заданным идентификатором процесса (pid), например, идентификатором, возвращаемым OS.Execute в неблокируемом режиме. См. также OS.Crash. Примечание: Этот метод также можно использовать для уничтожения процессов, которые не были порождены движком. Примечание: Этот метод реализован в Android, iOS, Linux, macOS и Windows.

Параметры
ИмяТипПо умолчанию
pidint—
Возвращает Error
MoveToTrashError
# MoveToTrash
C#
public static Error MoveToTrash(string path);

Перемещает файл или каталог по указанному path в системную корзину. См. также DirAccess.Remove. Метод принимает только глобальные пути, поэтому вам может потребоваться использовать ProjectSettings.GlobalizePath. Не используйте его для файлов в asset://, так как он не будет работать в экспортированных проектах. Возвращает FAILED, если файл или каталог не могут быть найдены или система не поддерживает этот метод.

C#
var fileToRemove = "user://slot1.save";
OS.MoveToTrash(ProjectSettings.GlobalizePath(fileToRemove));

Примечание: Этот метод реализован на Android, Linux, macOS и Windows. Примечание: Если пользователь отключил корзину в своей системе, файл будет удален навсегда.

Параметры
ИмяТипПо умолчанию
pathstring—
Возвращает Error
OpenMidiInputsvoid
# OpenMidiInputs
C#
public static void OpenMidiInputs();

Инициализирует синглтон для системного драйвера MIDI, позволяя Reckfell получать InputEventMidi. См. также OS.GetConnectedMidiInputs и OS.CloseMidiInputs. Примечание: Этот метод реализован в Linux, macOS, Windows и Web. Примечание: На веб-платформе веб-MIDI должен поддерживаться браузером. На данный момент он поддерживается всеми основными браузерами, кроме Safari. Примечание: На веб-платформе использование ввода MIDI требует предварительного предоставления разрешения браузеру. Этот запрос разрешения выполняется при вызове OS.OpenMidiInputs. Браузер воздержится от обработки ввода MIDI, пока пользователь не примет запрос разрешения.

OpenWithProgram2 перегрузки
# OpenWithProgram · 1/2
C#
public static Error OpenWithProgram(string programPath, ReadOnlySpan<string> paths);

Открывает один или несколько файлов/каталогов с помощью указанного приложения. Параметр program_path задаёт путь к приложению, используемому для открытия файлов, а paths содержит массив путей к файлам/каталогам, которые нужно открыть. Примечание: Этот метод в основном актуален только для macOS, где открытие файлов с помощью OS.CreateProcess может завершиться ошибкой. На других платформах используется OS.CreateProcess. Примечание: В macOS параметр program_path в идеале должен быть путём к пакету .app.

Параметры
ИмяТипПо умолчанию
programPathstring—
pathsReadOnlySpan<string>—
Возвращает Error
# OpenWithProgram · 2/2
C#
public static Error OpenWithProgram(string programPath, string[] paths);

Открывает один или несколько файлов/каталогов с помощью указанного приложения. Параметр program_path задаёт путь к приложению, используемому для открытия файлов, а paths содержит массив путей к файлам/каталогам, которые нужно открыть. Примечание: Этот метод в основном актуален только для macOS, где открытие файлов с помощью OS.CreateProcess может завершиться ошибкой. На других платформах используется OS.CreateProcess. Примечание: В macOS параметр program_path в идеале должен быть путём к пакету .app.

Параметры
ИмяТипПо умолчанию
programPathstring—
pathsstring[]—
Возвращает Error
ReadBufferFromStdInbyte[]
# ReadBufferFromStdIn
C#
public static byte[] ReadBufferFromStdIn(long bufferSize = 1024);

Считывает пользовательский ввод как необработанные данные из стандартного ввода. Эта операция может быть блокирующей, что приводит к замораживанию окна, если OS.ReadBufferFromStdIn вызывается в основном потоке.

  • Если стандартный ввод — консоль, этот метод будет блокироваться до тех пор, пока программа не получит разрыв строки в стандартном вводе (обычно нажатием пользователем [kbd]Enter[/kbd]).
  • Если стандартный ввод — канал, этот метод будет блокироваться до тех пор, пока не будет прочитано определенное количество данных или канал не будет закрыт.
  • Если стандартный ввод — файл, этот метод прочитает определенное количество данных (или меньше, если достигнут конец файла) и немедленно вернется. Примечание: Этот метод реализован в Linux, macOS и Windows. Примечание: В экспортированных сборках Windows запустите исполняемый файл оболочки консоли для доступа к терминалу. Если стандартный ввод — консоль, вызов этого метода без оболочки консоли приведет к постоянной заморозке. Если стандартный ввод — это канал или файл, его можно использовать без оболочки консоли. Если вам нужен один исполняемый файл с полной поддержкой консоли, используйте пользовательскую сборку, скомпилированную с флагом windows_subsystem=console.
Параметры
ИмяТипПо умолчанию
bufferSizelong1024
Возвращает byte[]
ReadStringFromStdIn2 перегрузки
# ReadStringFromStdIn · 1/2
C#
public static string ReadStringFromStdIn();

Считывает пользовательский ввод как строку в кодировке UTF-8 из стандартного ввода. Эта операция может быть блокирующей, что приводит к замораживанию окна, если OS.ReadStringFromStdIn вызывается в основном потоке.

  • Если стандартный ввод — консоль, этот метод будет блокироваться до тех пор, пока программа не получит разрыв строки в стандартном вводе (обычно нажатием пользователем [kbd]Enter[/kbd]).
  • Если стандартный ввод — канал, этот метод будет блокироваться до тех пор, пока не будет прочитано определенное количество данных или канал не будет закрыт.
  • Если стандартный ввод — файл, этот метод прочитает определенное количество данных (или меньше, если достигнут конец файла) и немедленно вернет управление. Примечание: Этот метод автоматически заменяет разрывы строк \r\n на \n и удаляет их из конца строки. Используйте OS.ReadBufferFromStdIn для чтения необработанных данных. Примечание: Этот метод реализован в Linux, macOS и Windows. Примечание: В экспортированных сборках Windows запустите исполняемый файл оболочки консоли, чтобы получить доступ к терминалу. Если стандартный ввод — консоль, вызов этого метода без оболочки консоли зависнет навсегда. Если стандартный ввод — канал или файл, его можно использовать без оболочки консоли. Если вам нужен один исполняемый файл с полной поддержкой консоли, используйте пользовательскую сборку, скомпилированную с флагом windows_subsystem=console.
Возвращает string
# ReadStringFromStdIn · 2/2
C#
public static string ReadStringFromStdIn(long bufferSize = 1024);

Считывает пользовательский ввод как строку в кодировке UTF-8 из стандартного ввода. Эта операция может быть блокирующей, что приводит к замораживанию окна, если OS.ReadStringFromStdIn вызывается в основном потоке.

  • Если стандартный ввод — консоль, этот метод будет блокироваться до тех пор, пока программа не получит разрыв строки в стандартном вводе (обычно нажатием пользователем [kbd]Enter[/kbd]).
  • Если стандартный ввод — канал, этот метод будет блокироваться до тех пор, пока не будет прочитано определенное количество данных или канал не будет закрыт.
  • Если стандартный ввод — файл, этот метод прочитает определенное количество данных (или меньше, если достигнут конец файла) и немедленно вернет управление. Примечание: Этот метод автоматически заменяет разрывы строк \r\n на \n и удаляет их из конца строки. Используйте OS.ReadBufferFromStdIn для чтения необработанных данных. Примечание: Этот метод реализован в Linux, macOS и Windows. Примечание: В экспортированных сборках Windows запустите исполняемый файл оболочки консоли, чтобы получить доступ к терминалу. Если стандартный ввод — консоль, вызов этого метода без оболочки консоли зависнет навсегда. Если стандартный ввод — канал или файл, его можно использовать без оболочки консоли. Если вам нужен один исполняемый файл с полной поддержкой консоли, используйте пользовательскую сборку, скомпилированную с флагом windows_subsystem=console.
Параметры
ИмяТипПо умолчанию
bufferSizelong1024
Возвращает string
RemoveLoggervoid
# RemoveLogger
C#
public static void RemoveLogger(Logger logger);

Удалить пользовательский логер, добавленный OS.AddLogger.

Параметры
ИмяТипПо умолчанию
loggerLogger—
RequestPermissionbool
# RequestPermission
C#
public static bool RequestPermission(string name);

просит разрешения у OS для данного name. Возвращение true если уже было дано разрешение. MainLoop.OnRequestPermissionsResult. :: name должно быть полное имя разрешения.

  • OS.request_permission("android.permission.READ_EXTERNAL_STORAGE")
  • OS.request_permission("android.permission.POST_NOTIFICATIONS")
  • OS.request_permission("macos.permission.RECORD_SCREEN")
  • OS.request_permission("appleembedded.permission.AUDIO_RECORD") Примечание: На Андроиде разрешение должно проверяться во время экспорта. Примечание: Этот метод применяется на платформах Android, MacOS и ValentOS.
Параметры
ИмяТипПо умолчанию
namestring—
Возвращает bool
RequestPermissionsbool
# RequestPermissions
C#
public static bool RequestPermissions();

Просьбы*, связанные с опасными* OS. Возвращение true если уже было дано разрешение. MainLoop.OnRequestPermissionsResult. Примечание: Разрешения должны проверяться во время экспорта. Примечание: Этот метод применяется только на Android. Обычные разрешения автоматически выдаются в момент установки Android.

Возвращает bool
RevokeGrantedPermissionsvoid
# RevokeGrantedPermissions
C#
public static void RevokeGrantedPermissions();

В macOS (только для изолированных приложений) эта функция очищает список выбранных пользователем папок, доступных приложению.

SetDeltaSmoothingvoid
# SetDeltaSmoothing
C#
public static void SetDeltaSmoothing(bool deltaSmoothingEnabled);
Параметры
ИмяТипПо умолчанию
deltaSmoothingEnabledbool—
SetEnvironmentvoid
# SetEnvironment
C#
public static void SetEnvironment(string variable, string value);

Устанавливает значение переменной окружающей среды variable в адрес valueДля процесса " Reckfell " и любого процесса, осуществляемого с использованием OS.Execute после запуска OS.SetEnvironment. Изменение окружающей среды будет не сохраняться в процессах, осуществляемых после прекращения процесса " Reckfell " . Примечание: Environment На всех платформах, кроме Windows, имена переменных чувствительны к делу. variable имя не может быть пустым или включать = на Windows установлен предел 32767 символов для совокупной длины variable, value, и = и Ненулевой терминатор символы, которые будут зарегистрированы в блоке окружающей среды.

Параметры
ИмяТипПо умолчанию
variablestring—
valuestring—
SetLowProcessorUsageModevoid
# SetLowProcessorUsageMode
C#
public static void SetLowProcessorUsageMode(bool enable);
Параметры
ИмяТипПо умолчанию
enablebool—
SetLowProcessorUsageModeSleepUsecvoid
# SetLowProcessorUsageModeSleepUsec
C#
public static void SetLowProcessorUsageModeSleepUsec(int usec);
Параметры
ИмяТипПо умолчанию
usecint—
SetRestartOnExit2 перегрузки
# SetRestartOnExit · 1/2
C#
public static void SetRestartOnExit(bool restart, ReadOnlySpan<string> arguments);

Если restart равен true, автоматически перезапускает проект при выходе из него с помощью EntityTree.Quit или Entity.NotificationWMCloseRequest. Можно указать arguments командной строки. Чтобы перезапустить проект с теми же аргументами командной строки, которые изначально использовались для запуска проекта, передайте OS.GetCmdlineArgs в качестве значения для arguments. Этот метод можно использовать для применения изменений настроек, требующих перезапуска. См. также OS.IsRestartOnExitSet и OS.GetRestartOnExitArguments. Примечание: Этот метод эффективен только на настольных платформах и только когда проект не запущен из редактора. Он не будет иметь никакого эффекта на мобильных и веб-платформах или когда проект запущен из редактора. Примечание: Если процесс проекта аварийно завершается или завершен пользователем (путем отправки SIGKILL вместо обычного SIGTERM), проект не будет перезапущен автоматически.

Параметры
ИмяТипПо умолчанию
restartbool—
argumentsReadOnlySpan<string>—
# SetRestartOnExit · 2/2
C#
public static void SetRestartOnExit(bool restart, string[] arguments = null);

Если restart равен true, автоматически перезапускает проект при выходе из него с помощью EntityTree.Quit или Entity.NotificationWMCloseRequest. Можно указать arguments командной строки. Чтобы перезапустить проект с теми же аргументами командной строки, которые изначально использовались для запуска проекта, передайте OS.GetCmdlineArgs в качестве значения для arguments. Этот метод можно использовать для применения изменений настроек, требующих перезапуска. См. также OS.IsRestartOnExitSet и OS.GetRestartOnExitArguments. Примечание: Этот метод эффективен только на настольных платформах и только когда проект не запущен из редактора. Он не будет иметь никакого эффекта на мобильных и веб-платформах или когда проект запущен из редактора. Примечание: Если процесс проекта аварийно завершается или завершен пользователем (путем отправки SIGKILL вместо обычного SIGTERM), проект не будет перезапущен автоматически.

Параметры
ИмяТипПо умолчанию
restartbool—
argumentsstring[]null
arguments

Если параметр не имеет значения, то значение по умолчанию: Array.Empty<string>().

SetThreadNameError
# SetThreadName
C#
public static Error SetThreadName(string name);

Назначает заданное имя текущему потоку. Возвращает ERR_UNAVAILABLE, если недоступно на текущей платформе.

Параметры
ИмяТипПо умолчанию
namestring—
Возвращает Error
SetUseFileAccessSaveAndSwapvoid
# SetUseFileAccessSaveAndSwap
C#
public static void SetUseFileAccessSaveAndSwap(bool enabled);

Если enabled имеет значение true, при открытии файла для записи вместо него используется временный файл. При закрытии он автоматически применяется к целевому файлу. Это может быть полезно, когда файлы могут быть открыты другими приложениями, такими как антивирусы, текстовые редакторы или даже сам редактор Reckfell.

Параметры
ИмяТипПо умолчанию
enabledbool—
ShellOpenError
# ShellOpen
C#
public static Error ShellOpen(string uri);

просит OS для открытия ресурса, выявленного uri с наиболее подходящей программой. Например:

  • OS.shell_open("C:\\Users\\name\\Downloads") на Windows открывает файлоразведчик в папке загрузок пользователя.
  • OS.shell_open("C:/Users/name/Downloads") Также работает на Windows и открывает поиск файлов в папке загрузок пользователя.
  • OS.shell_open("https://reckfellengine.org") Открыть веббраузер по умолчанию на официальном сайте Reckfell.
  • OS.shell_open("mailto:example@example.com") открыть клиент электронной почты по умолчанию с набором поля "To" example@example.comСм. RFC 2368 - Схема почтового URL для перечня полей, которые можно добавить. Использование ProjectSettings.GlobalizePath Преобразование a asset:// или user:// проектная дорожка к системной дорожке для использования этим методом. Примечание: Использование String.uri_encode , кодировать символы в URL в защищенном URL переносным способом. В противном случае, OS.ShellOpen может не работать правильно в проекте, экспортируемом на веб-платформу. Примечание: Этот метод применяется на Android, iOS, Web, Linux, acOS и Windows.
Параметры
ИмяТипПо умолчанию
uristring—
Возвращает Error
ShellShowInFileManagerError
# ShellShowInFileManager
C#
public static Error ShellShowInFileManager(string fileOrDirPath, bool openFolder = true);

просит OS открыть файл-менеджер, перейти к данному file_or_dir_path и выбрать целевой файл или папку. Если open_folder это true и file_or_dir_path является верным маршрутом каталога, OS Откроет файл-менеджер и введет в целевую папку, не выбирая ничего. Использование ProjectSettings.GlobalizePath Преобразование a asset:// или user:// проектный путь к системному пути для использования с помощью этого метода. Примечание: В настоящее время этот метод применяется только на Windows и acOS. OS.ShellOpen с помощью каталога file_or_dir_path Префиксировано file://.

Параметры
ИмяТипПо умолчанию
fileOrDirPathstring—
openFolderbooltrue
Возвращает Error
UnsetEnvironmentvoid
# UnsetEnvironment
C#
public static void UnsetEnvironment(string variable);

Удаляет данную среду из текущей среды, если она существует. variable имя не может быть пустым или включать = Для процесса " Reckfell " и любого процесса, осуществляемого с использованием OS.Execute после запуска OS.UnsetEnvironment. Удаление переменной окружающей среды будет не сохраняться в процессе, осуществляемом после прекращения процесса " Reckfell " . Примечание: Environment На всех платформах, кроме Windows, имена переменных чувствительны к делу.

Параметры
ИмяТипПо умолчанию
variablestring—

OS.RenderingDriver

ЗначениеОписание
D3D12 = 2

Драйвер рендеринга Direct3D 12. Для его работы требуется уровень функциональности 12_0 и поддержка Shader Модель 6.0.

Metal = 3

Драйвер рендеринга Metal.

Opengl3 = 1

Драйвер рендеринга OpenGL 3. Он использует OpenGL 3.3 Ключевой профиль на настольных платформах, OpenGL ES 3.0 на мобильных устройствах и WebGL 2.0 на веб-устройствах.

Vulkan = 0

Драйвер рендеринга Vulkan. Он требует поддержки Vulkan 1.0 и автоматически использует функции Vulkan 1.1, 1.2 и 1.3, если они доступны.

OS.StdHandleType

ЗначениеОписание
Console = 1

Стандартное устройство ввода-вывода — это консоль. Обычно это происходит, когда Reckfell запускается из терминала без перенаправления. Это также используется для всех стандартных устройств ввода-вывода при запуске Reckfell из редактора, по крайней мере на настольных платформах.

File = 2

Стандартное устройство ввода-вывода — это обычный файл. Обычно это происходит при перенаправлении с терминала, например, reckfell > stdout.txt, reckfell < stdin.txt или reckfell > stdout_stderr.txt 2>&1.

Invalid = 0

Стандартное устройство ввода-вывода (I/O) недействительно. Невозможно получить или отправить данные с этих стандартных устройств ввода-вывода.

Pipe = 3

Стандартное устройство ввода-вывода — FIFO/pipe. Обычно это происходит при использовании pipe с терминала, например echo "Hello" | reckfell.

Unknown = 4

Тип стандартного устройства ввода-вывода неизвестен.

OS.SystemDir

ЗначениеОписание
Dcim = 1

Относится к пути к каталогу DCIM (изображения с цифровой камеры).

Desktop = 0

Относится к пути к каталогу рабочего стола.

Documents = 2

Относится к пути к каталогу документов.

Downloads = 3

Относится к пути к каталогу загрузок.

Movies = 4

Относится к пути к каталогу фильмов (или видео).

Music = 5

Относится к пути к каталогу «Музыка».

Pictures = 6

Относится к пути к каталогу изображений.

Ringtones = 7

Относится к пути к каталогу рингтонов.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.