/
redgpu
/
ezEngine
Обзор
Документация
Войти
/
redgpu
/
ezEngine
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
dev
Code/EditorPlugins/Particle/EditorPluginParticle/ParticleEffectAsset/ParticleEffectAssetManager.cpp
58 строк
2 KB
Jan Krassnigg
Fixed #1144: Resource file extension cleanup (#1374)
20 авг 2024, 21:47
Не верифицирован
20 авг 2024, 21:47
c453d11
Код
Авторство
О чём код?
#include <EditorPluginParticle/EditorPluginParticlePCH.h> #include <EditorPluginParticle/ParticleEffectAsset/ParticleEffectAssetManager.h> #include <EditorPluginParticle/ParticleEffectAsset/ParticleEffectAssetWindow.moc.h> EZ_BEGIN_DYNAMIC_REFLECTED_TYPE(ezParticleEffectAssetDocumentManager, 1, ezRTTIDefaultAllocator<ezParticleEffectAssetDocumentManager>) EZ_END_DYNAMIC_REFLECTED_TYPE; ezParticleEffectAssetDocumentManager::ezParticleEffectAssetDocumentManager() { ezDocumentManager::s_Events.AddEventHandler(ezMakeDelegate(&ezParticleEffectAssetDocumentManager::OnDocumentManagerEvent, this)); m_DocTypeDesc.m_sDocumentTypeName = "Particle Effect"; m_DocTypeDesc.m_sFileExtension = "ezParticleEffectAsset"; m_DocTypeDesc.m_sIcon = ":/AssetIcons/Particle_Effect.svg"; m_DocTypeDesc.m_sAssetCategory = "Effects"; m_DocTypeDesc.m_pDocumentType = ezGetStaticRTTI<ezParticleEffectAssetDocument>(); m_DocTypeDesc.m_pManager = this; m_DocTypeDesc.m_CompatibleTypes.PushBack("CompatibleAsset_Particle_Effect"); m_DocTypeDesc.m_sResourceFileExtension = "ezBinParticleEffect"; m_DocTypeDesc.m_AssetDocumentFlags = ezAssetDocumentFlags::AutoTransformOnSave | ezAssetDocumentFlags::SupportsThumbnail; } ezParticleEffectAssetDocumentManager::~ezParticleEffectAssetDocumentManager() { ezDocumentManager::s_Events.RemoveEventHandler(ezMakeDelegate(&ezParticleEffectAssetDocumentManager::OnDocumentManagerEvent, this)); } void ezParticleEffectAssetDocumentManager::OnDocumentManagerEvent(const ezDocumentManager::Event& e) { switch (e.m_Type) { case ezDocumentManager::Event::Type::DocumentWindowRequested: { if (e.m_pDocument->GetDynamicRTTI() == ezGetStaticRTTI<ezParticleEffectAssetDocument>()) { new ezQtParticleEffectAssetDocumentWindow(static_cast<ezParticleEffectAssetDocument*>(e.m_pDocument)); // NOLINT: Not a memory leak } } break; default: break; } } void ezParticleEffectAssetDocumentManager::InternalCreateDocument( ezStringView sDocumentTypeName, ezStringView sPath, bool bCreateNewDocument, ezDocument*& out_pDocument, const ezDocumentObject* pOpenContext) { out_pDocument = new ezParticleEffectAssetDocument(sPath); } void ezParticleEffectAssetDocumentManager::InternalGetSupportedDocumentTypes( ezDynamicArray<const ezDocumentTypeDescriptor*>& inout_DocumentTypes) const { inout_DocumentTypes.PushBack(&m_DocTypeDesc); }