blob: d2a83a87f5d7d032bda9bf587cffdbe5c27ae102 (
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
31
32
33
|
#pragma once
#include <memory>
#include "TileData.h"
#include "Color.h"
#include "TileBehaviorStrategy.h"
class Museum;
class Tile {
public:
Tile(Museum & museum, TileData & data);
public:
TileData data;
Color color;
std::unique_ptr<TileBehaviorStrategy> behavior = nullptr;
unsigned int x = 0;
unsigned int y = 0;
public:
void set_data(TileData & data);
void set_type(const std::string & type);
void update();
void step(Artist &);
Tile * get_neighbor(int dx, int dy);
private:
Museum & museum;
};
|