Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

State.h

Committer:
Siriagus
Date:
2015-05-01
Revision:
4:d6661b976359
Parent:
1:0cfe2255092a
Child:
5:100d960fc6d5

File content as of revision 4:d6661b976359:

#ifndef STATE_H
#define STATE_H

#include "N5110.h"
#include "PinDetect.h"
#include "InputManager.h"

class StateManager;

// List of main states in the game
enum MainState {MAIN_MENU, GAME, SUBMIT_HIGHSCORE, GAME_OVER};

// Each main state is a derived from the State class.
class State
{
    public:
    
        State(StateManager* fsm, N5110 *lcd, InputManager* input)
                : fsm(fsm), lcd(lcd), input(input){}
                
        virtual void update() = 0;
        virtual void render() = 0;
        
    private:
        void changeState(MainState newState);
        
    protected:
        N5110 *lcd;
        InputManager *input;
        
    private:
        StateManager *fsm;
        
};

#endif