Ignore:
Timestamp:
02/06/17 21:13:58 (8 years ago)
Author:
epyon
Message:
  • fixes in handle store
  • removal of get_handle
  • indices instead of handles
  • efficient handle store clears
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/engine/particle_group.cc

    r520 r543  
    3333void particle_group_manager::release( particle_group group )
    3434{
    35         particle_group_info* info = m_groups.get( group );
    36         if ( info )
    37         {
    38                 delete[] info->quads;
    39                 m_context->release( info->vtx_array );
     35        if ( particle_group_info* info = m_groups.get( group ) )
     36        {
     37                release( info );
    4038                m_groups.destroy( group );
    4139        }
     
    194192}
    195193
     194void nv::particle_group_manager::release( particle_group_info* info )
     195{
     196        if ( info )
     197        {
     198                delete[] info->quads;
     199                m_context->release( info->vtx_array );
     200        }
     201}
     202
    196203particle_group_manager::~particle_group_manager()
    197204{
     
    201208void particle_group_manager::clear()
    202209{
    203         while ( m_groups.size() > 0 )
    204                 release( m_groups.get_handle( 0 ) );
     210        for ( auto& g : m_groups )
     211                release( &g );
     212        m_groups.clear();
    205213}
    206214
Note: See TracChangeset for help on using the changeset viewer.