//============================================================================== // This program is free software; you can redistribute it 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. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Library General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. //============================================================================== //============================================================================== // File: cAnimationManager.cpp // Project: Shooting Star // Author: Jarmo Hekkanen // Copyrights (c) 2003 2ndPoint ry (www.2ndpoint.fi) //------------------------------------------------------------------------------ // Revision history //============================================================================== //============================================================================== // Includes #include "cAnimationManager.hpp" #include "Debug.hpp" //------------------------------------------------------------------------------ // Namespaces using namespace ShootingStar; //============================================================================== //! Constructor cAnimationManager::cAnimationManager (void) { // Empty }; //! Destructor cAnimationManager::~cAnimationManager (void) { FreeAllAnimations (); }; //! Return singleton cAnimationManager & cAnimationManager::GetInstance (void) { static cAnimationManager singleton; return singleton; } //! Load animation Uint32 cAnimationManager::LoadAnimation (string filename) { if ( mAnimations[filename].GetDisplayList () != 0 ) return mAnimations[filename].GetDisplayList (); string temp = mDataDir; temp.append (filename); dbgInfo () << "Loading animation from file " << temp << '\n'; mAnimations[filename].LoadConfig (temp); return mAnimations[filename].Compile (); } //! Free all animations void cAnimationManager::FreeAllAnimations (void) { if ( mAnimations.empty () ) return; dbgInfo () << "Freeing all animations\n"; mAnimations.clear (); } //============================================================================== // EOF //==============================================================================