summaryrefslogtreecommitdiffstats
path: root/editor/export/editor_export_preset.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'editor/export/editor_export_preset.cpp')
-rw-r--r--editor/export/editor_export_preset.cpp37
1 files changed, 37 insertions, 0 deletions
diff --git a/editor/export/editor_export_preset.cpp b/editor/export/editor_export_preset.cpp
index 9f805666d0..1ca72348e2 100644
--- a/editor/export/editor_export_preset.cpp
+++ b/editor/export/editor_export_preset.cpp
@@ -79,6 +79,7 @@ void EditorExportPreset::_bind_methods() {
ClassDB::bind_method(D_METHOD("get_include_filter"), &EditorExportPreset::get_include_filter);
ClassDB::bind_method(D_METHOD("get_exclude_filter"), &EditorExportPreset::get_exclude_filter);
ClassDB::bind_method(D_METHOD("get_custom_features"), &EditorExportPreset::get_custom_features);
+ ClassDB::bind_method(D_METHOD("get_patches"), &EditorExportPreset::get_patches);
ClassDB::bind_method(D_METHOD("get_export_path"), &EditorExportPreset::get_export_path);
ClassDB::bind_method(D_METHOD("get_encryption_in_filter"), &EditorExportPreset::get_enc_in_filter);
ClassDB::bind_method(D_METHOD("get_encryption_ex_filter"), &EditorExportPreset::get_enc_ex_filter);
@@ -366,6 +367,42 @@ EditorExportPreset::FileExportMode EditorExportPreset::get_file_export_mode(cons
return p_default;
}
+void EditorExportPreset::add_patch(const String &p_path, int p_at_pos) {
+ ERR_FAIL_COND_EDMSG(patches.has(p_path), vformat("Failed to add patch \"%s\". Patches must be unique.", p_path));
+
+ if (p_at_pos < 0) {
+ patches.push_back(p_path);
+ } else {
+ patches.insert(p_at_pos, p_path);
+ }
+
+ EditorExport::singleton->save_presets();
+}
+
+void EditorExportPreset::set_patch(int p_index, const String &p_path) {
+ remove_patch(p_index);
+ add_patch(p_path, p_index);
+}
+
+String EditorExportPreset::get_patch(int p_index) {
+ ERR_FAIL_INDEX_V(p_index, patches.size(), String());
+ return patches[p_index];
+}
+
+void EditorExportPreset::remove_patch(int p_index) {
+ ERR_FAIL_INDEX(p_index, patches.size());
+ patches.remove_at(p_index);
+ EditorExport::singleton->save_presets();
+}
+
+void EditorExportPreset::set_patches(const Vector<String> &p_patches) {
+ patches = p_patches;
+}
+
+Vector<String> EditorExportPreset::get_patches() const {
+ return patches;
+}
+
void EditorExportPreset::set_custom_features(const String &p_custom_features) {
custom_features = p_custom_features;
EditorExport::singleton->save_presets();