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_SOUNDFXMANAGER_H_ 00024 #define SIONTOWER_TRUNK_SRC_INCLUDE_SOUNDFXMANAGER_H_ 00025 00026 #include <OGRE/Ogre.h> 00027 00028 #include "soundFX.h" 00029 00031 00061 class SoundFXManager: public Ogre::ResourceManager, 00062 public Ogre::Singleton<SoundFXManager> { 00063 public: 00070 SoundFXManager(); 00071 00078 virtual ~SoundFXManager(); 00079 00086 virtual SoundFXPtr load(const Ogre::String& name, 00087 const Ogre::String& group = Ogre::ResourceGroupManager::DEFAULT_RESOURCE_GROUP_NAME); 00088 00093 static SoundFXManager& getSingleton(); 00094 00099 static SoundFXManager* getSingletonPtr(); 00100 00104 static int getAvailableChannels(); 00105 protected: 00106 Ogre::Resource* createImpl(const Ogre::String& name, 00107 Ogre::ResourceHandle handle, 00108 const Ogre::String& group, 00109 bool isManual, 00110 Ogre::ManualResourceLoader* loader, 00111 const Ogre::NameValuePairList* createParams); 00112 00113 private: 00114 static int numChannels; 00115 }; 00116 00117 #endif // SIONTOWER_TRUNK_SRC_INCLUDE_SOUNDFXMANAGER_H_