A complex 2D-dungeon game on LPC1768 in SWJTU-Leeds Joint School XJEL2645 project. Referenced from the framework contributed by https://os.mbed.com/users/Siriagus/code/SimplePlatformGame/

Dependencies:   mbed N5110 ShiftReg PinDetect

Committer:
Siriagus
Date:
Fri May 01 09:10:23 2015 +0000
Revision:
5:100d960fc6d5
Parent:
4:d6661b976359
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 4:d6661b976359 1 #ifndef STATE_MANAGER_H
Siriagus 4:d6661b976359 2 #define STATE_MANAGER_H
Siriagus 4:d6661b976359 3
Siriagus 4:d6661b976359 4 #include "State.h"
Siriagus 5:100d960fc6d5 5 #include "MainMenu.h"
Siriagus 4:d6661b976359 6 #include <map>
Siriagus 4:d6661b976359 7
Siriagus 4:d6661b976359 8 // Main Finite State Machine - controls the flow between the main states
Siriagus 4:d6661b976359 9 class StateManager
Siriagus 4:d6661b976359 10 {
Siriagus 4:d6661b976359 11 public:
Siriagus 4:d6661b976359 12 StateManager(N5110 *lcd, InputManager* input)
Siriagus 4:d6661b976359 13 : lcd(lcd), input(input){currentState = 0;}
Siriagus 5:100d960fc6d5 14 ~StateManager() {if (currentState != 0) delete currentState;}
Siriagus 4:d6661b976359 15
Siriagus 4:d6661b976359 16 void update(time_t dt);
Siriagus 4:d6661b976359 17 void render();
Siriagus 4:d6661b976359 18
Siriagus 4:d6661b976359 19 void changeState(MainState newState); // Deletes the current main state and creates a new one
Siriagus 4:d6661b976359 20
Siriagus 4:d6661b976359 21 private:
Siriagus 4:d6661b976359 22 N5110 *lcd;
Siriagus 4:d6661b976359 23 InputManager *input;
Siriagus 4:d6661b976359 24 State* currentState; // Current state object
Siriagus 4:d6661b976359 25 };
Siriagus 4:d6661b976359 26
Siriagus 5:100d960fc6d5 27 #endif