/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2009.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: sgx/include/utils/menusystem/game_titles_world.hpp

*/

#ifndef SGX_UTILS_MENUSYSTEM_GAME_TITLES_WORLD_HPP
#define SGX_UTILS_MENUSYSTEM_GAME_TITLES_WORLD_HPP	1

class CSGXGameScenario;

class CGameTitlesWorld : public CGameObject {
public:
	CGameTitlesWorld(CSGXGameScenario *pNextScenario);
	virtual ~CGameTitlesWorld();

	virtual void 		initialize();	// prepare loading screens
	virtual void 		update(const tREAL32 telaps);
	virtual void 	 	draw() const;

	virtual tREAL32		getMinimumVisibility(const tUINT32 screen);	// in seconds
	virtual tREAL32		getMaximumVisibility(const tUINT32 screen);	// in seconds
	virtual tBOOL		isInteruptable(const tUINT32 screen);		// when > minVis & < maxVis
	virtual void 		doNextLoad(const tUINT32 phase);

protected:
	virtual void 		addScreen(const sgxString &filename);

	CSGXGameScenario *	m_pNextScenario;
	tREAL32			m_fTimecum;
	tREAL32			m_fAlpha;
	tBOOL			m_bFadingOut, m_bFadingIn;
	tUINT32			m_iStateScreen;

	sgxVector<CSGXTexture *>	m_ScreenList;
};

#endif // SGX_UTILS_MENUSYSTEM_GAME_TITLES_WORLD_HPP

