Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
236
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.48 KB | None | 0 0
  1. int MenuState::update(GameEngine g)
  2. {
  3. state_play = MOUSE_OUT;
  4. state_exit = MOUSE_OUT;
  5.  
  6. switch(input->get_type()) {
  7. case MOUSE_PRESSED_EVENT:
  8. if((input->get_x_pos() > POS_X_PLAY_BUTTON) && (input->get_x_pos() < (POS_X_PLAY_BUTTON + 400)) &&
  9. (input->get_y_pos() > POS_Y_PLAY_BUTTON) && ( input->get_y_pos() < (POS_Y_PLAY_BUTTON + 100))) {
  10. state_play = MOUSE_CLICKED;
  11. next_state = Game;
  12. }
  13.  
  14. if((input->get_x_pos() > POS_X_EXIT_BUTTON) && (input->get_x_pos() < (POS_X_EXIT_BUTTON + 400)) &&
  15. (input->get_y_pos() > POS_Y_EXIT_BUTTON) && ( input->get_y_pos() < (POS_Y_EXIT_BUTTON + 100))) {
  16. state_exit = MOUSE_CLICKED;
  17. next_state = Game_Over;
  18. }
  19. break;
  20. case MOUSE_MOVED_EVENT:
  21. if((input->get_x_pos() > POS_X_PLAY_BUTTON) && (input->get_x_pos() < (POS_X_PLAY_BUTTON + 400)) &&
  22. (input->get_y_pos() > POS_Y_PLAY_BUTTON) && ( input->get_y_pos() < (POS_Y_PLAY_BUTTON + 100))) {
  23. state_play = MOUSE_OVER;
  24. }
  25. if((input->get_x_pos() > POS_X_EXIT_BUTTON) && (input->get_x_pos() < (POS_X_EXIT_BUTTON + 400)) &&
  26. (input->get_y_pos() > POS_Y_EXIT_BUTTON) && ( input->get_y_pos() < (POS_Y_EXIT_BUTTON + 100))) {
  27. state_exit = MOUSE_OVER;
  28. }
  29.  
  30. break;
  31. default:
  32. break;
  33. }
  34. }
  35.  
  36. TypeEvent InputManager::poll_event()
  37. {
  38. TypeEvent t;
  39.  
  40. if(SDL_PollEvent(e)) {
  41. switch (e->type) {
  42. case SDL_QUIT:
  43. input = new QuitInput(QUIT_BUTTON);
  44. t = QUIT_BUTTON;
  45. break;
  46. case SDL_KEYDOWN:
  47. input = new KeyboardInput(KEYBOARD_EVENT);
  48. t = KEYBOARD_EVENT;
  49. break;
  50. case SDL_KEYUP:
  51. input = new NoneInput(NONE_EVENT);
  52. t = NONE_EVENT;
  53. break;
  54. case SDL_MOUSEMOTION:
  55. input = new MouseInput(MOUSE_MOVED_EVENT);
  56. t = MOUSE_MOVED_EVENT;
  57. break;
  58. case SDL_MOUSEBUTTONDOWN:
  59. input = new MouseInput(MOUSE_PRESSED_EVENT);
  60. t = MOUSE_PRESSED_EVENT;
  61. break;
  62. default:
  63. input = new NoneInput(NONE_EVENT);
  64. t = NONE_EVENT;
  65. break;
  66. }
  67. input->set_input(e);
  68. return t;
  69. }
  70. return NONE_EVENT;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement