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);
}
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) {
@ -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 {
public:
// 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
virtual void draw(const Resources& resources, sf::RenderTarget& target, sf::FloatRect area) = 0;
virtual ~Panel() = default;
@ -23,14 +23,14 @@ namespace MusicSelect {
class EmptyPanel final : public Panel {
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;};
};
class ColorPanel final : public Panel {
public:
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;
private:
const sf::Color color;
@ -39,7 +39,7 @@ namespace MusicSelect {
class CategoryPanel final : public Panel {
public:
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;
private:
std::string label;
@ -48,7 +48,7 @@ namespace MusicSelect {
class SongPanel final : public Panel {
public:
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;
private:
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;
void move_right();
void move_left();
void move_to_next_category();
void draw_debug() override;
private:
void draw(sf::RenderTarget& target, sf::RenderStates states) const override;