aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/LevelStorageProfilerDecorator.h
blob: 98ed762087f1995a6af04c43c4a6113443a13791 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#pragma once
using namespace std;

#include "LevelStorage.h"

class ConsoleSaveFile;

class LevelStorageProfilerDecorator : public LevelStorage
{
private:
	 /* final */ LevelStorage *capsulated;

public:
	virtual ConsoleSaveFile *getSaveFile() { return capsulated->getSaveFile(); }

public:
	LevelStorageProfilerDecorator(LevelStorage *capsulated);
    LevelData *prepareLevel();
    void checkSession();
    ChunkStorage *createChunkStorage(Dimension *dimension);
    void saveLevelData(LevelData *levelData, vector<shared_ptr<Player> > *players);
    void saveLevelData(LevelData *levelData);
    PlayerIO *getPlayerIO();
    void closeAll();
    ConsoleSavePath getDataFile(const wstring& id);
	wstring getLevelId();
};