コード例 #1
0
ファイル: AssetLibrary.cpp プロジェクト: mackron/GTGameEngine
    void AssetLibrary::Shutdown()
    {
        for (size_t iAsset = 0; iAsset < m_loadedAssets.count; ++iAsset)
        {
            auto pAsset = m_loadedAssets.buffer[iAsset]->value;
            assert(pAsset != nullptr);
            {
                auto pAllocator = this->FindAllocatorByType(pAsset->GetType());
                assert(pAllocator != nullptr);
                {
                    pAllocator->DeleteAsset(pAsset);
                }
            }
        }

        m_loadedAssets.Clear();
        m_allocators.Clear();



#if defined(GT_BUILD_DEFAULT_ASSETS)
        delete m_pDefaultAssetAllocator;
        m_pDefaultAssetAllocator = nullptr;
#endif

        dr_delete_mutex(m_mutex);
        m_mutex = nullptr;

        m_pVFS = nullptr;
    }
コード例 #2
0
ファイル: AssetLibrary.cpp プロジェクト: mackron/GTGameEngine
    void AssetLibrary::Unload(Asset* pAsset)
    {
        if (pAsset != nullptr)
        {
            dr_lock_mutex(m_mutex);
            {
                if (pAsset->DecrementReferenceCount() == 0)
                {
                    for (size_t iAsset = 0; iAsset < m_loadedAssets.count; ++iAsset)
                    {
                        if (m_loadedAssets.buffer[iAsset]->value == pAsset)
                        {
                            // Remove from the cache.
                            m_loadedAssets.RemoveByIndex(iAsset);

                        
                            // Delete the asset object.
                            auto pAllocator = this->FindAllocatorByType(pAsset->GetType());
                            assert(pAllocator != nullptr);
                            {
                                pAllocator->DeleteAsset(pAsset);
                            }


                            break;
                        }
                    }
                }
            }
            dr_unlock_mutex(m_mutex);
        }
    }
コード例 #3
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteEndpointSlot() {
	DeleteAsset(db.Tb("Endpoint"));
}
コード例 #4
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteDeployedServiceSlot() {
	DeleteAsset(db.Tb("DeployedService"));
}
コード例 #5
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteServiceVersionSlot() {
	DeleteAsset(db.Tb("ServiceVersion"));
}
コード例 #6
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteServiceSlot() {
	DeleteAsset(db.Tb("Service"));
}
コード例 #7
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteDeployedApplicationSlot() {
	DeleteAsset(db.Tb("DeployedApplication"));
}
コード例 #8
0
ファイル: soawidgetactions.cpp プロジェクト: bcace/soabrowser
void SoaWg::DeleteApplicationVersionSlot() {
	DeleteAsset(db.Tb("ApplicationVersion"));
}