// ============================================================== // This file is part of Glest (www.glest.org) // // Copyright (C) 2001-2008 MartiƱo Figueroa // // You can redistribute this code and/or modify it under // the terms of the GNU General Public License as published // by the Free Software Foundation; either version 2 of the // License, or (at your option) any later version // ============================================================== #ifndef _GLEST_GAME_SOUNDCONTAINER_H_ #define _GLEST_GAME_SOUNDCONTAINER_H_ #ifdef WIN32 #include #include #endif #include #include "sound.h" #include "randomgen.h" #include "leak_dumper.h" using std::vector; using Shared::Util::RandomGen; using Shared::Sound::StaticSound; namespace Glest{ namespace Game{ // ===================================================== // class SoundContainer // /// Holds a list of sounds that are usually played at random // ===================================================== class SoundContainer{ public: typedef vector Sounds; private: Sounds sounds; mutable RandomGen random; mutable int lastSound; public: SoundContainer(); void resize(int size) {sounds.resize(size);} StaticSound *&operator[](int i) {return sounds[i];} const Sounds &getSounds() const {return sounds;} void clearSounds() {sounds.clear();} Sounds *getSoundsPtr() {return &sounds;} StaticSound *getRandSound() const; }; }}//end namespace #endif