ezStatus ezToolsProject::Create() { { ezOSFile ProjectFile; if (ProjectFile.Open(m_sProjectPath, ezFileMode::Write).Failed()) { return ezStatus(ezFmt("Could not open/create the project file for writing: '{0}'", m_sProjectPath)); } else { const char* szToken = "ezEditor Project File"; ProjectFile.Write(szToken, ezStringUtils::GetStringElementCount(szToken) + 1); ProjectFile.Close(); } } // Create default folders { CreateSubFolder("Scenes"); CreateSubFolder("Prefabs"); } ezToolsProjectEvent e; e.m_pProject = this; e.m_Type = ezToolsProjectEvent::Type::ProjectCreated; s_Events.Broadcast(e); return Open(); }
ezStatus Importer::ImportMesh(const char* szSceneFile, const char* szSubMesh, bool bSkinnedMesh, ezSharedPtr<ezModelImporter::Scene>& outScene, ezModelImporter::Mesh*& outMesh) { ezBitflags<ImportFlags> importFlags = ImportFlags::Meshes; if (bSkinnedMesh) importFlags |= ImportFlags::Skeleton; outScene = ezModelImporter::Importer::GetSingleton()->ImportScene(szSceneFile, importFlags); if (!outScene) { return ezStatus(ezFmt("Input file '{0}' could not be imported", szSceneFile)); } if (outScene->GetMeshes().GetCount() == 0) { return ezStatus("Scene does not contain any meshes."); } if (ezStringUtils::IsNullOrEmpty(szSubMesh)) { outMesh = outScene->MergeAllMeshes(); } else { outMesh = nullptr; for (auto it = outScene->GetMeshes().GetIterator(); it.IsValid(); ++it) { if (it.Value()->m_Name == szSubMesh) { outMesh = it.Value().Borrow(); break; } } if (outMesh == nullptr) { return ezStatus(ezFmt("Scene does not contain a mesh with name '{0}'.", szSubMesh)); } } return ezStatus(EZ_SUCCESS); }
void ezQtLogPanel::LogWriter(const ezLoggingEventData& e) { // Can be called from a different thread, but AddLogMsg is thread safe. ezLogEntry msg(e); EditorLog->GetLog()->AddLogMsg(msg); if (msg.m_sTag == "EditorStatus") { ezQtUiServices::GetSingleton()->ShowAllDocumentsStatusBarMessage(ezFmt(msg.m_sMsg), ezTime::Seconds(5)); } }
ezStatus ezToolsProject::Open() { ezOSFile ProjectFile; if (ProjectFile.Open(m_sProjectPath, ezFileMode::Read).Failed()) { return ezStatus(ezFmt("Could not open the project file for reading: '{0}'", m_sProjectPath)); } ProjectFile.Close(); ezToolsProjectEvent e; e.m_pProject = this; e.m_Type = ezToolsProjectEvent::Type::ProjectOpened; s_Events.Broadcast(e); return ezStatus(EZ_SUCCESS); }