| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- #include "states.h"
- static void key_latch_update(Game_Data* data) {
- data->shift_latch_value = KeyDown(K_SHIFT);
- data->alpha_latch_value = KeyDown(K_ALPHA);
- }
- State current_state = TITLE;
- void switch_to_state(State new_state, Game_Data *data)
- {
- switch (new_state)
- {
- case GAME:
- init_game(data);
- break;
- case TITLE:
- init_title(data);
- break;
- case MENU:
- init_menu(data);
- break;
- case GAME_OVER:
- init_game_over(data);
- break;
- }
- current_state = new_state;
- }
- void update(Game_Data *data)
- {
- switch(current_state)
- {
- case GAME:
- update_game(data);
- break;
- case TITLE:
- update_title(data);
- break;
- case MENU:
- update_menu(data);
- break;
- case GAME_OVER:
- update_game_over(data);
- break;
- }
- key_latch_update(data);
- }
- void draw(Game_Data *data)
- {
- switch(current_state)
- {
- case GAME:
- draw_game(data);
- break;
- case TITLE:
- draw_title(data);
- break;
- case MENU:
- draw_menu(data);
- break;
- case GAME_OVER:
- draw_game_over(data);
- break;
- }
- }
|