1
0
mirror of synced 2025-02-02 20:37:25 +01:00

Changed Panels' click input to be the ribbon instead of the music select screen

This commit is contained in:
Stepland 2020-01-28 00:00:28 +01:00
parent 2df8fbf025
commit 26edf04120
3 changed files with 9 additions and 8 deletions

View File

@ -12,8 +12,8 @@ void MusicSelect::ColorPanel::draw(const Resources& resources, sf::RenderTarget&
target.draw(panel); target.draw(panel);
} }
void MusicSelect::CategoryPanel::click(Screen& screen) { void MusicSelect::CategoryPanel::click(Ribbon& ribbon) {
ribbon.move_to_next_category();
} }
void MusicSelect::CategoryPanel::draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) { void MusicSelect::CategoryPanel::draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) {
@ -64,7 +64,7 @@ void MusicSelect::CategoryPanel::draw(const Resources& resources, sf::RenderTarg
void MusicSelect::SongPanel::click(Screen& screen) { void MusicSelect::SongPanel::click(Ribbon& ribbon) {
} }

View File

@ -15,7 +15,7 @@ namespace MusicSelect {
class Panel { class Panel {
public: public:
// What happens when you click on the panel // What happens when you click on the panel
virtual void click(Screen& screen) = 0; virtual void click(Ribbon& ribbon) = 0;
// How the panel should be displayed // How the panel should be displayed
virtual void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) = 0; virtual void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) = 0;
virtual ~Panel() = default; virtual ~Panel() = default;
@ -23,14 +23,14 @@ namespace MusicSelect {
class EmptyPanel final : public Panel { class EmptyPanel final : public Panel {
public: public:
void click(Screen& screen) override {return;}; void click(Ribbon& ribbon) override {return;};
void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override {return;}; void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override {return;};
}; };
class ColorPanel final : public Panel { class ColorPanel final : public Panel {
public: public:
explicit ColorPanel(const sf::Color& t_color) : color(t_color) {}; explicit ColorPanel(const sf::Color& t_color) : color(t_color) {};
void click(Screen& screen) override {return;}; void click(Ribbon& ribbon) override {return;};
void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override; void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override;
private: private:
const sf::Color color; const sf::Color color;
@ -39,7 +39,7 @@ namespace MusicSelect {
class CategoryPanel final : public Panel { class CategoryPanel final : public Panel {
public: public:
explicit CategoryPanel(const std::string& t_label) : label(t_label) {}; explicit CategoryPanel(const std::string& t_label) : label(t_label) {};
void click(Screen& screen) override; void click(Ribbon& ribbon) override;
void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override; void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override;
private: private:
std::string label; std::string label;
@ -48,7 +48,7 @@ namespace MusicSelect {
class SongPanel final : public Panel { class SongPanel final : public Panel {
public: public:
explicit SongPanel(const Data::Song& t_song) : song(t_song) {}; explicit SongPanel(const Data::Song& t_song) : song(t_song) {};
void click(Screen& screen) override; void click(Ribbon& ribbon) override;
void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override; void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) override;
private: private:
const Data::Song& song; const Data::Song& song;

View File

@ -40,6 +40,7 @@ namespace MusicSelect {
const std::shared_ptr<MusicSelect::Panel>& at(std::size_t button_index) const; const std::shared_ptr<MusicSelect::Panel>& at(std::size_t button_index) const;
void move_right(); void move_right();
void move_left(); void move_left();
void move_to_next_category();
void draw_debug() override; void draw_debug() override;
private: private:
void draw(sf::RenderTarget& target, sf::RenderStates states) const override; void draw(sf::RenderTarget& target, sf::RenderStates states) const override;