/*====================================
base pour mode de jeux
par Martin Robinson
objet abstrait pour
le titre
le menu
le jeux
======================================
preprocesseur*/

#pragma once
#ifndef _MODE
#define _MODE

#include "camera.hpp"
#include "color.hpp"

/*====================================
classe
====================================*/

class mode{
protected:
    camera _cam;                //camera
    color _bg;                  //arriere plan
    int _mode;                  //mode de jeux
public:
    virtual void update(){}     //mise à jour
    //user control
    virtual void left(){}
    virtual void right(){}
    virtual void up(){}
    virtual void down(){}
    virtual void space(){}
    virtual void shift(){}
    virtual void enter(){}

    //getter
    //arriere plan
    virtual const color& getBg(){return _bg;}
    //y a til des lignes à dessiner
    virtual bool thereIsLineToDraw();
    //obtenir une ligne
    virtual const camera::draw nextLineToDraw();
    //obtenir le mode
    virtual int getMode()const{return 1;};
};

#endif
