EditorExportPlugin
Успадковує: RefCounted < Object
Скрипт, який виконується при експорті проекту.
Опис
РедакторExportPlugin автоматично викликається, коли користувач експортує проект. Найпоширеніше використання файлів полягає в тому, щоб визначити, які файли включені в експортований проект. Для кожного плагіна method_export_begin називається на початку процесу експорту, а потім _export_file() називається для кожного експортованого файлу.
Для використання EditorExportPlugin, зареєструйте його за допомогою редактораPlugin.add_export_plugin().
Посібники
Методи
Описи методів
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():
Стиснута кубічна картаСтиснута текстура 3D
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.
Додає спільний об'єкт або каталог, що містить лише спільні об'єкти із заданими тегами 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(). Пропускає поточний файл, тому він не включається до експорту.