scale(1),
layout(*this)
{
- add_type<TrackType>();
- add_type<SignalType>();
- add_type<VehicleType>();
- add_type<TerrainType>();
+ add_type<TrackType>().keyword("track");
+ add_type<SignalType>().keyword("signal");
+ add_type<VehicleType>().keyword("vehicle");
+ add_type<TerrainType>().keyword("terrain");
+ add_type<TrackAppearance>().keyword("track_appearance");
}
{
add("layout", &Loader::layout);
add("scale", &Loader::scale);
- add("signal", &Loader::signal);
- add("terrain", &Loader::terrain);
- add("track", &Loader::track);
- add("track_appearance", &Loader::track_appearance);
- add("vehicle", &Loader::vehicle);
}
void Catalogue::Loader::layout()
cat.scale = n/d;
}
-void Catalogue::Loader::signal(const string &n)
-{
- RefPtr<SignalType> sig = new SignalType(n);
- load_sub(*sig);
- cat.add(n, sig.get());
- sig.release();
-}
-
-void Catalogue::Loader::terrain(const string &n)
-{
- RefPtr<TerrainType> ter = new TerrainType(n);
- load_sub(*ter);
- cat.add(n, ter.get());
- ter.release();
-}
-
-void Catalogue::Loader::track(const string &n)
-{
- RefPtr<TrackType> trk = new TrackType(n, &cat.appearance);
- load_sub(*trk);
- cat.add(n, trk.get());
- trk.release();
-}
-
-void Catalogue::Loader::track_appearance()
-{
- load_sub(cat.appearance);
-}
-
-void Catalogue::Loader::vehicle(const string &n)
-{
- RefPtr<VehicleType> veh = new VehicleType(n);
- load_sub(*veh);
- cat.add(n, veh.get());
- veh.release();
-}
-
} // namespace R2C2