aboutsummaryrefslogtreecommitdiff
path: root/Deserializer.h
blob: 655caca11f248c0b7b43e46d8160d47d76741204 (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
28
29
#pragma once

#include "Museum.h"
#include "ArtistData.h"
#include "TileData.h"
#include "CanvasData.h"
#include "Color.h"

class Deserializer {
public:
	Deserializer() = default;
	virtual ~Deserializer();

public:
	void set_target(Museum * m);
	void add_type(std::string type, Color color, unsigned int weight);

	void set_canvas(CanvasData);

	void add_tile(unsigned int x, unsigned int y, TileData);
	void add_artist(ArtistData);

	void finalize();

private:
	Museum & get_target();
	Museum * museum = nullptr;
};