Skip to content

Commit 529c2bd

Browse files
Editor: Incorrect multiple error messages on during fresh import #1204 (#1205)
1 parent 7d28302 commit 529c2bd

File tree

6 files changed

+29
-28
lines changed

6 files changed

+29
-28
lines changed

engine/includes/adapters/handlers/defaultfilehandler.h

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,8 @@ class DefaultFileHandler : public FileHandler {
1919

2020
protected:
2121
void listFilesRecursive(StringList &list, const std::filesystem::path &path) {
22-
try {
23-
for(const auto &entry : std::filesystem::recursive_directory_iterator(path)) {
24-
list.push_back(TString(entry.path().string()).replace('\\', '/'));
25-
}
26-
} catch (const std::filesystem::filesystem_error &ex) {
27-
aError() << "Error:" << ex.what();
22+
for(const auto &entry : std::filesystem::recursive_directory_iterator(path)) {
23+
list.push_back(TString(entry.path().string()).replace('\\', '/'));
2824
}
2925
}
3026

engine/includes/editor/assetmanager.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,6 +122,8 @@ protected slots:
122122

123123
QTimer *m_timer;
124124

125+
bool m_force;
126+
125127
protected:
126128
void dumpBundle();
127129

engine/src/editor/assetmanager.cpp

Lines changed: 18 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,8 @@ AssetManager::AssetManager() :
4747
m_assetProvider(new BaseAssetProvider),
4848
m_indices(Engine::resourceSystem()->indices()),
4949
m_projectManager(ProjectSettings::instance()),
50-
m_timer(new QTimer(this)) {
50+
m_timer(new QTimer(this)),
51+
m_force(false) {
5152

5253
connect(m_timer, SIGNAL(timeout()), this, SLOT(onPerform()));
5354
}
@@ -118,30 +119,30 @@ void AssetManager::checkImportSettings(AssetConverterSettings *settings) {
118119
}
119120

120121
void AssetManager::rescan() {
121-
bool force = false;
122+
m_force = false;
122123

123124
TString target = m_projectManager->targetPath();
124125
if(target.isEmpty()) {
125-
force |= !Engine::reloadBundle();
126-
force |= m_projectManager->projectSdk() != SDK_VERSION;
126+
m_force |= !Engine::reloadBundle();
127+
m_force |= m_projectManager->projectSdk() != SDK_VERSION;
127128

128129
m_assetProvider->init();
129130
} else {
130-
force = true;
131+
m_force = true;
131132
}
132133

133-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/materials").data(),force);
134-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/textures").data(), force);
135-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/meshes").data(), force);
136-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/pipelines").data(),force);
137-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/fonts").data(), force);
134+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/materials").data(),m_force);
135+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/textures").data(), m_force);
136+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/meshes").data(), m_force);
137+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/pipelines").data(),m_force);
138+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/engine/fonts").data(), m_force);
138139
#ifndef BUILDER
139-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/materials").data(),force);
140-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/gizmos").data(), force);
141-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/meshes").data(), force);
142-
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/textures").data(), force);
140+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/materials").data(),m_force);
141+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/gizmos").data(), m_force);
142+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/meshes").data(), m_force);
143+
m_assetProvider->onDirectoryChangedForce((m_projectManager->resourcePath() + "/editor/textures").data(), m_force);
143144
#endif
144-
m_assetProvider->onDirectoryChangedForce(m_projectManager->contentPath().data(), force);
145+
m_assetProvider->onDirectoryChangedForce(m_projectManager->contentPath().data(), m_force);
145146

146147
emit directoryChanged(m_projectManager->contentPath().data());
147148

@@ -492,6 +493,7 @@ void AssetManager::onPerform() {
492493
result = true;
493494

494495
if(!it->buildProject()) {
496+
m_force = false;
495497
m_timer->stop();
496498
emit importFinished();
497499
}
@@ -521,6 +523,7 @@ void AssetManager::onPerform() {
521523
return;
522524
}
523525

526+
m_force = false;
524527
m_timer->stop();
525528
emit importFinished();
526529
}

engine/src/systems/resourcesystem.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ void ResourceSystem::setResource(Resource *object, const TString &uuid) {
101101
Resource *ResourceSystem::loadResource(const TString &path) {
102102
PROFILE_FUNCTION();
103103

104-
if(!path.isEmpty()) {
104+
if(!path.isEmpty() && !m_indexMap.empty()) {
105105
TString uuid = path;
106106

107107
Resource *object = resource(uuid);
@@ -131,7 +131,7 @@ Resource *ResourceSystem::loadResource(const TString &path) {
131131
}
132132

133133
Resource *ResourceSystem::loadResourceAsync(const TString &path) {
134-
if(!path.isEmpty()) {
134+
if(!path.isEmpty() && !m_indexMap.empty()) {
135135
ResourceInfo info;
136136

137137
auto indexIt = m_indexMap.find(path);

modules/editor/particletools/converter/effectbuilder.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -79,20 +79,20 @@ AssetConverter::ReturnCode EffectBuilder::convertFile(AssetConverterSettings *se
7979

8080
Variant variant = m_graph.object();
8181

82-
uint32_t uuid = 0;
82+
if(settings->info().id == 0) {
83+
settings->info().id = Engine::generateUUID();
84+
}
8385
VariantList objects = variant.value<VariantList>();
8486
for(auto &it : objects) {
8587
VariantList o = it.value<VariantList>();
8688
if(o.size() >= 5) {
8789
auto i = o.begin();
8890
i++;
89-
uuid = static_cast<uint32_t>((*i).toInt());
91+
*i = settings->info().id;
9092
break;
9193
}
9294
}
9395

94-
settings->info().id = uuid;
95-
9696
return settings->saveBinary(variant, settings->absoluteDestination());
9797
}
9898

modules/editor/particletools/converter/effectgraph.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -171,7 +171,7 @@ Variant EffectGraph::object() const {
171171
VariantList object;
172172

173173
object.push_back(VisualEffect::metaClass()->name()); // type
174-
object.push_back(Engine::generateUUID()); // id
174+
object.push_back(0); // id
175175
object.push_back(0); // parent
176176
object.push_back(""); // name
177177

0 commit comments

Comments
 (0)