]> git.tdb.fi Git - r2c2.git/blob - source/libr2c2/catalogue.cpp
Rework article numbers
[r2c2.git] / source / libr2c2 / catalogue.cpp
1 #include <msp/core/maputils.h>
2 #include <msp/core/refptr.h>
3 #include <msp/datafile/parser.h>
4 #include "catalogue.h"
5 #include "signaltype.h"
6 #include "terraintype.h"
7 #include "tracktype.h"
8 #include "vehicletype.h"
9
10 using namespace std;
11 using namespace Msp;
12
13 namespace R2C2 {
14
15 Catalogue::Catalogue():
16         scale(1),
17         layout(*this)
18 {
19         add_type<TrackType>().keyword("track");
20         add_type<SignalType>().keyword("signal");
21         add_type<VehicleType>().keyword("vehicle");
22         add_type<TerrainType>().keyword("terrain");
23         add_type<TrackAppearance>().keyword("track_appearance");
24 }
25
26
27 Catalogue::Loader::Loader(Catalogue &c):
28         Collection::Loader(c),
29         cat(c)
30 {
31         add("layout", &Loader::layout);
32         add("scale", &Loader::scale);
33 }
34
35 void Catalogue::Loader::layout()
36 {
37         load_sub(cat.layout);
38 }
39
40 void Catalogue::Loader::scale(float n, float d)
41 {
42         cat.scale = n/d;
43 }
44
45 } // namespace R2C2