Sion Tower (demo técnica) 0.1
|
00001 /* 00002 * This file is part of SionTower. 00003 * 00004 * 00005 * David Saltares Márquez (C) 2011 00006 * <david.saltares@gmail.com> 00007 * 00008 * 00009 * SionTower examples are free software: you can redistribute it and/or 00010 * modify it under the terms of the GNU General Public License ad 00011 * published by the Free Software Foundation, either version 3 of the 00012 * License, or (at your option) ant later version. 00013 * 00014 * SionTower examples are distributed in the hope that it will be useful, 00015 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 * GNU General Public License for more details. 00018 * 00019 * You should have received a copy of the GNU General Public License 00020 * along with SionTower examples. If not, see <http://www.gnu.org/licenses/>. 00021 */ 00022 00023 #ifndef SIONTOWER_TRUNK_SRC_INCLUDE_SONGMANAGER_H_ 00024 #define SIONTOWER_TRUNK_SRC_INCLUDE_SONGMANAGER_H_ 00025 00026 #include <OGRE/Ogre.h> 00027 00028 #include "song.h" 00029 00031 00061 class SongManager: public Ogre::ResourceManager, 00062 public Ogre::Singleton<SongManager> { 00063 public: 00070 SongManager(); 00071 00078 virtual ~SongManager(); 00079 00087 virtual SongPtr load(const Ogre::String& name, const Ogre::String& group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 00088 00093 static SongManager& getSingleton(); 00094 00099 static SongManager* getSingletonPtr(); 00100 00101 protected: 00113 Ogre::Resource* createImpl(const Ogre::String& name, 00114 Ogre::ResourceHandle handle, 00115 const Ogre::String& group, 00116 bool isManual, 00117 Ogre::ManualResourceLoader* loader, 00118 const Ogre::NameValuePairList* createParams); 00119 }; 00120 00121 #endif // SIONTOWER_TRUNK_SRC_INCLUDE_SONGMANAGER_H_