24 #include "../Display/Res.h" 29 #if defined(_WIN32) && defined(HR_ENGINE_SHARED) 31 # define MR_DllDeclare __declspec( dllexport ) 33 # define MR_DllDeclare __declspec( dllimport ) 36 # define MR_DllDeclare 41 class FreeElementBase;
64 Track(
const std::string &name,
65 std::shared_ptr<Parcel::RecordFile> recFile = {});
85 std::shared_ptr<Display::Res<Display::Texture>>
GetMap()
const {
return map; }
97 void SetGravity(
double gravity) { this->physics.gravity = gravity; }
105 freeElements.emplace_back(std::move(elem));
113 void LoadLevel(
bool allowRendering,
const GameOptions &gameOpts);
117 void Load(
bool allowRendering,
const GameOptions &gameOpts);
125 std::shared_ptr<Display::Res<Display::Texture>>
map;
double gravity
Definition: Track.h:132
Level
Definition: Log.h:62
An inspection node which maps field names to values (either strings or inspectable subobjects)...
Definition: InspectMapNode.h:88
Definition: Inspectable.h:41
Base class for parcel implementations.
Definition: RecordFile.h:46
TrackEntry header
Definition: Track.h:121
const Vec2 & GetSize() const
Retrieve the size of the track.
Definition: Track.h:83
#define MR_DllDeclare
Definition: Track.h:36
std::shared_ptr< Parcel::RecordFile > recFile
Definition: Track.h:120
The metadata for a track.
Definition: TrackEntry.h:54
Vec2 offset
Definition: Track.h:123
A track level.
Definition: Track.h:57
const TrackEntry & GetHeader() const
Definition: Track.h:70
std::shared_ptr< Display::Res< Display::Texture > > GetMap() const
Definition: Track.h:85
Definition: GameOptions.h:41
std::shared_ptr< Parcel::RecordFile > ShareRecordFile() const
Definition: Track.h:69
std::unordered_map< std::string, std::string > map
Definition: SdlDisplay.cpp:115
const Vec2 & GetOffset() const
Retrieve the coordinates of the north-west corner of the track.
Definition: Track.h:77
std::unique_ptr< Level > level
Definition: Track.h:122
Definition: Announcement.h:24
Level * GetLevel() const
Definition: Track.h:71
void AddFreeElement(std::shared_ptr< Model::FreeElementBase > elem)
Add a FreeElement to be managed by this Track.
Definition: Track.h:103
double GetGravity() const
Gets the gravity multiplier.
Definition: Track.h:91
Parcel::RecordFile * GetRecordFile() const
Definition: Track.h:68
std::shared_ptr< Display::Res< Display::Texture > > map
Definition: Track.h:125
std::list< std::shared_ptr< Model::FreeElementBase > > freeElements
Definition: Track.h:126
void SetGravity(double gravity)
Set the current gravity multiplier.
Definition: Track.h:97
Vec2 size
Definition: Track.h:124
std::string header
Definition: Observer.cpp:60