public:
DrawingContext* context;
- Timer time_left;
GameSession(const std::string& levelfile, GameSessionMode mode,
Statistics* statistics=0);
{ current_ = this; }
static GameSession* current() { return current_; }
- /// ends the level as finished
- void finish();
+ /// ends the current level
+ void finish(bool win = true);
void respawn(const std::string& sectorname,
const std::string& spawnpointname);
void set_reset_point(const std::string& sectorname,
void start_sequence(const std::string& sequencename);
/// called by JoystickKeyboardController after an ascii key has been pressed
void try_cheats();
+
+ /** returns the "working directory" usually this is the directory where the
+ * currently played level resides. This is used when locating additional
+ * resources for the current level/world
+ */
+ std::string get_working_directory();
private:
void restart_level();
void check_end_conditions();
- void start_timers();
void process_events();
void capture_demo_step();