Allow loading custom ProjectSettings instance

This commit is contained in:
kobewi 2023-03-18 02:39:12 +01:00
parent 11d3768132
commit 4324d01c8e
3 changed files with 20 additions and 9 deletions

View file

@ -1017,7 +1017,7 @@ Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_cust
}
}
// Check for the existence of a csproj file.
if (_csproj_exists(get_resource_path())) {
if (_csproj_exists(p_path.get_base_dir())) {
// If there is a csproj file, add the C# feature if it doesn't already exist.
if (!project_features.has("C#")) {
project_features.append("C#");
@ -1568,6 +1568,14 @@ ProjectSettings::ProjectSettings() {
ProjectSettings::get_singleton()->add_hidden_prefix("input/");
}
ProjectSettings::~ProjectSettings() {
singleton = nullptr;
ProjectSettings::ProjectSettings(const String &p_path) {
if (load_custom(p_path) == OK) {
project_loaded = true;
}
}
ProjectSettings::~ProjectSettings() {
if (singleton == this) {
singleton = nullptr;
}
}

View file

@ -224,6 +224,7 @@ public:
#endif
ProjectSettings();
ProjectSettings(const String &p_path);
~ProjectSettings();
};