OS

Успадковує: Object

Забезпечує доступ до функціональних можливостей операційної системи.

Опис

Клас OS обмотує найбільш поширені функціональні можливості для спілкування з операційною системою хост, наприклад, відео драйвером, затримками, змінними середовищами, виконання бункерів, командного рядка тощо.

Примітка: У Godot 4, OS функції, пов'язані з управління вікнами, буфером, і TTS були перенесені на DisplayServer однотон (і Window клас). Функції, пов'язані з часом, були видалені і доступні тільки в класі Time.

Посібники

Властивості

bool

delta_smoothing

true

bool

low_processor_usage_mode

false

int

low_processor_usage_mode_sleep_usec

6900

Методи

void

add_logger(logger: Logger)

void

alert(text: String, title: String = "Alert!")

void

close_midi_inputs()

void

crash(message: String)

int

create_instance(arguments: PackedStringArray)

int

create_process(path: String, arguments: PackedStringArray, open_console: bool = false)

void

delay_msec(msec: int) const

void

delay_usec(usec: int) const

int

execute(path: String, arguments: PackedStringArray, output: Array = [], read_stderr: bool = false, open_console: bool = false)

Dictionary

execute_with_pipe(path: String, arguments: PackedStringArray, blocking: bool = true)

Key

find_keycode_from_string(string: String) const

String

get_cache_dir() const

PackedStringArray

get_cmdline_args()

PackedStringArray

get_cmdline_user_args()

String

get_config_dir() const

PackedStringArray

get_connected_midi_inputs()

String

get_data_dir() const

String

get_distribution_name() const

PackedByteArray

get_entropy(size: int)

String

get_environment(variable: String) const

String

get_executable_path() const

PackedStringArray

get_granted_permissions() const

String

get_keycode_string(code: Key) const

String

get_locale() const

String

get_locale_language() const

int

get_main_thread_id() const

Dictionary

get_memory_info() const

String

get_model_name() const

String

get_name() const

int

get_process_exit_code(pid: int) const

int

get_process_id() const

int

get_processor_count() const

String

get_processor_name() const

PackedStringArray

get_restart_on_exit_arguments() const

int

get_static_memory_peak_usage() const

int

get_static_memory_usage() const

StdHandleType

get_stderr_type() const

StdHandleType

get_stdin_type() const

StdHandleType

get_stdout_type() const

String

get_system_ca_certificates()

String

get_system_dir(dir: SystemDir, shared_storage: bool = true) const

String

get_system_font_path(font_name: String, weight: int = 400, stretch: int = 100, italic: bool = false) const

PackedStringArray

get_system_font_path_for_text(font_name: String, text: String, locale: String = "", script: String = "", weight: int = 400, stretch: int = 100, italic: bool = false) const

PackedStringArray

get_system_fonts() const

String

get_temp_dir() const

int

get_thread_caller_id() const

String

get_unique_id() const

String

get_user_data_dir() const

String

get_version() const

String

get_version_alias() const

PackedStringArray

get_video_adapter_driver_info() const

bool

has_environment(variable: String) const

bool

has_feature(tag_name: String) const

bool

is_debug_build() const

bool

is_keycode_unicode(code: int) const

bool

is_process_running(pid: int) const

bool

is_restart_on_exit_set() const

bool

is_sandboxed() const

bool

is_stdout_verbose() const

bool

is_userfs_persistent() const

Error

kill(pid: int)

Error

move_to_trash(path: String) const

void

open_midi_inputs()

Error

open_with_program(program_path: String, paths: PackedStringArray)

PackedByteArray

read_buffer_from_stdin(buffer_size: int = 1024)

String

read_string_from_stdin(buffer_size: int = 1024)

void

remove_logger(logger: Logger)

bool

request_permission(name: String)

bool

request_permissions()

void

revoke_granted_permissions()

void

set_environment(variable: String, value: String) const

void

set_restart_on_exit(restart: bool, arguments: PackedStringArray = PackedStringArray())

Error

set_thread_name(name: String)

void

set_use_file_access_save_and_swap(enabled: bool)

Error

shell_open(uri: String)

Error

shell_show_in_file_manager(file_or_dir_path: String, open_folder: bool = true)

void

unset_environment(variable: String) const


Переліки

enum RenderingDriver: 🔗

RenderingDriver RENDERING_DRIVER_VULKAN = 0

Драйвер Vulkan рендеринга. Він вимагає підтримки Vulkan 1.0 і автоматично використовує функції від Vulkan 1.1 і 1.2, якщо це можливо.

RenderingDriver RENDERING_DRIVER_OPENGL3 = 1

Драйвер OpenGL 3. Він використовує OpenGL 3.3 Core профілю на настільних платформах, OpenGL ES 3.0 на мобільних пристроях, і WebGL 2.0 на Веб-сайті.

RenderingDriver RENDERING_DRIVER_D3D12 = 2

Драйвер на Direct3D 12.

RenderingDriver RENDERING_DRIVER_METAL = 3

Драйвер візуалізації металу.


enum SystemDir: 🔗

SystemDir SYSTEM_DIR_DESKTOP = 0

Refers до шляху каталогу робочого столу.

SystemDir SYSTEM_DIR_DCIM = 1

Бібліотеки до шляху каталогу DCIM (Digital Camera Images).

SystemDir SYSTEM_DIR_DOCUMENTS = 2

Бібліотеки до шляху до каталогу документів.

SystemDir SYSTEM_DIR_DOWNLOADS = 3

Референти до розділу каталогів завантаження.

SystemDir SYSTEM_DIR_MOVIES = 4

Бібліотеки до розділу каталогів (або відео).

SystemDir SYSTEM_DIR_MUSIC = 5

Бібліотеки до музичного центру.

SystemDir SYSTEM_DIR_PICTURES = 6

Бібліотеки до шляху каталогу зображень.

SystemDir SYSTEM_DIR_RINGTONES = 7

Бібліотеки до шляху каталогу Ringtones.


enum StdHandleType: 🔗

StdHandleType STD_HANDLE_INVALID = 0

Стандартний пристрій введення/виведення недійсний. Жодні дані не можуть бути отримані або надіслані на ці стандартні пристрої вводу/виводу.

StdHandleType STD_HANDLE_CONSOLE = 1

Стандартним пристроєм введення-виведення є консоль. Зазвичай це відбувається, коли Godot запускається з терміналу без переспрямування. Це також використовується для всіх стандартних пристроїв вводу/виводу під час запуску Godot із редактора, принаймні на настільних платформах.

