Conquer Chess
Chess and Starcraft combined
Loading...
Searching...
No Matches
controls_view.h
Go to the documentation of this file.
1#ifndef CONTROLS_VIEW_H
2#define CONTROLS_VIEW_H
3
4#ifndef LOGIC_ONLY
5
8#include "program_state.h"
9#include "side.h"
10#include "controls_bar.h"
11#include "chess_color.h"
12#include "view.h"
13
14#include <SFML/Graphics.hpp>
15
16#include <optional>
17
23class controls_view : public view
24{
25public:
26 controls_view(const side& player_side);
27
29 void draw_impl() override;
30
31
32 const auto& get_layout() const noexcept { return m_layout; }
33
34 const auto& get_physical_controllers() const noexcept { return m_pc; }
35
37 side get_player_side() const { return m_player_side; }
38
39 const auto& get_selected() const noexcept { return m_selected; }
40
43 bool process_event_impl(sf::Event& event) override;
44
46 void process_resize_event_impl(sf::Event& event) override;
47
49 void set_text_style(sf::Text& text);
50
51 void start_impl() override;
52
53 void stop_impl() override;
54
55 void tick_impl(const delta_t dt) override;
56
57private:
58
59 controls_bar m_controls_bar;
60
62 controls_view_layout m_layout;
63
66
68 side m_player_side;
69
71 controls_view_item m_selected;
72
74 void change_selected();
75
76};
77
81void draw_panel(
82 const screen_rect& panel_position,
83 const std::string panel_text,
84 const chess_color color,
85 const bool is_active
86);
87
88
89sf::Keyboard::Key get_key_for_action_1(const controls_view& v);
90sf::Keyboard::Key get_key_for_action_2(const controls_view& v);
91sf::Keyboard::Key get_key_for_action_3(const controls_view& v);
92sf::Keyboard::Key get_key_for_action_4(const controls_view& v);
93sf::Mouse::Button get_button_for_do(const controls_view& v);
94sf::Keyboard::Key get_key_for_move_down(const controls_view& v);
95sf::Keyboard::Key get_key_for_move_left(const controls_view& v);
96sf::Keyboard::Key get_key_for_move_right(const controls_view& v);
97sf::Keyboard::Key get_key_for_move_up(const controls_view& v);
98sf::Mouse::Button get_button_for_next(const controls_view& v);
99
101
103
105
108
110
112
113
114#endif // LOGIC_ONLY
115
116#endif // CONTROLS_VIEW_H
chess_color
A chess piece color.
Definition chess_color.h:10
Definition controls_bar.h:12
The layout of the Controls dialog.
Definition controls_view_layout.h:42
The Controls dialog.
Definition controls_view.h:24
bool process_event_impl(sf::Event &event) override
Process all events.
Definition controls_view.cpp:111
void draw_impl() override
Show the menu on-screen.
Definition controls_view.cpp:201
side get_player_side() const
The player we are setting up the controls of.
Definition controls_view.h:37
const auto & get_layout() const noexcept
Definition controls_view.h:32
const auto & get_physical_controllers() const noexcept
Definition controls_view.h:34
void stop_impl() override
Clean up after this window has been shown.
Definition controls_view.cpp:350
void tick_impl(const delta_t dt) override
Run the game, until the user quits.
Definition controls_view.cpp:56
void start_impl() override
Prepare this window for being shown.
Definition controls_view.cpp:344
void set_text_style(sf::Text &text)
Set a uniform text style.
Definition controls_view.cpp:194
void process_resize_event_impl(sf::Event &event) override
Resize.
Definition controls_view.cpp:180
const auto & get_selected() const noexcept
Definition controls_view.h:39
A change of in_game_time}.
Definition delta_t.h:12
The physical controllers used by all players.
Definition physical_controllers.h:12
A rectangle-shaped area on the screen.
Definition screen_rect.h:15
The abstract base class of all other views.
Definition view.h:26
sf::Keyboard::Key get_key_for_action_2(const controls_view &v)
Definition controls_view.cpp:68
sf::Keyboard::Key get_key_for_move_right(const controls_view &v)
Definition controls_view.cpp:97
sf::Keyboard::Key get_key_for_move_down(const controls_view &v)
Definition controls_view.cpp:88
void draw_type_panel(controls_view &v)
Definition controls_view.cpp:326
sf::Mouse::Button get_button_for_do(const controls_view &v)
Definition controls_view.cpp:83
sf::Keyboard::Key get_key_for_move_up(const controls_view &v)
Definition controls_view.cpp:101
void draw_layout_panels(controls_view &v)
Show where the panels will be drawn.
Definition controls_view.cpp:305
sf::Keyboard::Key get_key_for_action_3(const controls_view &v)
Definition controls_view.cpp:73
sf::Mouse::Button get_button_for_next(const controls_view &v)
Definition controls_view.cpp:106
sf::Keyboard::Key get_key_for_action_1(const controls_view &v)
Definition controls_view.cpp:61
sf::Keyboard::Key get_key_for_move_left(const controls_view &v)
Definition controls_view.cpp:93
void draw_selected_panel(controls_view &v)
Definition controls_view.cpp:316
void draw_panel(const screen_rect &panel_position, const std::string panel_text, const chess_color color, const bool is_active)
Definition controls_view.cpp:38
void draw_keyboard_panel(controls_view &v)
Definition controls_view.cpp:221
void draw_background(controls_view &v)
Definition controls_view.cpp:212
void draw_mouse_panel(controls_view &v)
Definition controls_view.cpp:269
sf::Keyboard::Key get_key_for_action_4(const controls_view &v)
Definition controls_view.cpp:78
controls_view_item
The items in the Controls dialog.
Definition controls_view_item.h:8
side
The side the player/piece is on.
Definition side.h:11