Debug test layout
This commit is contained in:
parent
c532cc8a2d
commit
0065bd276e
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,3 +1,4 @@
|
|||||||
build*/
|
build*/
|
||||||
.vscode/
|
.vscode/
|
||||||
include/imgui*
|
include/imgui*
|
||||||
|
test_songs/
|
@ -9,9 +9,13 @@
|
|||||||
|
|
||||||
MusicSelect::Screen::Screen(const Data::SongList& t_song_list) :
|
MusicSelect::Screen::Screen(const Data::SongList& t_song_list) :
|
||||||
song_list(t_song_list),
|
song_list(t_song_list),
|
||||||
|
resources(),
|
||||||
|
ribbon(resources),
|
||||||
|
selected_panel(),
|
||||||
button_highlight(panel_size),
|
button_highlight(panel_size),
|
||||||
ribbon(resources)
|
key_mapping()
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
for (const auto& song : song_list.songs) {
|
for (const auto& song : song_list.songs) {
|
||||||
if (song.cover) {
|
if (song.cover) {
|
||||||
try {
|
try {
|
||||||
@ -21,11 +25,12 @@ MusicSelect::Screen::Screen(const Data::SongList& t_song_list) :
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
ribbon.test_song_cover_sort();
|
ribbon.test_song_cover_sort();
|
||||||
|
std::cout << "loaded MusicSelect::Screen" << std::endl;
|
||||||
}
|
}
|
||||||
|
|
||||||
void MusicSelect::Screen::select_chart(sf::RenderWindow& window) {
|
void MusicSelect::Screen::select_chart(sf::RenderWindow& window) {
|
||||||
|
|
||||||
window.create(sf::VideoMode(panel_size*4, panel_size*4), "jujube", sf::Style::Titlebar);
|
window.create(sf::VideoMode(panel_size*4, panel_size*4), "jujube", sf::Style::Titlebar);
|
||||||
window.setFramerateLimit(60);
|
window.setFramerateLimit(60);
|
||||||
ImGui::SFML::Init(window);
|
ImGui::SFML::Init(window);
|
||||||
@ -45,7 +50,6 @@ void MusicSelect::Screen::select_chart(sf::RenderWindow& window) {
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
ImGui::SFML::Update(window, imguiClock.restart());
|
ImGui::SFML::Update(window, imguiClock.restart());
|
||||||
window.clear(sf::Color::Black);
|
window.clear(sf::Color::Black);
|
||||||
ribbon.draw_debug();
|
ribbon.draw_debug();
|
||||||
|
@ -69,7 +69,7 @@ void MusicSelect::SongPanel::click(Ribbon& ribbon, std::size_t from_button_index
|
|||||||
void MusicSelect::SongPanel::draw(Resources& resources, sf::RenderTarget& target, sf::FloatRect area) {
|
void MusicSelect::SongPanel::draw(Resources& resources, sf::RenderTarget& target, sf::FloatRect area) {
|
||||||
sf::Sprite cover;
|
sf::Sprite cover;
|
||||||
sf::Texture& cover_texture = resources.fallback_cover;
|
sf::Texture& cover_texture = resources.fallback_cover;
|
||||||
if (false and m_song.cover) {
|
if (m_song.cover) {
|
||||||
cover_texture = *resources.covers.get(m_song.cover.value());
|
cover_texture = *resources.covers.get(m_song.cover.value());
|
||||||
}
|
}
|
||||||
cover.setTexture(cover_texture);
|
cover.setTexture(cover_texture);
|
||||||
|
@ -13,4 +13,5 @@ MusicSelect::Resources::Resources() :
|
|||||||
if (not fallback_cover.loadFromFile("assets/textures/fallback_cover.png")) {
|
if (not fallback_cover.loadFromFile("assets/textures/fallback_cover.png")) {
|
||||||
throw std::runtime_error("Unable to load assets/textures/fallback_cover.png");
|
throw std::runtime_error("Unable to load assets/textures/fallback_cover.png");
|
||||||
}
|
}
|
||||||
|
std::cout << "Loaded MusicSelect::Resources" << std::endl;
|
||||||
}
|
}
|
||||||
|
@ -62,6 +62,14 @@ bool MusicSelect::MoveAnimation::ended() {
|
|||||||
return clock.getElapsedTime() / m_time_factor > sf::milliseconds(300);
|
return clock.getElapsedTime() / m_time_factor > sf::milliseconds(300);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
MusicSelect::Ribbon::Ribbon(Resources& t_resources) :
|
||||||
|
m_resources(t_resources),
|
||||||
|
m_layout(),
|
||||||
|
empty_song()
|
||||||
|
{
|
||||||
|
std::cout << "Loaded MusicSelect::Ribbon" << std::endl;
|
||||||
|
}
|
||||||
|
|
||||||
void MusicSelect::Ribbon::title_sort(const Data::SongList &song_list) {
|
void MusicSelect::Ribbon::title_sort(const Data::SongList &song_list) {
|
||||||
std::vector<std::reference_wrapper<const Data::Song>> songs;
|
std::vector<std::reference_wrapper<const Data::Song>> songs;
|
||||||
for (auto &&song : song_list.songs) {
|
for (auto &&song : song_list.songs) {
|
||||||
@ -140,9 +148,7 @@ void MusicSelect::Ribbon::test_song_cover_sort() {
|
|||||||
auto category_size = category_size_generator.generate();
|
auto category_size = category_size_generator.generate();
|
||||||
for (int i = 0; i < category_size; i++) {
|
for (int i = 0; i < category_size; i++) {
|
||||||
categories[std::string(1, letter)].push_back(
|
categories[std::string(1, letter)].push_back(
|
||||||
std::make_shared<MusicSelect::SongPanel>(
|
std::make_shared<MusicSelect::SongPanel>(this->empty_song)
|
||||||
Data::Song{}
|
|
||||||
)
|
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -32,7 +32,7 @@ namespace MusicSelect {
|
|||||||
// It can be sorted in a number of ways
|
// It can be sorted in a number of ways
|
||||||
class Ribbon final : public sf::Drawable, public Toolkit::Debuggable {
|
class Ribbon final : public sf::Drawable, public Toolkit::Debuggable {
|
||||||
public:
|
public:
|
||||||
Ribbon(Resources& t_resources) : m_resources(t_resources) {};
|
Ribbon(Resources& t_resources);
|
||||||
void title_sort(const Data::SongList& song_list);
|
void title_sort(const Data::SongList& song_list);
|
||||||
void test_sort();
|
void test_sort();
|
||||||
void test2_sort();
|
void test2_sort();
|
||||||
@ -54,5 +54,6 @@ namespace MusicSelect {
|
|||||||
mutable std::optional<MoveAnimation> m_move_animation;
|
mutable std::optional<MoveAnimation> m_move_animation;
|
||||||
Resources& m_resources;
|
Resources& m_resources;
|
||||||
float m_time_factor = 1.f;
|
float m_time_factor = 1.f;
|
||||||
|
Data::Song empty_song;
|
||||||
};
|
};
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user