StdHandleType STD_HANDLE_FILE = 2

Стандартний пристрій вводу/виводу — звичайний файл. Зазвичай це відбувається під час перенаправлення з терміналу, напр. godot > stdout.txt, godot < stdin.txt або godot > stdout_stderr.txt 2>&1.

StdHandleType STD_HANDLE_PIPE = 3

Стандартним пристроєм вводу/виводу є FIFO/канал. Зазвичай це відбувається під час використання каналу з терміналу, напр. `` echo "Привіт" | godot``.

StdHandleType STD_HANDLE_UNKNOWN = 4

Тип стандартного пристрою введення-виведення невідомий.


Описи властивостей

bool delta_smoothing = true 🔗

  • void set_delta_smoothing(value: bool)

  • bool is_delta_smoothing_enabled()

Якщо true, двигун фільтрує час дельта вимірюється між кожним кадром, і спроби компенсувати випадкові варіації. Це працює на системах, де працює V-Sync.

Примітка: На старті, це те ж саме, що ProjectSettings.application/run/delta_smoothing.


bool low_processor_usage_mode = false 🔗

  • void set_low_processor_usage_mode(value: bool)

  • bool is_in_low_processor_usage_mode()

Якщо true, двигун оптимізує для використання низького процесора тільки освіжаючи екран, якщо потрібно. Може поліпшити споживання акумуляторів на мобільних пристроях.

Примітка: На старті, це те ж саме, що ProjectSettings.application/run/low_processor_mode.


int low_processor_usage_mode_sleep_usec = 6900 🔗

  • void set_low_processor_usage_mode_sleep_usec(value: int)

  • int get_low_processor_usage_mode_sleep_usec()

Кількість спати між кадрами, коли режим використання низькопроцесора ввімкнено, в мікросекундах. Більшість значень призведе до використання нижнього процесора. Дивись також low_processor_usage_mode.

Примітка: На старті, це те ж саме, що ProjectSettings.application/run/low_processor_mode_sleep_usec.


Описи методів

void add_logger(logger: Logger) 🔗

Додайте спеціальний логер для перехоплення внутрішнього потоку повідомлень.


void alert(text: String, title: String = "Alert!") 🔗

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


void close_midi_inputs() 🔗

Закриває системний драйвер MIDI. Godot більше не отримуватиме InputEventMIDI. Дивіться також open_midi_inputs() і get_connected_midi_inputs().

Примітка. Цей метод реалізовано в Linux, macOS, Windows і Web.


void crash(message: String) 🔗

