EditorExportPlugin

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

Скрипт, який виконується при експорті проекту.

Опис

РедакторExportPlugin автоматично викликається, коли користувач експортує проект. Найпоширеніше використання файлів полягає в тому, щоб визначити, які файли включені в експортований проект. Для кожного плагіна method_export_begin називається на початку процесу експорту, а потім _export_file() називається для кожного експортованого файлу.

Для використання EditorExportPlugin, зареєструйте його за допомогою редактораPlugin.add_export_plugin().

Посібники

Методи

bool

_begin_customize_resources(platform: EditorExportPlatform, features: PackedStringArray) virtual const

bool

_begin_customize_scenes(platform: EditorExportPlatform, features: PackedStringArray) virtual const

Resource

_customize_resource(resource: Resource, path: String) virtual required

Node

_customize_scene(scene: Node, path: String) virtual required

void

_end_customize_resources() virtual

void

_end_customize_scenes() virtual

void

_export_begin(features: PackedStringArray, is_debug: bool, path: String, flags: int) virtual

void

_export_end() virtual

void

_export_file(path: String, type: String, features: PackedStringArray) virtual

PackedStringArray

_get_android_dependencies(platform: EditorExportPlatform, debug: bool) virtual const

PackedStringArray

_get_android_dependencies_maven_repos(platform: EditorExportPlatform, debug: bool) virtual const

PackedStringArray

_get_android_libraries(platform: EditorExportPlatform, debug: bool) virtual const

String

_get_android_manifest_activity_element_contents(platform: EditorExportPlatform, debug: bool) virtual const

String

_get_android_manifest_application_element_contents(platform: EditorExportPlatform, debug: bool) virtual const

String

_get_android_manifest_element_contents(platform: EditorExportPlatform, debug: bool) virtual const

int

_get_customization_configuration_hash() virtual required const

PackedStringArray

_get_export_features(platform: EditorExportPlatform, debug: bool) virtual const

bool

_get_export_option_visibility(platform: EditorExportPlatform, option: String) virtual const

String

_get_export_option_warning(platform: EditorExportPlatform, option: String) virtual const

Array[Dictionary]

_get_export_options(platform: EditorExportPlatform) virtual const

Dictionary

_get_export_options_overrides(platform: EditorExportPlatform) virtual const

String

_get_name() virtual required const

bool

_should_update_export_options(platform: EditorExportPlatform) virtual const

bool

_supports_platform(platform: EditorExportPlatform) virtual const

PackedByteArray

_update_android_prebuilt_manifest(platform: EditorExportPlatform, manifest_data: PackedByteArray) virtual const

void

add_apple_embedded_platform_bundle_file(path: String)

void

add_apple_embedded_platform_cpp_code(code: String)

void

add_apple_embedded_platform_embedded_framework(path: String)

void

add_apple_embedded_platform_framework(path: String)

void

add_apple_embedded_platform_linker_flags(flags: String)

void

add_apple_embedded_platform_plist_content(plist_content: String)

void

add_apple_embedded_platform_project_static_lib(path: String)

void

add_file(path: String, file: PackedByteArray, remap: bool)

void

add_ios_bundle_file(path: String)

void

add_ios_cpp_code(code: String)

void

add_ios_embedded_framework(path: String)

void

add_ios_framework(path: String)

void

add_ios_linker_flags(flags: String)

void

add_ios_plist_content(plist_content: String)

void

add_ios_project_static_lib(path: String)

void

add_macos_plugin_file(path: String)

void

add_shared_object(path: String, tags: PackedStringArray, target: String)

EditorExportPlatform

get_export_platform() const

EditorExportPreset

get_export_preset() const

Variant

get_option(name: StringName) const

void

skip()


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

bool _begin_customize_resources(platform: EditorExportPlatform, features: PackedStringArray) virtual const 🔗

Повернутися true, якщо цей плагін налаштовує ресурси на основих платформи та використовуваних функцій.

При включенні _customization_configuration_hash() і _customize_resource() будуть викликані і повинні бути реалізовані.


bool _begin_customize_scenes(platform: EditorExportPlatform, features: PackedStringArray) virtual const 🔗

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

