#include <memory>
#include <vector>
+#include "scripting/thread_queue.hpp"
class Screen;
class Console;
public:
MainLoop();
~MainLoop();
-
+
void run();
void exit_screen(ScreenFade* fade = NULL);
void quit(ScreenFade* fade = NULL);
void push_screen(Screen* screen, ScreenFade* fade = NULL);
void set_screen_fade(ScreenFade* fade);
+ /// threads that wait for a screenswitch
+ Scripting::ThreadQueue waiting_threads;
+
private:
void draw_fps(DrawingContext& context, float fps);
-
+
bool running;
float speed;
bool nextpop;
+ bool nextpush;
std::auto_ptr<Screen> next_screen;
std::auto_ptr<Screen> current_screen;
std::auto_ptr<Console> console;
extern MainLoop* main_loop;
#endif
-