#ifndef LIBR2C2_LAYOUT_H_
#define LIBR2C2_LAYOUT_H_
+#include <deque>
#include <set>
#include <sigc++/sigc++.h>
#include <msp/datafile/objectloader.h>
+#include <msp/time/timedelta.h>
#include <msp/time/timestamp.h>
#include "geometry.h"
#include "sensor.h"
void beamgate();
void clock();
void route();
- void signal(ArticleNumber);
- void terrain(ArticleNumber);
- void track(ArticleNumber);
- void train(ArticleNumber, unsigned, const std::string &);
- void turnout(unsigned, unsigned);
+ void signal(const std::string &);
+ void terrain(const std::string &);
+ void track(const std::string &);
+ void train(const std::string &, unsigned, const std::string &);
+ void turnout(unsigned);
+ void turnout2(unsigned, unsigned);
void zone();
};
const std::map<unsigned, Train *> &get_trains() const { return trains; }
void remove_train(Train &);
- void tick();
+ void tick(float = 1.0f);
+private:
+ void step(const Msp::Time::TimeDelta &);
+public:
void emergency(Block *, const std::string &);
void save(const std::string &) const;