/*****************************/
/* Inside The Machine - MKS  */
/*****************************/

//Includes
#ifndef _MENUSTATE_H
#define _MENUSTATE_H

#include "Engine.h"
#include "WorldState.h"

class MenuState : public CGameState
{
	public:
      void Init();
      void Cleanup();

      void Pause();
      void Resume();

      void HandleEvents(StateManager * game);
      void Update(StateManager * game);
      void Draw(StateManager * game);

      static MenuState* Instance()
      {
         return &m_MenuState;
      }

	protected:
      MenuState() { }

	private:
      static MenuState m_MenuState;
      	//Chipsets/Maps
      CSprite bgitm;
   		//Variables
   	CSprite title;              					//Ecran titre
   	CSprite button_new;         					//Bouton new
   	CSprite button_continue;    					//Bouton continuer
   	CSprite button_config;                    //Bouton config
   	s8 currentMenu;             					//Menu courant
   	s32 alphaDay, alphaTwilight, alphaNight;  //Niveau d'alpha
   	u8 curColChoice;            					//Choix de couleur courante
   	s8 buttonScale, buttonSens;               //Angle rotation des boutons
   	bool scaleButton;                         //Si on scale les boutons
   	int scrollBG;                              //Scrolling du background
   	int motionangle;
   		//Transition
   	bool isScaling;                           //Si le scaling est activé
   	int transScale, transScaleSpeed;          //Facteur de scaling
   	u8 alphaFade;                             //Facteur d'alpha fading
   		//Couleurs de l'arrière plan
   	UL_COLOR day_top, day_bot, twilight_top, twilight_bot, night_top, night_bot;
   	
   	sMusic music;
   		
   		//Effets sonores
   	sMusic snd1;
		
};

#endif