Crashes двигун (або редактор, якщо називається в @tool скрипт. Дивитися також kill().

Примітка: Цей метод повинен only використовується для тестування обробника системи, не для інших цілей. За загальним повідомленням про помилку, використання (для переваг) @GDScript.assert(), @GlobalScope.push_error(), або alert().


int create_instance(arguments: PackedStringArray) 🔗

Створює новий екземпляр Godot, який працює самостійно. arguments використовуються в даній послідовності і відокремлюють простір.

Якщо процес успішно створений, цей метод повертає ідентифікатор нового процесу, який можна використовувати для моніторингу процесу (і потенційно припинити його за допомогою kill()). Якщо процес не може бути створений, цей метод повертає -1.

Дивись create_process(), якщо ви хочете запустити інший процес.

Примітка: Цей метод реалізується на Android, Linux, macOS та Windows.


int create_process(path: String, arguments: PackedStringArray, open_console: bool = false) 🔗

Створює новий процес, який виконується незалежно від Godot. Він не припиниться, коли закінчиться Godot. Шлях, указаний у path, має існувати та бути виконуваним файлом або пакетом .app macOS. Шлях вирішується на основі поточної платформи. arguments використовуються у вказаному порядку та розділені пробілом.

У Windows, якщо open_console має значення true і процес є консольною програмою, буде відкрито нове вікно терміналу.

Якщо процес успішно створено, цей метод повертає його ідентифікатор процесу, який ви можете використовувати для моніторингу процесу (і потенційно завершити його за допомогою kill()). В іншому випадку цей метод повертає -1.

Приклад: Запустіть інший екземпляр проекту:

var pid = OS.create_process(OS.get_executable_path(), [])

Перегляньте execute(), якщо ви бажаєте виконати зовнішню команду та отримати результати.

Примітка. Цей метод реалізовано на Android, Linux, macOS і Windows.

Примітка. У macOS програми ізольованого програмного середовища можуть запускати лише вбудовані допоміжні виконувані файли, указані під час експорту або системного пакета .app, системні пакети .app ігноруватимуть аргументи.


void delay_msec(msec: int) const 🔗

Виконується виконання поточної нитки за допомогою msec мілісек. msec повинна бути більшою, ніж або дорівнює 0. В іншому випадку, delay_msec() нічого не робить і друкує повідомлення про помилку.

Примітка: delay_msec() є blocking спосіб затримати виконання коду. Щоб затримати виконання коду в неблокованому режимі, ви можете використовувати SceneTree.create_timer(). Відбуваючи з SceneTreeTimer затримує виконання коду, розміщеного нижче await, не впливаючи на решту проекту (або редактора, для EditorPlugin і EditorScripts).

Примітка: Коли delay_msec() називається на головній нитки, він заморожить проект і запобіжить його від перевиведення і реєструвати вхід до моменту проходу. При використанні delay_msec() в складі EditorPlugin або EditorScript він замерзає редактора, але не заморожить проекту, якщо він наразі працює (звідки про проект є самостійним процесом дитини).


void delay_usec(usec: int) const 🔗

Виконується виконання струмової нитки за допомогою мікросека usec. usec повинен бути більшим, ніж або дорівнює 0. В іншому випадку, delay_msec() не робить нічого і друкує повідомлення про помилку.

Примітка: delay_msec() є blocking спосіб затримки виконання коду. Щоб затримати виконання коду в неблокованому режимі, ви можете використовувати SceneTree.create_timer(). Відбуваючи з SceneTreeTimer затримує виконання коду, розміщеного нижче await, не впливаючи на решту проекту (або редактора, для EditorPlugins і EditorScripts).

Примітка: Коли delay_msec() називається на головній нитки, він заморожить проект і запобіжить його від перевиведення і реєстрації вводу до завершення затримки. При використанні delay_msecc() в складі EditorPlugin або EditorScript він замерзає редактора, але не заморожить проекту, якщо він наразі працює (звідси про проект – самостійний процес дитини).


int execute(path: String, arguments: PackedStringArray, output: Array = [], read_stderr: bool = false, open_console: bool = false) 🔗

Виконує заданий процес блокуючим способом. Файл, указаний у path, має існувати та бути виконуваним. Буде використано роздільну здатність системного шляху. arguments використовуються в заданому порядку, розділені пробілами та взяті в лапки.

Якщо надається масив output, повний вихід оболонки процесу додається до output як один елемент String. Якщо read_stderr має значення true, вихід стандартного потоку помилок також додається до масиву.

У Windows, якщо open_console має значення true і процес є консольною програмою, відкривається нове вікно терміналу.

Цей метод повертає код виходу команди або -1, якщо процес не виконується.

Примітка: Основний потік буде заблоковано до завершення виконання команди. Використовуйте Thread, щоб створити окремий потік, який не блокуватиме основний потік, або використовуйте create_process(), щоб створити повністю незалежний процес.

Наприклад, щоб отримати список вмісту робочого каталогу:

var exit = []
var exit_code = OS.execute("l", ["-l", "/tmp"], exit)

Якщо ви хочете отримати доступ до вбудованої оболонки або виконати складену команду, можна викликати спеціальну оболонку для платформи. Наприклад:

var exit = []
OS.execute("CMD.exe", ["/C", "cd %TEMP% && dir"], exit)

Примітка. Цей метод реалізовано на Android, Linux, macOS і Windows.

Примітка: Щоб виконати команду вбудованого інтерпретатора команд Windows, укажіть cmd.exe у path, /c як перший аргумент, а потрібну команду як другий аргумент.

Примітка: Щоб виконати вбудовану команду PowerShell, укажіть powershell.exe у path, -Command як перший аргумент, а потрібну команду як другий аргумент.

Примітка: Щоб виконати вбудовану команду оболонки Unix, укажіть назву виконуваного файлу оболонки в шлях до параметрів, -c як перший аргумент, а потрібну команду як другий аргумент.

Примітка. У macOS програми ізольованого програмного середовища можуть запускати лише вбудовані допоміжні виконувані файли, указані під час експорту.

Примітка. На Android системні команди, такі як dumpsys, можна запускати лише на пристрої з root-доступом.


Dictionary execute_with_pipe(path: String, arguments: PackedStringArray, blocking: bool = true) 🔗

Створює новий процес, який виконується незалежно від Godot з перенаправленням вводу-виводу. Він не припиниться, коли закінчиться Godot. Шлях, указаний у path, має існувати та бути виконуваним файлом або пакетом .app macOS. Шлях вирішується на основі поточної платформи. arguments використовуються у вказаному порядку та розділені пробілом.

Якщо blocking має значення false, створені канали працюють у неблокуючому режимі, тобто операції читання та запису повертаються негайно. Використовуйте FileAccess.get_error(), щоб перевірити, чи остання операція читання/запису була успішною.

Якщо процес не може бути створений, цей метод повертає порожній Dictionary. В іншому випадку цей метод повертає Dictionary із такими ключами:

  • "stdio" - FileAccess для доступу до каналів stdin і stdout процесу (читання/запис).

  • "stderr" - FileAccess для доступу до каналу stderr процесу (тільки читання).

  • "pid" - ID процесу як int, який ви можете використовувати для моніторингу процесу (і потенційно завершити його за допомогою kill()).

Примітка. Цей метод реалізовано на Android, Linux, macOS і Windows.

Примітка: Щоб виконати команду вбудованого інтерпретатора команд Windows, укажіть cmd.exe у path, /c як перший аргумент, а потрібну команду як другий аргумент.

Примітка: Щоб виконати вбудовану команду PowerShell, укажіть powershell.exe у path, -Command як перший аргумент, а потрібну команду як другий аргумент.

Примітка: Щоб виконати вбудовану команду оболонки Unix, укажіть назву виконуваного файлу оболонки в шлях до параметрів, -c як перший аргумент, а потрібну команду як другий аргумент.

Примітка. У macOS програми ізольованого програмного середовища можуть запускати лише вбудовані допоміжні виконувані файли, указані під час експорту або системного пакета .app, системні пакети .app ігноруватимуть аргументи.


Key find_keycode_from_string(string: String) const 🔗

Знаходить код ключа для заданого рядка. Повернуті значення еквівалентні константам Key.

print(OS.find_keycode_from_string("C")) # Виводить 67 (KEY_C)
print(OS.find_keycode_from_string("Escape")) # Виводить 4194305 (KEY_ESCAPE)
print(OS.find_keycode_from_string("Shift+Tab")) # Виводить 37748738 (KEY_MASK_SHIFT | KEY_TAB)
print(OS.find_keycode_from_string("Unknown")) # Виводить 0 (KEY_NONE)

Дивіться також get_keycode_string().


String get_cache_dir() const 🔗

Повертає каталог даних глобального кешу відповідно до стандартів операційної системи.

На платформі Linux/BSD цей шлях можна змінити, встановивши змінну середовища XDG_CACHE_HOME перед запуском проекту. Для отримання додаткової інформації перегляньте шляхи до файлів у проектах Godot у документації. Дивіться також get_config_dir() і get_data_dir().

Не плутати з get_user_data_dir(), який повертає специфічний для проекту шлях до даних користувача.


PackedStringArray get_cmdline_args() 🔗

Повертає аргументи командного рядка, передані механізму.

Аргументи командного рядка можна записати в будь-якій формі, включаючи форми --key=value і --key=value, щоб їх можна було правильно проаналізувати, за умови, що спеціальні аргументи командного рядка не конфліктують з аргументами механізму.

Ви також можете включити змінні середовища за допомогою методу get_environment().

Ви можете встановити ProjectSettings.editor/run/main_run_args, щоб визначити аргументи командного рядка, які передає редактор під час запуску проекту.

Приклад: Розберіть аргументи командного рядка в словник за допомогою форми --ключ=значення для аргументів:

var arguments = {}
for argument in OS.get_cmdline_args():
    if argument.contains("="):
        var key_value = argument.split("=")
        arguments[key_value[0].trim_prefix("--")] = key_value[1]
    else:
        # Варіанти без аргументу будуть присутні в словнику,
        # зі значенням, встановленим у порожній рядок.
        аргументи[argument.trim_prefix("--")] = ""

Примітка: Не рекомендується передавати користувальницькі аргументи безпосередньо, оскільки система може їх відхилити або змінити. Замість цього передайте стандартне подвійне тире UNIX (--), а потім спеціальні аргументи, які механізм ігноруватиме за задумом. Їх можна прочитати через get_cmdline_user_args().


PackedStringArray get_cmdline_user_args() 🔗

Повертає аргументи користувача командного рядка, передані системі. Аргументи користувача ігноруються механізмом і резервуються для користувача. Вони передаються після аргументу подвійного тире --. ++ можна використовувати, коли -- перехоплюється іншою програмою (наприклад, startx).

# Godot було виконано за такою командою:
# godot --fullscreen -- --level=2 --hardcore

OS.get_cmdline_args() # Повертає ["--fullscreen", "--level=2", "--hardcore"]
OS.get_cmdline_user_args() # Повертає ["--level=2", "--hardcore"]

Щоб отримати всі передані аргументи, використовуйте get_cmdline_args().


String get_config_dir() const 🔗

Повертає каталог даних глобального кешу відповідно до стандартів операційної системи.

На платформі Linux/BSD цей шлях можна змінити, встановивши змінну середовища XDG_CACHE_HOME перед запуском проекту. Для отримання додаткової інформації перегляньте шляхи до файлів у проектах Godot у документації. Дивіться також get_config_dir() і get_data_dir().

Не плутати з get_user_data_dir(), який повертає специфічний для проекту шлях до даних користувача.


PackedStringArray get_connected_midi_inputs() 🔗

Повертає масив імен підключених MIDI-пристроїв, якщо вони існують. Повертає порожній масив, якщо системний MIDI-драйвер раніше не було ініціалізовано open_midi_inputs(). Дивіться також close_midi_inputs().

Примітка. Цей метод реалізовано в Linux, macOS, Windows і Web.

Примітка. На веб-платформі веб-MIDI має підтримуватися браузером. На даний момент наразі він підтримується всіма основними браузерами, крім Safari.

Примітка. На веб-платформі для використання MIDI-введення спочатку потрібно надати дозвіл браузера. Цей запит на дозвіл виконується під час виклику open_midi_inputs(). Браузер утримуватиметься від обробки MIDI-введення, доки користувач не прийме запит на дозвіл.


String get_data_dir() const 🔗

Повертає каталог даних користувачів global за стандартами операційної системи.

На платформі Linux/BSD цей шлях може передаватися, встановлюючи XDG_DATA_HOME змінного середовища перед початком проекту. Див :doc:` Файлові шляхи в проектах Godot <../tutorials/io/data_paths>` в документації для отримання додаткової інформації. get_cache_dir() і get_config_dir().

Не плутати з get_user_data_dir(), який повертає проект-специфічний шлях даних.


String get_distribution_name() const 🔗

Повертає назву дистрибуції для платформ Linux і BSD (наприклад, "Убунту", "Manjaro", "OpenBSD" і т.д.).

Повертає однакове значення, як get_name() для наявності Android ROMs, але спроби повернути користувацьку назву ROM для популярних Android похідних, таких як "LineageOS".

Повертає однакове значення, яке get_name() для інших платформ.

Примітка: Цей метод не підтримується на веб-платформі. Він повертає порожній рядок.


PackedByteArray get_entropy(size: int) 🔗

Генерація PackedByteArray криптографічно захищених випадкових байтів з урахуванням size.

Примітка: Генерування великої кількості байтів за допомогою цього методу може призвести до блокування та ентропії меншої якості на більшості платформ. Використання Crypto.generate_random_bytes() краще в більшості випадків.


String get_environment(variable: String) const 🔗

Повертає значення змінної даної середовища або порожній рядок, якщо variable не існує.

Примітка: Double-check кешування variable. Змінні імена навколишнього середовища на всіх платформах, крім Windows.

Примітка: На macOS, додатки не мають доступу до змінних середовища оболонки.


String get_executable_path() const 🔗

Повертає шлях до поточного двигуна, що виконуваний.

Примітка: На MacOS, якщо ви хочете запустити інший екземпляр Godot, завжди використовуйте create_instance() замість того, щоб спиратися на виконуваний шлях.


PackedStringArray get_granted_permissions() const 🔗

На пристроях Android: Повертає список наданих небезпечних дозволів.

На macOS: Повертає список наданих дозволів та вибраних користувачем папок, доступних програмі (лише для програм з ізольованим програмним середовищем). Використовуйте рідне діалогове вікно файлів, щоб запросити дозвіл на доступ до папки.

На iOS, visionOS: Повертає список наданих дозволів.


String get_keycode_string(code: Key) const 🔗

Повертає заданий код ключа як String.

print(OS.get_keycode_string(KEY_C)) # Виводить "C"
print(OS.get_keycode_string(KEY_ESCAPE)) # Виводить "Escape"
print(OS.get_keycode_string(KEY_MASK_SHIFT | KEY_TAB)) # Виводить "Shift+Tab"

Дивіться також find_keycode_from_string(), InputEventKey.keycode і InputEventKey.get_keycode_with_modifiers().


String get_locale() const 🔗

Повертаємо вашу увагу на те, як String форми language_Script_COUNTRY_VARIANT@extra. Кожна підрядка після language необов'язково і не може існувати.

  • language - 2 або 3-letter language code, в нижньому випадку.

  • Script - 4-letter script code, у назвному випадку.

  • COUNTRY - 2 або 3-леттер ` Код облікового запису <https://en.wikipedia.org/wiki/ISO_3166-1>`__, у верхньому корпусі.

  • VARIANT - варіант мови, регіон і сорт замовлення. Варіант може мати будь-яку кількість зашифрованих слів.

  • extra - напівколон відокремлений список додаткових ключових слів. Це може включати валюту, календар, порядок сортування та інформацію про систему.

Якщо ви хочете тільки код мови і не повністю вказаний локальний з ОС, ви можете використовувати get_locale_language().


String get_locale_language() const 🔗

Повернутися до хосту OS Locale 2 або 3-letter language code як рядок, який повинен відповідати на всі платформи. Це еквівалентно вилучення language part of get_locale() string.

Це може бути використаний для звуження повністю зазначених локальних рядків, щоб тільки "компонентний" код мови, коли вам не потрібна додаткова інформація про код країни або варіанти. Наприклад, для французького канадського користувача fr_CA Locale, це буде повернено fr.


int get_main_thread_id() const 🔗

Повертає ідентифікатор основної нитки. Див. get_thread_caller_id().

Примітка: Ідентифікатори не є детерміналістичною і можуть бути використані через перезавантаження додатків.


Dictionary get_memory_info() const 🔗

Повертаємо інформацію про поточну пам'ять з наступними записами:

  • "фізичний" - загальна кількість корисної фізичної пам'яті в байтах. Це значення може бути трохи менше, ніж фактична кількість пам'яті, так як вона не містить пам'яті, зарезервованих ядром і пристроями.

  • "Free" - кількість фізичної пам'яті, які можна відразу ж виділити без доступу до диска або інших витратних операцій, в байтах. Процес може бути в змозі виділити більше фізичної пам'яті, але ця дія вимагає переміщення неактивних сторінок на диск, які можуть бути дорогими.

  • "access" - кількість пам'яті, яка може бути виділена без розширення файлу swap (s), в байтах. Це значення включає як фізичну пам'ять, так і ковпачок.

  • "stack" - розмір поточного стека ниток в байтах.

Note: Кожне значення запису може бути -1, якщо це невідомо.


String get_model_name() const 🔗

Повертає назву моделі поточного пристрою.

Примітка. Цей метод реалізовано на Android, iOS, macOS і Windows. Повертає "GenericDevice" на непідтримуваних платформах.


String get_name() const 🔗

Повертає назву хост-платформи.

  • У Windows це "Windows".

  • У macOS це "macOS".

  • В операційних системах на основі Linux це "Linux".

  • В операційних системах на основі BSD це "FreeBSD", "NetBSD", "OpenBSD" або "BSD" як запасний варіант.

– На Android це "Android".

  • В iOS це "iOS".

  • В Інтернеті це "Веб".

Примітка: Спеціальні збірки двигуна можуть підтримувати додаткові платформи, такі як консолі, імовірно повертаючи інші назви.

match OS.get_name():
    "Window s":
        print("Ласкаво просимо до Windows!")
    "macOS":
        print("Ласкаво просимо до macOS!")
    «Linux», «FreeBSD», «NetBSD», «OpenBSD», «BSD»:
        print("Ласкаво просимо до Linux/BSD!")
    "Android":
        print("Ласкаво просимо до Android!")
    "iOS":
        print("Ласкаво просимо до iOS!")
    "Wevb":
        print("Ласкаво просимо в Інтернет!")

Примітка. На веб-платформах усе ще можна визначити ОС хост-платформи за допомогою тегів функцій. Перегляньте has_feature().


int get_process_exit_code(pid: int) const 🔗

Повертає вихідний код сповільненого процесу після завершення роботи (див. is_process_running()).

Повертаємо -1, якщо pid не є PID спавованого дитячого процесу, процес все ще працює, або метод не реалізований для поточного майданчика.

Примітка: Повертає -1, якщо pid є процесом додатків macOS.

Примітка: Цей метод реалізується на Android, Linux, macOS та Windows.


int get_process_id() const 🔗

Повертає номер, який використовується головною машиною для унікальної ідентифікації цієї програми.

Примітка: У веб-версії цей метод завжди повертає 0.


int get_processor_count() const 🔗

Повертає кількість логічних процесорних ядер, доступних на верстаті. На процесорах з HyperThreading ввімкнено цей номер буде більше, ніж число фізичних процесорних ядер.


String get_processor_name() const 🔗

Повертає повне ім'я моделі процесора на хост-машину (наприклад, "Intel(R) Core(TM) i7-6700K CPU @ 4.00GHz").

Примітка: Цей метод реалізується тільки на Windows, macOS, Linux та iOS. На Android і Web get_processor_name() повертає порожній рядок.


PackedStringArray get_restart_on_exit_arguments() const 🔗

Повертає список аргументів командного рядка, які будуть використані при автоматично перезавантаженні проекту за допомогою set_restart_on_exit(). Дивись також _restart_on_exit_set().


int get_static_memory_peak_usage() const 🔗

Повертає максимальну кількість використовуваних статичних пам'яток. Тільки роботи в будівельних конструкціях.


int get_static_memory_usage() const 🔗

Повертає кількість статичної пам'яті, що використовується програмою в байтах. Тільки роботи в будівельних конструкціях.


StdHandleType get_stderr_type() const 🔗

Повертає тип стандартного пристрою помилок.

Примітка: Цей метод реалізовано в Linux, macOS та Windows.


StdHandleType get_stdin_type() const 🔗

Повертає тип стандартного пристрою введення.

Примітка: Цей метод реалізовано в Linux, macOS та Windows.

Примітка: На експортованих збірках Windows запустіть виконуваний файл-обгортку консолі для доступу до стандартного вводу. Якщо вам потрібен один виконуваний файл з повною підтримкою консолі, використовуйте власну збірку, скомпільовану з прапорцем windows_subsystem=console.


StdHandleType get_stdout_type() const 🔗

Повертає тип стандартного пристрою виводу.

Примітка: Цей метод реалізовано в Linux, macOS та Windows.


String get_system_ca_certificates() 🔗

Повертає перелік органів з сертифікації, які довіряли операційній системі, як рядок заданих сертифікатів у форматі PEM.


String get_system_dir(dir: SystemDir, shared_storage: bool = true) const 🔗

Повертає шлях до часто використовуваних папок на різних платформах, як визначено dir. Перегляньте константи SystemDir для доступних місць.

Примітка. Цей метод реалізовано на Android, Linux, macOS і Windows.

Примітка. Спільне сховище реалізовано на Android і дозволяє розрізняти каталоги для певної програми та спільні, якщо shared_storage має значення true. Спільні каталоги мають додаткові обмеження на Android.


String get_system_font_path(font_name: String, weight: int = 400, stretch: int = 100, italic: bool = false) const 🔗

Повертає шлях до системного файлу шрифту за допомогою font_name та стилю. Повертає порожній рядок, якщо не знайдено шрифтів.

Для запиту шрифтів за замовчуванням можна використовувати наступні псевдоніми: "sans-serif", "serif", "monospace", "cursive", "fantasy".

Примітка: Повернутий шрифт може мати різний стиль, якщо стиль запиту не доступний.

Примітка: Цей метод реалізується на Android, iOS, Linux, macOS та Windows.


PackedStringArray get_system_font_path_for_text(font_name: String, text: String, locale: String = "", script: String = "", weight: int = 400, stretch: int = 100, italic: bool = false) const 🔗

Повертає масив системного замінника шрифтів, які схожі на шрифт font_name і стиль для вказаного тексту, локального та скрипту. Повертає порожній масив, якщо не знайдено відповідних шрифтів.

Для запиту шрифтів за замовчуванням можна використовувати наступні псевдоніми: "sans-serif", "serif", "monospace", "cursive", "fantasy".

Примітка: Залежно від ОС не гарантується, що будь-який з повернутих шрифтів буде придатний для надання вказаного тексту. Шрифти повинні бути завантажені і перевірені в порядку, які вони повертаються, і в першу чергу використовуються.

Примітка: Повернуті шрифти можуть мати різний стиль, якщо запитаний стиль не доступний або належить до різних сімей шрифтів.

Примітка: Цей метод реалізується на Android, iOS, Linux, macOS та Windows.


PackedStringArray get_system_fonts() const 🔗

Повертаємо список імен сімей шрифтів.

Примітка: Цей метод реалізується на Android, iOS, Linux, macOS та Windows.


String get_temp_dir() const 🔗

Повертає глобальний каталог тимчасових даних відповідно до стандартів операційної системи.


int get_thread_caller_id() const 🔗

Повертає ідентифікатор поточної нитки. Це може бути використаний в журналах, щоб полегшити відключення багатопрочитаних додатків.

Примітка: Ідентифікатори не є детерміналістичною і можуть бути використані через перезавантаження додатків.


String get_unique_id() const 🔗

Повертає рядок, який унікальний до пристрою.

Примітка: Цей рядок може змінитися без повідомлення, якщо користувач перевстановлює свою операційну систему, модернізує його або змінює їх апаратне забезпечення. Це означає, що він, як правило, не використовується для шифрування персидентних даних, оскільки дані, що зберігаються перед несподіваною зміною ID, стануть недоступними. Повернути рядок можна також за допомогою зовнішніх програм, тому не покладайте на рядок, що повертається цим методом безпеки.

Примітка: Веб-сайт, повертає порожній рядок і створює помилку, оскільки цей метод не може бути реалізований з причин безпеки.


String get_user_data_dir() const 🔗

Повертає абсолютний шлях каталогу, де написано дані користувача (user:// в Godot). Шлях залежить від назви проекту та ProjectSettings.application/config/use_custom_user_dir.

  • На Windows, це %AppData%\Godot\app_userdata\[project_name] або %AppData%\[custom_name] if use_custom_user_dir. %AppData% розширюється до %UserProfile%\AppData\Roaming.

  • На macOS це `` ~/Library/Application Support/Godot/app_userdata/[project_name]``, або `` ~/Library/Application support/[custom_name]`` якщо use_custom_user_dir.

  • На Linux і BSD це `` ~/.local/share/godot/app_userdata/[project_name]``, або `` ~/.local/share/[custom_name]`` якщо use_custom_user_dir.

  • На Android та iOS це каталог із пісочниці у внутрішньому або зовнішньому зберіганні, залежно від конфігурації користувача.

  • На Веб-сайті це віртуальний каталог, керований браузером.

Якщо назва проекту є порожнім, [project_name] повертається до [unnamed project].

Не плутати з get_data_dir(), що повертає global (неспецифічний) каталог користувачів.


String get_version() const 🔗

Повертає точну виробничу та збірну версію операційної системи. Вона відрізняється від брендованої версії, що використовується в маркетингу. Це допомагає розрізняти різні випуски операційних систем, включаючи проміжні версії, а також інсайдерські та користувацькі збірки.

  • Для Windows повертаються основна та проміжна версії, а також номер збірки. Наприклад, повернутий рядок може виглядати як 10.0.9926 для збірки Windows 10.

  • Для ковзних дистрибутивів, таких як Arch Linux, повертається порожній рядок.

  • Для macOS та iOS повертаються основна та проміжна версії, а також номер патча.

  • Для Android повертається версія SDK та номер додаткової збірки. Якщо це користувацький ПЗУ, виконується спроба повернути його версію.

Примітка: Цей метод не підтримується на веб-платформі. Він повертає порожній рядок.


String get_version_alias() const 🔗

Повертає брендовану версію, що використовується в маркетингу, а потім номер збірки (у Windows), номер версії (у macOS) або версію SDK та номер додаткової збірки (у Android). Приклади включають 11 (build 22000), Sequoia (15.0.0) та 15 (SDK 35 build abc528-11988f).

Це значення потім можна додати до методу get_name(), щоб отримати повну, зрозумілу для людини комбінацію назви операційної системи та версії. Оновлення функцій Windows, такі як 24H2, не містяться в результуючому рядку, але Windows Server розпізнається як такий (наприклад, 2025 (build 26100) для Windows Server 2025).

Примітка: Цей метод підтримується лише у Windows, macOS та Android. В інших операційних системах він повертає те саме значення, що й get_version().


PackedStringArray get_video_adapter_driver_info() const 🔗

Повертає ім'я драйвера відеоадаптера та версію для поточної активної графічної карти користувача у вигляді PackedStringArray. Див. також RenderingServer.get_video_adapter_api_version().

Перший елемент містить ім'я драйвера, наприклад nvidia, amdgpu тощо.

Другий елемент містить версію драйвера. Наприклад, для драйвера nvidia на платформі Linux/BSD версія має формат 510.85.02. Для Windows формат драйвера має вигляд 31.0.15.1659.

Примітка: Цей метод підтримується тільки в Linux/BSD і Windows, якщо не працює в безголовому режимі. На інших платформах він повертає порожній масив.

Примітка: Цей метод буде працювати повільно при першому виклику в сеансі; це може зайняти кілька секунд, залежно від операційної системи та апаратного забезпечення. Він блокується, якщо викликається в основному потоці, тому рекомендується викликати його в окремому потоці за допомогою Thread. Це дозволяє двигуну продовжувати працювати під час отримання інформації. Однак get_video_adapter_driver_info() не є потокобезпечним, тому його не слід викликати з декількох потоків одночасно.

var thread = Thread.new()

func _ready():
    thread.start(
        func():
            var driver_info = OS.get_video_adapter_driver_info()
            if not driver_info.is_empty():
                print("Driver: %s %s" % [driver_info[0], driver_info[1]])
            else:
                print("Driver: (unknown)")
    )

func _exit_tree():
    thread.wait_to_finish()

bool has_environment(variable: String) const 🔗

Повертає true, якщо змінна середовища з назвою variable існує.

Примітка: Double-check кешування variable. Змінні імена навколишнього середовища на всіх платформах, крім Windows.


bool has_feature(tag_name: String) const 🔗

Повертає true, якщо функція для даної функції тег підтримується в даний час запущений екземпляр, в залежності від платформи, побудови та ін. Чи можна використовувати, щоб перевірити, чи працюєте ви дебюг, на певній платформі або арку тощо. Посилання на Ознаки Документація для отримання більш детальної інформації.

Примітка: Теґи є випадковими.

Примітка: На веб-платформі один з наступних додаткових тегів визначається для позначення платформи: web_android, web_ios, web_linuxbsd, web_macos, або web_windows.


bool is_debug_build() const 🔗

Повернення true, якщо Godot бінарний, який використовується для запуску проекту debug експорт шаблон, або коли працює в редакторі.

Повертаємо false, якщо використовується Godot для запуску проекту * реліз* експорт шаблон.

Примітка: Щоб перевірити, чи використовується Godot для запуску проекту - шаблон експорту (debug або реліз), скористайтеся OS.has_feature("template") замість.


bool is_keycode_unicode(code: int) const 🔗

Повертає true, якщо введений код ключа відповідає символу Unicode. Список кодів див. у константах Key.

print(OS.is_keycode_unicode(KEY_G)) # Виводить true
print(OS.is_keycode_unicode(KEY_KP_4)) # Виводить true
print(OS.is_keycode_unicode(KEY_TAB)) # Виводить false
print(OS.is_keycode_unicode(KEY_ESCAPE)) # Виводить false

bool is_process_running(pid: int) const 🔗

Повертає true, якщо ідентифікатор процесу дитини (pid) все ще працює або false, якщо він припиняється. pid повинен бути дійсним ідентифікатором, який генерується з create_process().

Примітка: Цей метод реалізується на Android, iOS, Linux, macOS та Windows.


bool is_restart_on_exit_set() const 🔗

Повертаємо true, якщо проект буде автоматично перезапустити, коли він виходить з будь-якої причини, false в іншому випадку. Дивись також _restart_on_exit() і get_restart_on_exit_arguments().


bool is_sandboxed() const 🔗

Повертає true, якщо додаток працює в пісочниці.

Примітка: Цей метод реалізується тільки на macOS і Linux.


bool is_stdout_verbose() const 🔗

Повертає true, якщо двигун був виконаний з -verbose або -v аргументом командного рядка, або якщо ProjectSettings.debug/settings/stdout/verbose_stdout true. Дивіться також @GlobalScope.print_verbose().


bool is_userfs_persistent() const 🔗

Повертає true, якщо user:// файлова система є персистентною, тобто її стан є одночасно після того, як гравець пішов і починає гру знову. Відступ до веб-платформи, де це може бути недоступним.


Error kill(pid: int) 🔗

Вбити (промінити) процес, визначений заданим ідентифікатором процесу (pid), такі як ID, повернуто execute() в режимі неблокування. Дивись також crash().

Примітка: Цей метод також може використовуватися для знищення процесів, які не спалені двигуном.

Примітка: Цей метод реалізується на Android, iOS, Linux, macOS та Windows.


Error move_to_trash(path: String) const 🔗

Переміщує файл або каталог за заданим path до кошика системи. Дивіться також DirAccess.remove().

Метод приймає лише глобальні шляхи, тому вам може знадобитися використовувати ProjectSettings.globalize_path(). Не використовуйте його для файлів у res://, оскільки він не працюватиме в експортованих проектах.

Повертає @GlobalScope.FAILED, якщо файл чи каталог не знайдено, або система не підтримує цей метод.

var file_to_remove = "user://slot1.save"
OS.move_to_trash(ProjectSettings.globalize_path(file_to_remove))

Примітка. Цей метод реалізовано на Android, Linux, macOS і Windows.

Примітка: якщо користувач вимкнув кошик у своїй системі, замість цього файл буде остаточно видалено.


void open_midi_inputs() 🔗

Ініціалізує синглтон для системного драйвера MIDI, дозволяючи Godot отримати InputEventMIDI. Дивіться також get_connected_midi_inputs() і close_midi_inputs().

Примітка. Цей метод реалізовано в Linux, macOS, Windows і Web.

Примітка. На веб-платформі веб-MIDI має підтримуватися браузером. На даний момент наразі він підтримується всіма основними браузерами, крім Safari.

Примітка. На веб-платформі для використання MIDI-введення спочатку потрібно надати дозвіл браузера. Цей запит на дозвіл виконується під час виклику open_midi_inputs(). Браузер утримуватиметься від обробки MIDI-введення, доки користувач не прийме запит на дозвіл.


Error open_with_program(program_path: String, paths: PackedStringArray) 🔗

Відкриває один або декілька файлів/каталогів за допомогою вказаної програми. program_path вказує шлях до програми, яка використовується для відкриття файлів, а paths містить масив шляхів до файлів/каталогів для відкриття.

Примітка: Цей метод здебільшого актуальний лише для macOS, де відкриття файлів за допомогою create_process() може завершитися невдачею. На інших платформах це повертається до використання create_process().

Примітка: У macOS program_path в ідеалі має бути шляхом до пакета .app.


PackedByteArray read_buffer_from_stdin(buffer_size: int = 1024) 🔗

Зчитує введені користувачем дані як необроблені дані зі стандартного вводу. Ця операція може бути блокуючою, що призводить до зависання вікна, якщо read_buffer_from_stdin() викликається в головному потоці.

  • Якщо стандартний ввід є консольним, цей метод блокуватиметься, доки програма не отримає розрив рядка у стандартному вводі (зазвичай користувачем натискає Enter).

  • Якщо стандартний ввід є каналом, цей метод блокуватиметься, доки не буде прочитано певну кількість даних або канал не буде закрито.

  • Якщо стандартний ввід є файлом, цей метод зчитуватиме певну кількість даних (або менше, якщо досягнуто кінця файлу) та негайно поверне результат.

Примітка: Цей метод реалізовано в Linux, macOS та Windows.

Примітка: У експортованих збірках Windows запустіть виконуваний файл обгортки консолі для доступу до терміналу. Якщо стандартний ввід є консольним, виклик цього методу без обгортки консолі призведе до остаточного зависання. Якщо стандартний ввід є каналом або файлом, його можна використовувати без обгортки консолі. Якщо вам потрібен один виконуваний файл з повною підтримкою консолі, використовуйте власну збірку, скомпільовану з прапорцем windows_subsystem=console.


String read_string_from_stdin(buffer_size: int = 1024) 🔗

Зчитує введені користувачем дані як рядок у кодуванні UTF-8 зі стандартного вводу. Ця операція може бути блокуючою, що спричиняє зависання вікна, якщо read_string_from_stdin() викликається в основному потоці.

  • Якщо стандартним введенням є консоль, цей метод блокуватиметься, доки програма не отримає розрив рядка у стандартному введенні (зазвичай користувач натискає Enter).

  • Якщо стандартним введенням є канал, цей метод блокуватиметься, доки не буде прочитано певний обсяг даних або канал не буде закрито.

  • Якщо стандартним введенням є файл, цей метод прочитає певний обсяг даних (або менше, якщо досягнуто кінця файлу) і негайно повернеться.

Примітка: Цей метод автоматично замінює розриви рядків \r\n на \n і видаляє їх із кінця рядка. Використовуйте read_buffer_from_stdin() для читання необроблених даних.

Примітка. Цей метод реалізовано в Linux, macOS і Windows.

Примітка. У експортованих збірках Windows запустіть виконуваний файл консольної оболонки, щоб отримати доступ до терміналу. Якщо стандартним введенням є консоль, виклик цього методу без обгортки консолі призведе до остаточного зависання. Якщо стандартним введенням є канал або файл, його можна використовувати без консольної обгортки. Якщо вам потрібен єдиний виконуваний файл із повною підтримкою консолі, використовуйте спеціальну збірку, скомпільовану з прапорцем windows_subsystem=console.


void remove_logger(logger: Logger) 🔗

Видалити користувацький реєстратор, доданий користувачем add_logger().


bool request_permission(name: String) 🔗

Запитує дозвіл від ОС для заданого параметра name. Повертає true, якщо дозвіл вже надано. Див. також MainLoop.on_request_permissions_result.

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 дозвіл необхідно перевіряти під час експорту.

Примітка: Цей метод реалізовано на платформах Android, macOS та visionOS.


bool request_permissions() 🔗

Запитує небезпечні дозволи в ОС. Повертає true, якщо дозволи вже надано. Дивіться також MainLoop.on_request_permissions_result.

Примітка. Дозволи потрібно перевіряти під час експорту.

Примітка. Цей метод реалізований лише на Android. Звичайні дозволи автоматично надаються під час встановлення програм Android.


void revoke_granted_permissions() 🔗

На macOS (sandboxed only), ця функція очищає список вибраних папок, доступних для програми.


void set_environment(variable: String, value: String) const 🔗

Налаштовує значення змінної середовища variable до value. Природна змінна буде встановлена для процесу Godot і будь-якого процесу, виконаного з execute() після запуску set_environment(). Природна змінна буде * не*, щоб процеси, які працюють після завершення процесу Godot.

Примітка: Внутрішня змінна імена є випадковим на всіх платформах, крім Windows. Ім'я variable не може бути порожнім або включати символ =. На Windows існує 32767 символи ліміту для комбінованої довжини variable, value, а = і числових символів, які будуть зареєстровані в блокі середовища.


void set_restart_on_exit(restart: bool, arguments: PackedStringArray = PackedStringArray()) 🔗

Якщо restart є true, перезапускає проект автоматично, коли він виходить з SceneTree.quit() або Node. НЕФІКАЦІЯ_WM_CLOSE_REQUEST. Командно-лінійні arguments можуть бути подані. Щоб перезапустити проект з тими самими аргументами командного рядка, як спочатку використовується для запуску проекту, пройти get_cmdline_args() як значення для arguments.

Цей метод можна використовувати для внесення змін, які вимагають перезавантаження. Дивись також _restart_on_exit_set() і get_restart_on_exit_arguments().

Примітка: Цей метод діє тільки на настільних платформах, і тільки тоді, коли проект не запущений з редактора. На мобільних і веб-платформах немає ефекту, або коли проект розпочато з редактора.

Примітка: Якщо процес проекту збої або є навкіллений користувачем (пересилання SIGKILL замість звичайного SIGTERM), проект не буде перезапустити автоматично.


Error set_thread_name(name: String) 🔗

Призначає задану назву на поточну нитку. Повертаємо @GlobalScope.ERR_UNAVAILABLE, якщо на поточній платформі недоступно.


void set_use_file_access_save_and_swap(enabled: bool) 🔗

Якщо enabled true, при відкритті файлу для письма використовується тимчасовий файл. При закритті автоматично наноситься на цільовий файл.

Це може бути корисним, коли файли можуть бути відкриті іншими додатками, такими як антивіруси, текстові редактори або навіть сам редактор Godot.


Error shell_open(uri: String) 🔗

Запитує ОС відкрити ресурс, визначений uri, за допомогою найбільш підходящої програми. Наприклад:

  • OS.shell_open("C:\\Users\\name\\Downloads") у Windows відкриває файловий провідник у папці Downloads користувача.

  • OS.shell_open("C:/Users/name/Downloads") також працює в Windows і відкриває файловий провідник у папці "Завантаження" користувача.

  • OS.shell_open("https://godotengine.org") відкриває веб-переглядач за умовчанням на офіційному веб-сайті Godot.

  • OS.shell_open("mailto:example@example.com") відкриває поштовий клієнт за умовчанням із полем "Кому" встановлено значення example@example.com. Перегляньте RFC 2368 – [code]mailto[/code] URL-схема, щоб переглянути список полів, які можна додати.

Використовуйте ProjectSettings.globalize_path(), щоб перетворити шлях до проекту res:// або user:// у системний шлях для використання з цим методом.

Примітка. Використовуйте String.uri_encode(), щоб кодувати символи в URL-адресах безпечним для URL-адреси переносним способом. Це особливо потрібно для розривів рядків. Інакше shell_open() може не працювати належним чином у проекті, експортованому на веб-платформу.

Примітка. Цей метод реалізовано на Android, iOS, Web, Linux, macOS і Windows.


Error shell_show_in_file_manager(file_or_dir_path: String, open_folder: bool = true) 🔗

Запити OS для відкриття файлового менеджера, навігація на даній file_or_dir_path і виберіть цільовий файл або папку.

Якщо open_folder є true і file_or_dir_path є дією довідковою доріжкою, ОС відкриє файловий менеджер і навігувати на цільову папку без вибору нічого.

Використовуйте ProjectSettings.globalize_path() для перетворення res:// або user:// шлях проекту в шлях системи, щоб використовувати цей метод.

Примітка: Цей метод реалізований тільки на Windows і macOS. На інших платформах вона повернеться до shell_open() з довідковою доріжкою file_or_dir_path, зафіксовано ``файлом ``.


void unset_environment(variable: String) const 🔗

Видаліть даній зміні середовища з поточного середовища, якщо вона існує. Ім'я variable не може бути порожнім або включати символ =. Природна змінна буде видалена для процесу Godot і будь-якого процесу, виконаного з execute() після запуску unset_environment(). Видалення змінної середовища буде * не*, щоб процеси, які працюють після завершення процесу Godot.

Примітка: Внутрішня змінна імена є чутливими на всіх платформах, крім Windows.