Якщо ввімкнено, _get_customization_configuration_hash() і _customize_scene() будуть викликані та мають бути реалізовані.

Примітка: _customize_scene() буде викликано лише для сцен, які були змінені після останнього експорту.


Resource _customize_resource(resource: Resource, path: String) virtual required 🔗

Налаштувати ресурс. Якщо в нього внесено зміни, поверніть той самий або новий ресурс. В іншому випадку поверніть null. Коли повертається новий ресурс, resource буде замінено копією нового ресурсу.

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

Реалізація цього методу потрібна, якщо _begin_customize_resources() повертає true.

Примітка: Під час налаштування будь-якого з наведених нижче типів і повернення іншого ресурсу не слід пропускати інший ресурс за допомогою skip() у _export_file():


Node _customize_scene(scene: Node, path: String) virtual required 🔗

Налаштування сцени. Якщо внесені зміни до неї, повертайте те ж саме або нову сцену. В іншому випадку null. Якщо повернулася нова сцена, то вам необхідно розпоряджатися старістю.

Впровадження цього методу необхідно, якщо _begin_customize_scenes() повертає true.


void _end_customize_resources() virtual 🔗

Це називається коли процес налаштування ресурсів закінчується.


void _end_customize_scenes() virtual 🔗

Це називається коли процес налаштування для сцени закінчується.


void _export_begin(features: PackedStringArray, is_debug: bool, path: String, flags: int) virtual 🔗

Віртуальний спосіб перевизначення користувачем. Якщо експорт починається і надасть всю інформацію про експорт. features - список особливостей для експорту, is_debug true для збирання сміття, path - це цільовий шлях для експортованого проекту. прапорці використовується тільки при запуску рунного профілю, наприклад, при використанні рідного запуску на Android.


void _export_end() virtual 🔗

Віртуальний спосіб перевизначення користувачем. Зателефоновано при завершенні експорту.


void _export_file(path: String, type: String, features: PackedStringArray) virtual 🔗

Віртуальний спосіб перевизначення користувачем. Зателефоновано для кожного експортованого файлу до _customize_resource() та _customize_scene(). Для визначення файлу можна використовувати аргументи. path - шлях файлу, type - Resource, представлений файлом (наприклад, PackedScene), а features - список особливостей для експорту.

Дзвінки skip() всередині цього зворотного зв'язку зроблять файл не включений в експорт.


PackedStringArray _get_android_dependencies(platform: EditorExportPlatform, debug: bool) virtual const 🔗

Віртуальний метод, який перевизначається користувачем. Викликається для отримання набору залежностей Android, наданих цим плагіном. Кожна повернута залежність Android повинна мати формат віддаленої двійкової залежності Android: org.godot.example:my-plugin:0.0.0

Для отримання додаткової інформації див. Документація Android про залежності.

Примітка: Підтримується лише на Android і вимагає увімкнення EditorExportPlatformAndroid.gradle_build/use_gradle_build.


PackedStringArray _get_android_dependencies_maven_repos(platform: EditorExportPlatform, debug: bool) virtual const 🔗

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

Для отримання додаткової інформації див. Документацію Gradle щодо керування залежностями.

Примітка: Репозиторій Maven від Google та Maven Central вже включено за замовчуванням.

Примітка: Підтримується лише на Android і вимагає увімкнення EditorExportPlatformAndroid.gradle_build/use_gradle_build.


PackedStringArray _get_android_libraries(platform: EditorExportPlatform, debug: bool) virtual const 🔗

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

Примітка: Відносні шляхи мають бути відносно каталогу Godot res://addons/. Наприклад, AAR-файл, розташований у res://addons/hello_world_plugin/HelloWorld.release.aar, можна повернути як абсолютний шлях за допомогою res://addons/hello_world_plugin/HelloWorld.release.aar або відносний шлях за допомогою hello_world_plugin/HelloWorld.release.aar.

Примітка: Підтримується лише на Android і вимагає увімкнення EditorExportPlatformAndroid.gradle_build/use_gradle_build.


String _get_android_manifest_activity_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗

