aboutsummaryrefslogtreecommitdiff
path: root/Tile.h
blob: 7e44b09ce6f3787980a8a4eda3602c1650664e87 (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
30
#pragma once

#include <memory>

#include "TileData.h"
#include "Color.h"
#include "TileBehavior.h"
#include "XY.h"

class Museum;

class Tile {
public:
	Tile(Museum & museum, TileData & data);

public:
	TileData data;
	Color color;
	std::unique_ptr<TileBehavior> behavior = nullptr;

public:
	void set_data(TileData & data);
	void set_type(const std::string & type);
	void update();
	Tile * get_neighbor(const XY & offset);

private:
	Museum & museum;
};