libBeatsaber/include/beatsaber/beatlevel.h

33 lines
670 B
C
Raw Normal View History

2021-06-01 11:47:41 +02:00
#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
};
}