41 lines
970 B
C++
41 lines
970 B
C++
#pragma once
|
|
|
|
#include "beatlevel.h"
|
|
|
|
#include <nlohmann/json_fwd.hpp>
|
|
|
|
using json = nlohmann::json;
|
|
|
|
namespace Beatsaber {
|
|
|
|
class BeatLevelImpl : public BeatLevel, protected std::enable_shared_from_this<BeatLevelImpl> {
|
|
protected:
|
|
std::weak_ptr<BeatSet> parent;
|
|
|
|
Difficulty::Difficulty dif;
|
|
int32_t diffRank;
|
|
std::string filename;
|
|
|
|
double njs;
|
|
double nso;
|
|
|
|
const json& base;
|
|
|
|
public:
|
|
BeatLevelImpl(std::weak_ptr<BeatSet> p, const json& j);
|
|
virtual ~BeatLevelImpl();
|
|
|
|
virtual Difficulty::Difficulty getDifficulty() const override;
|
|
virtual int32_t getDifficultyRank() const override;
|
|
virtual std::string getFilename() const override;
|
|
virtual double getNoteJumpSpeed() const override; // in m
|
|
virtual double getNoteStartOffset() const override;
|
|
virtual std::string getCustomData() const override;
|
|
|
|
//TODO: get level content
|
|
|
|
virtual std::shared_ptr<BeatSet> getBeatSet() const override;
|
|
virtual std::shared_ptr<BeatMap> getBeatMap() const override;
|
|
};
|
|
|
|
} |