Merge pull request #108658 from bruvzg/ed_pl_init

[EditorExportPlatform] Move initialization to a dedicated method.
This commit is contained in:
Thaddeus Crews 2025-09-30 18:35:25 -05:00
commit 5240f1c283
No known key found for this signature in database
GPG key ID: 8C6E5FEB5FC03CCC
21 changed files with 56 additions and 31 deletions

View file

@ -127,6 +127,7 @@ void EditorExport::_bind_methods() {
}
void EditorExport::add_export_platform(const Ref<EditorExportPlatform> &p_platform) {
p_platform->initialize();
export_platforms.push_back(p_platform);
should_update_presets = true;

View file

@ -349,6 +349,8 @@ public:
virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) {}
virtual String get_debug_protocol() const { return "tcp://"; }
virtual HashMap<String, Variant> get_custom_project_settings(const Ref<EditorExportPreset> &p_preset) const { return HashMap<String, Variant>(); }
virtual void initialize() {}
};
VARIANT_ENUM_CAST(EditorExportPlatform::ExportMessageType)

View file

@ -2815,23 +2815,21 @@ Error EditorExportPlatformAppleEmbedded::run(const Ref<EditorExportPreset> &p_pr
#endif
}
EditorExportPlatformAppleEmbedded::EditorExportPlatformAppleEmbedded(const char *p_platform_logo_svg, const char *p_run_icon_svg) {
if (EditorNode::get_singleton()) {
Ref<Image> img = memnew(Image);
const bool upsample = !Math::is_equal_approx(Math::round(EDSCALE), EDSCALE);
void EditorExportPlatformAppleEmbedded::_initialize(const char *p_platform_logo_svg, const char *p_run_icon_svg) {
Ref<Image> img = memnew(Image);
const bool upsample = !Math::is_equal_approx(Math::round(EDSCALE), EDSCALE);
ImageLoaderSVG::create_image_from_string(img, p_platform_logo_svg, EDSCALE, upsample, false);
logo = ImageTexture::create_from_image(img);
ImageLoaderSVG::create_image_from_string(img, p_platform_logo_svg, EDSCALE, upsample, false);
logo = ImageTexture::create_from_image(img);
ImageLoaderSVG::create_image_from_string(img, p_run_icon_svg, EDSCALE, upsample, false);
run_icon = ImageTexture::create_from_image(img);
ImageLoaderSVG::create_image_from_string(img, p_run_icon_svg, EDSCALE, upsample, false);
run_icon = ImageTexture::create_from_image(img);
plugins_changed.set();
devices_changed.set();
plugins_changed.set();
devices_changed.set();
#ifdef MACOS_ENABLED
_update_preset_status();
_update_preset_status();
#endif
}
}
EditorExportPlatformAppleEmbedded::~EditorExportPlatformAppleEmbedded() {

View file

@ -229,6 +229,8 @@ protected:
r_features->push_back("apple_embedded");
}
void _initialize(const char *p_platform_logo_svg, const char *p_run_icon_svg);
public:
virtual Ref<Texture2D> get_logo() const override { return logo; }
virtual Ref<Texture2D> get_run_icon() const override { return run_icon; }
@ -279,7 +281,6 @@ public:
virtual void resolve_platform_feature_priorities(const Ref<EditorExportPreset> &p_preset, HashSet<String> &p_features) override {
}
EditorExportPlatformAppleEmbedded(const char *p_platform_logo_svg, const char *p_run_icon_svg);
~EditorExportPlatformAppleEmbedded();
/// List the gdip files in the directory specified by the p_path parameter.

View file

@ -81,6 +81,8 @@ void EditorExportPlatformExtension::_bind_methods() {
GDVIRTUAL_BIND(_get_platform_features);
GDVIRTUAL_BIND(_get_debug_protocol);
GDVIRTUAL_BIND(_initialize);
}
void EditorExportPlatformExtension::get_preset_features(const Ref<EditorExportPreset> &p_preset, List<String> *r_features) const {
@ -358,6 +360,10 @@ String EditorExportPlatformExtension::get_debug_protocol() const {
return EditorExportPlatform::get_debug_protocol();
}
void EditorExportPlatformExtension::initialize() {
GDVIRTUAL_CALL(_initialize);
}
EditorExportPlatformExtension::EditorExportPlatformExtension() {
//NOP
}

View file

@ -151,6 +151,9 @@ public:
virtual String get_debug_protocol() const override;
GDVIRTUAL0RC(String, _get_debug_protocol);
virtual void initialize() override;
GDVIRTUAL0(_initialize);
EditorExportPlatformExtension();
~EditorExportPlatformExtension();
};