libBeatsaber/include/beatsaber/beatlevel.h

33 lines
670 B
C++

#pragma once
#include <string>
#include <memory>
#include "difficulties.h"
namespace Beatsaber {
//fwd
class BeatSet;
class BeatMap;
class BeatLevel {
public:
virtual ~BeatLevel() {}
virtual Difficulty::Difficulty getDifficulty() const = 0;
virtual int32_t getDifficultyRank() const = 0;
virtual std::string getFilename() const = 0;
virtual double getNoteJumpSpeed() const = 0; // in m
virtual double getNoteStartOffset() const = 0;
virtual std::string getCustomData() const = 0;
//TODO: get level content
virtual std::shared_ptr<BeatSet> getBeatSet() const = 0; // parent
virtual std::shared_ptr<BeatMap> getBeatMap() const = 0; // grandparent
};
}