X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgame_session.hpp;h=edae3a632660dfbe64f860fb940a57bb68255b04;hb=c75799590ba936c673bea467b65518c3c2c2e284;hp=4e76139bdbe69d643275887f46df590ac5be2a43;hpb=a983f6648d43492632c41e2b7519b70458b53cf4;p=supertux.git diff --git a/src/game_session.hpp b/src/game_session.hpp index 4e76139bd..edae3a632 100644 --- a/src/game_session.hpp +++ b/src/game_session.hpp @@ -21,11 +21,9 @@ #include #include +#include #include "screen.hpp" -#include "timer.hpp" -#include "statistics.hpp" #include "math/vector.hpp" -#include "console.hpp" #include "video/surface.hpp" #include "object/endsequence.hpp" @@ -37,8 +35,7 @@ class CodeController; class Menu; /** - * The GameSession class controlls the controll flow of the Game (the part - * where you actually play a level) + * Screen that runs a Level, where Players run and jump through Sectors. */ class GameSession : public Screen { @@ -69,8 +66,6 @@ public: Vector get_reset_point_pos() { return reset_pos; } - void display_info_box(const std::string& text); - Sector* get_current_sector() { return currentsector; } @@ -85,10 +80,20 @@ public: * resources for the current level/world */ std::string get_working_directory(); - void restart_level(bool fromBeginning = true); + void restart_level(); void toggle_pause(); + /** + * Enters or leaves level editor mode + */ + void set_editmode(bool edit_mode = true); + + /** + * Forces all Players to enter ghost mode + */ + void force_ghost_mode(); + private: void check_end_conditions(); void process_events(); @@ -116,7 +121,8 @@ private: EndSequence* end_sequence; - bool game_pause; + bool game_pause; + float speed_before_pause; std::string levelfile; @@ -140,6 +146,8 @@ private: std::auto_ptr game_menu; float play_time; /**< total time in seconds that this session ran interactively */ + + bool edit_mode; /**< true if GameSession runs in level editor mode */ }; #endif /*SUPERTUX_GAMELOOP_H*/