2019-01-03 23:20:35 +01:00
|
|
|
//
|
|
|
|
// Created by Symeon on 23/12/2018.
|
|
|
|
//
|
|
|
|
|
|
|
|
#ifndef FEIS_EDITORSTATE_H
|
|
|
|
#define FEIS_EDITORSTATE_H
|
|
|
|
|
|
|
|
#include <optional>
|
|
|
|
#include <SFML/Audio.hpp>
|
2019-01-12 17:16:20 +01:00
|
|
|
#include <SFML/Graphics.hpp>
|
2019-01-03 23:20:35 +01:00
|
|
|
#include "Fumen.h"
|
2019-01-13 22:29:29 +01:00
|
|
|
#include "Marker.h"
|
2019-01-03 23:20:35 +01:00
|
|
|
|
|
|
|
class EditorState {
|
|
|
|
|
|
|
|
public:
|
|
|
|
Fumen fumen;
|
2019-01-13 22:29:29 +01:00
|
|
|
Marker marker;
|
2019-01-03 23:20:35 +01:00
|
|
|
std::optional<sf::Music> music;
|
2019-01-12 17:16:20 +01:00
|
|
|
std::optional<sf::Texture> jacket;
|
2019-01-03 23:20:35 +01:00
|
|
|
std::optional<std::string> selectedChart;
|
2019-01-12 17:16:20 +01:00
|
|
|
|
2019-01-13 03:53:42 +01:00
|
|
|
void reloadFromFumen();
|
2019-01-12 17:16:20 +01:00
|
|
|
void reloadMusic();
|
|
|
|
void reloadJacket();
|
|
|
|
|
2019-01-13 22:29:29 +01:00
|
|
|
bool showPlayfield = true;
|
2019-01-03 23:20:35 +01:00
|
|
|
bool showProperties;
|
2019-01-12 03:13:30 +01:00
|
|
|
bool showStatus;
|
2019-01-12 17:16:20 +01:00
|
|
|
bool showPlaybackStatus = true;
|
2019-01-13 03:53:42 +01:00
|
|
|
bool showTimeline = true;
|
2019-01-12 17:16:20 +01:00
|
|
|
|
2019-01-13 22:29:29 +01:00
|
|
|
void displayPlayfield();
|
2019-01-12 17:16:20 +01:00
|
|
|
void displayProperties();
|
|
|
|
void displayStatus();
|
|
|
|
void displayPlaybackStatus();
|
2019-01-13 03:53:42 +01:00
|
|
|
void displayTimeline();
|
2019-01-03 23:20:35 +01:00
|
|
|
|
2019-01-12 03:13:30 +01:00
|
|
|
explicit EditorState(Fumen& fumen);
|
2019-01-03 23:20:35 +01:00
|
|
|
};
|
|
|
|
|
2019-01-13 22:29:29 +01:00
|
|
|
namespace ESHelper {
|
|
|
|
void save(EditorState& ed);
|
|
|
|
void open(std::optional<EditorState>& ed);
|
|
|
|
void openFromFile(std::optional<EditorState>& ed, std::filesystem::path path);
|
|
|
|
}
|
|
|
|
|
2019-01-03 23:20:35 +01:00
|
|
|
|
|
|
|
#endif //FEIS_EDITORSTATE_H
|