Changed Panels' click input to be the ribbon instead of the music select screen
This commit is contained in:
parent
2df8fbf025
commit
26edf04120
@ -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) {
|
||||
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user