Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

State.h

Committer:
Siriagus
Date:
2015-05-01
Revision:
7:678873947b29
Parent:
5:100d960fc6d5
Child:
8:9ac6a428fa26

File content as of revision 7:678873947b29:

#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, NO_STATE};

// Each main state is a derived from the State class.

class State
{   
    public:
    
        State(StateManager* fsm, N5110 *lcd, InputManager* input)
                :lcd(lcd), input(input), fsm(fsm){}
                
        virtual void update(float dt) = 0;
        virtual void render() = 0;
        
    protected:
        void requestStateChange(MainState newState);
        
    protected:
        N5110 *lcd;
        InputManager *input;
        
    private:
        StateManager *fsm;
        
};

#endif