Hugo Hu / Mbed 2 deprecated BRAVEHEART

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Fri May 01 09:10:23 2015 +0000
Revision:
5:100d960fc6d5
Child:
7:678873947b29
Mostly finished State and StateManager class. Some additional work must be done when adding new main states.

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Siriagus 5:100d960fc6d5 1 #include "StateManager.h"
Siriagus 5:100d960fc6d5 2
Siriagus 5:100d960fc6d5 3 // Delete the old state and create a new one
Siriagus 5:100d960fc6d5 4 void StateManager::changeState(MainState newState)
Siriagus 5:100d960fc6d5 5 {
Siriagus 5:100d960fc6d5 6 if (currentState != 0) // if a state exist
Siriagus 5:100d960fc6d5 7 delete currentState; // delete the old state
Siriagus 5:100d960fc6d5 8
Siriagus 5:100d960fc6d5 9 // Create new state
Siriagus 5:100d960fc6d5 10 switch (newState)
Siriagus 5:100d960fc6d5 11 {
Siriagus 5:100d960fc6d5 12 case MAIN_MENU:
Siriagus 5:100d960fc6d5 13 currentState = new MainMenu(this, lcd, input);
Siriagus 5:100d960fc6d5 14 break;
Siriagus 5:100d960fc6d5 15
Siriagus 5:100d960fc6d5 16 // TODO: Make classes for the other states, currently all than MAIN_MENU will give error
Siriagus 5:100d960fc6d5 17 case GAME:
Siriagus 5:100d960fc6d5 18 //break;
Siriagus 5:100d960fc6d5 19
Siriagus 5:100d960fc6d5 20 case SUBMIT_HIGHSCORE:
Siriagus 5:100d960fc6d5 21 //break;
Siriagus 5:100d960fc6d5 22
Siriagus 5:100d960fc6d5 23 case GAME_OVER:
Siriagus 5:100d960fc6d5 24 //break;
Siriagus 5:100d960fc6d5 25
Siriagus 5:100d960fc6d5 26 default:
Siriagus 5:100d960fc6d5 27 error("Invalid state!");
Siriagus 5:100d960fc6d5 28 }
Siriagus 5:100d960fc6d5 29 }
Siriagus 5:100d960fc6d5 30
Siriagus 5:100d960fc6d5 31 void StateManager::update(time_t dt)
Siriagus 5:100d960fc6d5 32 {
Siriagus 5:100d960fc6d5 33 currentState->update(dt);
Siriagus 5:100d960fc6d5 34 }
Siriagus 5:100d960fc6d5 35
Siriagus 5:100d960fc6d5 36 void StateManager::render()
Siriagus 5:100d960fc6d5 37 {
Siriagus 5:100d960fc6d5 38 currentState->render();
Siriagus 5:100d960fc6d5 39 }