typedef std::map<CopiedString, const char*, PathLess> Paths;
-class PathsInsert
-{
-Paths& m_paths;
-const char* m_directory;
-public:
-PathsInsert( Paths& paths, const char* directory ) : m_paths( paths ), m_directory( directory ){
-}
-void operator()( const char* name ) const {
- m_paths.insert( Paths::value_type( name, m_directory ) );
-}
-};
-
-
void EntityClassQuake3_constructDirectory( const char* directory, const char* extension, Paths& paths ){
globalOutputStream() << "EntityClass: searching " << makeQuoted( directory ) << " for *." << extension << '\n';
- Directory_forEach( directory, matchFileExtension( extension, PathsInsert( paths, directory ) ) );
+ Directory_forEach(directory, matchFileExtension(extension, [&](const char *name) {
+ paths.insert(Paths::value_type(name, directory));
+ }));
}
m_eclassmanager.realise = &EntityClass_realise;
m_eclassmanager.unrealise = &EntityClass_unrealise;
- GlobalRadiant().attachGameToolsPathObserver( g_EntityClassQuake3 );
- GlobalRadiant().attachGameModeObserver( g_EntityClassQuake3 );
- GlobalRadiant().attachGameNameObserver( g_EntityClassQuake3 );
+ Radiant_attachGameToolsPathObserver( g_EntityClassQuake3 );
+ Radiant_attachGameModeObserver( g_EntityClassQuake3 );
+ Radiant_attachGameNameObserver( g_EntityClassQuake3 );
}
~EclassManagerAPI(){
- GlobalRadiant().detachGameNameObserver( g_EntityClassQuake3 );
- GlobalRadiant().detachGameModeObserver( g_EntityClassQuake3 );
- GlobalRadiant().detachGameToolsPathObserver( g_EntityClassQuake3 );
+ Radiant_detachGameNameObserver( g_EntityClassQuake3 );
+ Radiant_detachGameModeObserver( g_EntityClassQuake3 );
+ Radiant_detachGameToolsPathObserver( g_EntityClassQuake3 );
EntityClassQuake3_destroy();
}