Repository navigation
Expand file tree
/
Copy pathRoadCoating.h
More file actions
55 lines (50 loc) · 3.28 KB
/
Copy pathRoadCoating.h
File metadata and controls
55 lines (50 loc) · 3.28 KB
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#ifndef __ROAD_COATING_INCLUDED__
#define __ROAD_COATING_INCLUDED__
#include "CoatingObject.h"
namespace rtm {
/// @brief Класс, описывающий дороги
class RoadCoating
: public CoatingObject
{
public:
/// @brief Конструктор по умочанию
RoadCoating();
/// @brief Конструктор с использованием уже готового спрайта
/// @param sprite указатель на готовый спрайт
/// @param column колонка, в которой необходимо отрисовать дорогу
/// @param row строка, в которой необходимо отрисовать дорогу
/// @param angle угол поворота дороги
/// @param resistance коэффициент сопротивления на дороге
/// @param directions доступные направления для движения
RoadCoating(cocos2d::Sprite* const sprite, int column, int row,
AngleType angle, float resistance, Directions directions);
/// @brief Конструктор из файла
/// @param filename путь к файлу инициализации
/// @param column колонка, в которой необходимо отрисовать дорогу
/// @param row строка, в которой необходимо отрисовать дорогу
/// @param angle угол поворота дороги
/// @param resistance коэффициент сопротивления на дороге
/// @param directions доступные направления для движения
RoadCoating(std::string const& filename, int column, int row,
AngleType angle, float resistance, Directions directions);
/// @brief Конструктор стандартного дороги
/// @param type стандартный тип покрытия
/// @param id номер стандартной дороги
/// @param column колонка, в которой необходимо отрисовать дорогу
/// @param row строка, в которой необходимо отрисовать дорогу
/// @param angle угол поворота дороги
RoadCoating(CoatingType type, size_t id, int column, int row, AngleType angle);
/// @brief Деструктор по умолчанию
virtual ~RoadCoating() = default;
private:
/// @brief Функция для получения коэффициента сопротивления на стандартной дороге по номеру
/// @param type тип покрытия
/// @return сопротивление
static float GetClassResistance_(CoatingType type);
/// @brief Функция для получения доступных направлений стандартной дороги по номеру
/// @param id номер стандартной дороги
/// @return доступные направления
static Directions const& GetClassDirections_(size_t id);
};
}
#endif // __ROAD_COATING_INCLUDED__