1 #include <msp/core/maputils.h>
2 #include <msp/core/refptr.h>
3 #include <msp/datafile/parser.h>
5 #include "signaltype.h"
6 #include "terraintype.h"
8 #include "vehicletype.h"
15 Catalogue::Catalogue():
19 add_type<TrackType>();
20 add_type<SignalType>();
21 add_type<VehicleType>();
22 add_type<TerrainType>();
23 add_type<TrackAppearance>().keyword("track_appearance");
27 Catalogue::Loader::Loader(Catalogue &c):
28 Collection::Loader(c),
31 add("layout", &Loader::layout);
32 add("scale", &Loader::scale);
33 add("signal", &Loader::signal);
34 add("terrain", &Loader::terrain);
35 add("track", &Loader::track);
36 add("vehicle", &Loader::vehicle);
39 void Catalogue::Loader::layout()
44 void Catalogue::Loader::scale(float n, float d)
49 void Catalogue::Loader::signal(const string &n)
51 RefPtr<SignalType> sig = new SignalType(n);
53 cat.add(n, sig.get());
57 void Catalogue::Loader::terrain(const string &n)
59 RefPtr<TerrainType> ter = new TerrainType(n);
61 cat.add(n, ter.get());
65 void Catalogue::Loader::track(const string &n)
67 RefPtr<TrackType> trk = new TrackType(n);
69 cat.add(n, trk.get());
73 void Catalogue::Loader::vehicle(const string &n)
75 RefPtr<VehicleType> veh = new VehicleType(n);
77 cat.add(n, veh.get());