Віртуальний метод, який перевизначається користувачем. Використовується під час експорту для оновлення вмісту елемента activity у згенерованому маніфесті Android.

Примітка: Підтримується лише на Android і вимагає увімкнення EditorExportPlatformAndroid.gradle_build/use_gradle_build.


String _get_android_manifest_application_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗

Віртуальний спосіб перевизначення користувачем. Це використовується при експорті часу, щоб оновити вміст application елемент у створеному Android проявляється.

Примітка: Тільки підтримується на Android і вимагає EditorExportPlatformAndroid.gradle_build/use_gradle_build бути включений.


String _get_android_manifest_element_contents(platform: EditorExportPlatform, debug: bool) virtual const 🔗

Віртуальний спосіб перевизначення користувачем. Це використовується при експорті часу, щоб оновити вміст manifest елемент у створеному Android проявляється.

Примітка: Тільки підтримується на Android і вимагає EditorExportPlatformAndroid.gradle_build/use_gradle_build, щоб бути включеним.


int _get_customization_configuration_hash() virtual required const 🔗

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

Впровадження цього методу необхідно, якщо _begin_customize_resources() повертає true.


PackedStringArray _get_export_features(platform: EditorExportPlatform, debug: bool) virtual const 🔗

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


bool _get_export_option_visibility(platform: EditorExportPlatform, option: String) virtual const 🔗

Перевіряє option та повертає видимість для вказаної platform. Реалізація за замовчуванням повертає true для всіх опцій.


String _get_export_option_warning(platform: EditorExportPlatform, option: String) virtual const 🔗

Перевірити вимоги до вказаного параметра і повернути рядок попередження про неоптимізацію, якщо вони не відповідають.

Примітка: Використовуйте get_option() для перевірки значення параметрів експорту.


Array[Dictionary] _get_export_options(platform: EditorExportPlatform) virtual const 🔗

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

Кожен елемент у поверненні значення є Dictionary з наступними ключами:

option: Словник з структурою, задокументовано method.get_property_list, але всі ключі необов'язково.

default_value: Значення за замовчуванням для цього параметра.

  • update_visibility: Додаткове значення болеана. Якщо встановити до true, то при зміні параметра буде випромінюватись Object.property_list_changed.


Dictionary _get_export_options_overrides(platform: EditorExportPlatform) virtual const 🔗

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

class MyExportPlugin extends EditorExportPlugin:
    func _get_name() -> String:
        повернути "MyExportPlugin"

    func _supports_platform(платформа) -> bool:
        if platform EditorExportPlatformPC:
            # Працювати на всіх настільних платформах, включаючи Windows, MacOS і Linux.
            return true
        return false

    func _get_export_options_overrides(platform) -> Словник:
        # Перевизначте, щоб «Вставити PCK» завжди було ввімкнено.
        return {
            "binary_format/embed_pck": true,
        }

String _get_name() virtual required const 🔗

Повернення ідентифікатора назви цього плагіна (для ідентифікації майбутнього експортера). Додатки сортуються за назвою до експорту.

Впровадження цього методу необхідно.


bool _should_update_export_options(platform: EditorExportPlatform) virtual const 🔗

Повертає true, якщо результат _get_export_options() змінився, і параметри експорту пресета, що відповідає platform, потрібно оновити.


bool _supports_platform(platform: EditorExportPlatform) virtual const 🔗

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


PackedByteArray _update_android_prebuilt_manifest(platform: EditorExportPlatform, manifest_data: PackedByteArray) virtual const 🔗

Надає доступ до попередньо створеного маніфесту Android та дозволяє плагіну змінювати його за потреби.

Розробники цього віртуального методу повинні взяти двійкові дані маніфесту з manifest_data, скопіювати їх, змінити, а потім повернути з модифікаціями.

Якщо модифікації не потрібні, тоді має бути повернуто порожній PackedByteArray.


void add_apple_embedded_platform_bundle_file(path: String) 🔗

Додає файл пакета вбудованої платформи Apple з заданого path до експортованого проєкту.


void add_apple_embedded_platform_cpp_code(code: String) 🔗

Додає код C++ до експорту вбудованої платформи Apple. Остаточний код створюється з коду, доданого кожним активним плагіном експорту.


