// greebo: The accessor function for the brush module containing the static instance // TODO: Change this to return a reference instead of a raw pointer BrushModuleClass* GlobalBrush() { return staticBrushModule.getModule().get(); }
namespace radiant { sigc::signal<void> RadiantModule::signal_radiantStarted() const { return _radiantStarted; } sigc::signal<void> RadiantModule::signal_radiantShutdown() const { return _radiantShutdown; } const ThreadManager& RadiantModule::getThreadManager() const { if (!_threadManager) { _threadManager.reset(new RadiantThreadManager); } return *_threadManager; } void RadiantModule::broadcastShutdownEvent() { _radiantShutdown.emit(); _radiantShutdown.clear(); } // Broadcasts a "startup" event to all the listeners void RadiantModule::broadcastStartupEvent() { _radiantStarted.emit(); } // RegisterableModule implementation const std::string& RadiantModule::getName() const { static std::string _name(MODULE_RADIANT); return _name; } const StringSet& RadiantModule::getDependencies() const { static StringSet _dependencies; if (_dependencies.empty()) { _dependencies.insert(MODULE_COMMANDSYSTEM); _dependencies.insert(MODULE_XMLREGISTRY); _dependencies.insert(MODULE_PREFERENCESYSTEM); _dependencies.insert(MODULE_EVENTMANAGER); _dependencies.insert(MODULE_SELECTIONSYSTEM); _dependencies.insert(MODULE_RENDERSYSTEM); _dependencies.insert(MODULE_CLIPPER); } return _dependencies; } void RadiantModule::initialiseModule(const ApplicationContext& ctx) { rMessage() << "RadiantModule::initialiseModule called." << std::endl; // Reset the node id count scene::Node::resetIds(); map::PointFile::Instance().registerCommands(); MainFrame_Construct(); ui::MediaBrowser::registerPreferences(); ui::TextureBrowser::construct(); entity::registerCommands(); map::AutoSaver().init(); } void RadiantModule::shutdownModule() { rMessage() << "RadiantModule::shutdownModule called." << std::endl; GlobalFileSystem().shutdown(); map::PointFile::Instance().destroy(); ui::OverlayDialog::destroy(); ui::TextureBrowser::destroy(); _radiantShutdown.clear(); } // Define the static Radiant module module::StaticModule<RadiantModule> radiantCoreModule; // Return the static Radiant module to other code within the main binary RadiantModulePtr getGlobalRadiant() { return radiantCoreModule.getModule(); } } // namespace radiant
// The accessor function to the GlobalCameraManager instance GlobalCameraManager& GlobalCamera() { return *cameraModule.getModule(); }
// Return the static Radiant module to other code within the main binary RadiantModulePtr getGlobalRadiant() { return radiantCoreModule.getModule(); }
IPreferenceSystem& GetPreferenceSystem() { return *preferenceSystemModule.getModule(); }