Argentum Online - Cliente
item_button.h
1 #ifndef __ITEM_BUTTON_H
2 #define __ITEM_BUTTON_H
3 
4 #include "../../../include/network/socket_manager.h"
5 #include "../../engine/SDL/sdl_timer.h"
6 #include "../../engine/UI/button.h"
7 
12 class ItemButton : public Button {
13  private:
14  SlotId slot_number;
15  int& last_clicked_slot;
16  SocketManager& socket_manager;
17  Event (*left_click_event)(SlotId);
18  Event (*right_click_event)(SlotId);
19  SDLTimer double_click_timer;
20 
21  public:
33  ItemButton(SDL_Rect button_area, SDL_Rect viewport, SDL_Renderer* renderer,
34  SlotId slot_number, int& last_clicked_slot,
35  SocketManager& socket_manager, Event (*left_click_event)(SlotId),
36  Event (*right_click_event)(SlotId));
37 
43  void on_click() override;
44 
49  void on_right_click() override;
50 };
51 
52 #endif
SocketManager
Definition: socket_manager.h:12
Button
Boton abstracto. Todos los botones heredan de esta clase.
Definition: button.h:10
Event
Definition: event.h:55
SDLTimer
Timer basado en la cuenta de SDL.
Definition: sdl_timer.h:9
ItemButton
Boton clickeable para cada item del inventario.
Definition: item_button.h:12
ItemButton::ItemButton
ItemButton(SDL_Rect button_area, SDL_Rect viewport, SDL_Renderer *renderer, SlotId slot_number, int &last_clicked_slot, SocketManager &socket_manager, Event(*left_click_event)(SlotId), Event(*right_click_event)(SlotId))
Crea un objeto Item Button.
Definition: item_button.cpp:8
ItemButton::on_right_click
void on_right_click() override
Envia un evento de tirar item al piso sobre el slot.
Definition: item_button.cpp:38
ItemButton::on_click
void on_click() override
Un click setea el ultimo slot clickeado. Doble click envia un evento de usar sobre el slot.
Definition: item_button.cpp:20