/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EnginePlugins/InspectorPlugin/FileSystem.cpp
58 строк
1 KB
Jan Krassnigg
Renamed files and classes related to allocators (#1176)
22 янв 2024, 23:46
Не верифицирован
22 янв 2024, 23:46
9ab9b69
Код
Авторство
О чём код?
#include <InspectorPlugin/InspectorPluginPCH.h> #include <Foundation/Communication/Telemetry.h> #include <Foundation/IO/FileSystem/FileSystem.h> static ezInt32 s_iDataDirCounter = 0; static ezMap<ezString, ezInt32, ezCompareHelper<ezString>, ezStaticsAllocatorWrapper> s_KnownDataDirs; static void FileSystemEventHandler(const ezFileSystem::FileEvent& e) { switch (e.m_EventType) { case ezFileSystem::FileEventType::AddDataDirectorySucceeded: { bool bExisted = false; auto it = s_KnownDataDirs.FindOrAdd(e.m_sFileOrDirectory, &bExisted); if (!bExisted) { it.Value() = s_iDataDirCounter; ++s_iDataDirCounter; } ezStringBuilder sName; sName.SetFormat("IO/DataDirs/Dir{0}", ezArgI(it.Value(), 2, true)); ezStats::SetStat(sName.GetData(), e.m_sFileOrDirectory); } break; case ezFileSystem::FileEventType::RemoveDataDirectory: { auto it = s_KnownDataDirs.Find(e.m_sFileOrDirectory); if (!it.IsValid()) break; ezStringBuilder sName; sName.SetFormat("IO/DataDirs/Dir{0}", ezArgI(it.Value(), 2, true)); ezStats::RemoveStat(sName.GetData()); } break; default: break; } } void AddFileSystemEventHandler() { ezFileSystem::RegisterEventHandler(FileSystemEventHandler); } void RemoveFileSystemEventHandler() { ezFileSystem::UnregisterEventHandler(FileSystemEventHandler); }