void add_apple_embedded_platform_embedded_framework(path: String) 🔗

Додає динамічну бібліотеку (*.dylib, *.framework) до фази зв'язування в проекті Xcode вбудованої платформи Apple та вбудовує її в результуючий бінарний файл.

Примітка: Для статичних бібліотек (*.a) це працює так само, як і add_apple_embedded_platform_framework().

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


void add_apple_embedded_platform_framework(path: String) 🔗

Додає статичну бібліотеку (*.a) або динамічну бібліотеку (*.dylib, *.framework) до фази зв'язування з проектом Xcode вбудованої платформи Apple.


void add_apple_embedded_platform_linker_flags(flags: String) 🔗

Додає прапорці компонувальника для експорту вбудованої платформи Apple.


void add_apple_embedded_platform_plist_content(plist_content: String) 🔗

Додає додаткові поля до файлу Info.plist проекту вбудованої платформи Apple.


void add_apple_embedded_platform_project_static_lib(path: String) 🔗

Додає статичну бібліотеку з заданого path до проєкту вбудованої платформи Apple.


void add_file(path: String, file: PackedByteArray, remap: bool) 🔗

Додати файл, який буде експортований. path це віртуальний шлях, який можна використовувати для завантаження файлів, file є бінарними даними файлу.

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

file не буде імпортований, тому розглянути використання method_customize_resource для перепланування імпортних ресурсів.


void add_ios_bundle_file(path: String) 🔗

Застаріло: Use add_apple_embedded_platform_bundle_file() instead.

Додає файл пакету iOS з вказаного пам'ячого шляху до експортованого проекту.


void add_ios_cpp_code(code: String) 🔗

Застаріло: Use add_apple_embedded_platform_cpp_code() instead.

Додає код C++ до експорту iOS. Остаточний код створюється з коду, доданого кожним активним плагіном експорту.


void add_ios_embedded_framework(path: String) 🔗

Застаріло: Use add_apple_embedded_platform_embedded_framework() instead.

Додає динамічну бібліотеку (*.dylib, *.framework) до Linking Phase у проекті Xcode для iOS та вбудовує її в результуючий бінарний файл.

Примітка: Для статичних бібліотек (*.a) це працює так само, як і add_apple_embedded_platform_framework().

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


void add_ios_framework(path: String) 🔗

Застаріло: Use add_apple_embedded_platform_framework() instead.

Додає статичну бібліотеку (*.a) або динамічну бібліотеку (*.dylib, *.framework) до фази зв'язування з проектом iOS Xcode.


void add_ios_linker_flags(flags: String) 🔗

Застаріло: Use add_apple_embedded_platform_linker_flags() instead.

Додає прапори для експорту iOS.


void add_ios_plist_content(plist_content: String) 🔗

Застаріло: Use add_apple_embedded_platform_plist_content() instead.

Додає додаткові поля до файлу Info.plist проекту iOS.


void add_ios_project_static_lib(path: String) 🔗

Застаріло: Use add_apple_embedded_platform_project_static_lib() instead.

Додає статичну бібліотеку з заданого path до проєкту iOS.


void add_macos_plugin_file(path: String) 🔗

Додає файл або каталог, що відповідає path до PlugIns каталог додатків macOS.

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


void add_shared_object(path: String, tags: PackedStringArray, target: String) 🔗

Додає спільний об'єкт або каталог, що містить лише спільні об'єкти із заданими тегами tags та місцем призначення path.

Примітка: У разі експорту до macOS ці спільні об'єкти буде додано до каталогу Frameworks пакунка програми.

У випадку директорії з кодовим позначенням виникне помилка, якщо ви помістите в директорію об'єкт, який не є кодовим.


EditorExportPlatform get_export_platform() const 🔗

Повертає поточну використану платформу експорту.


EditorExportPreset get_export_preset() const 🔗

Повертає наразі використаний стиль експорту.


Variant get_option(name: StringName) const 🔗

Повернення поточної вартості експорту, що поставляється _get_export_options().


void skip() 🔗

Викликається всередині _export_file(). Пропускає поточний файл, тому він не включається до експорту.