#include "special.h"
#include "badguy.h"
#include "particlesystem.h"
-#include "gameobjs.h"
-#include "display_manager.h"
+#include "screen/drawing_context.h"
+class Camera;
class Level;
class Background;
+class Trampoline;
+class FlyingPlatform;
/** The World class holds a level and all the game objects (badguys,
bouncy distros, etc) that are needed to run a game. */
Level* level;
Player* tux;
- Timer scrolling_timer;
-
int distro_counter;
bool counting_distros;
int currentmusic;
std::vector<Bullet*> bullets;
std::vector<GameObject*> gameobjects;
- DisplayManager displaymanager;
+ Camera* camera;
+ DrawingContext context;
public:
- static World* current() { return current_; }
- static void set_current(World* w) { current_ = w; }
+ static World* current()
+ { return current_; }
+ static void set_current(World* w)
+ { current_ = w; }
- World(const std::string& filename);
- World(const std::string& subset, int level_nr);
- //World() {};
+ World(const std::string& filename, int level_nr = -1);
~World();
- Level* get_level() { return level; }
- Player* get_tux() { return tux; }
+ Level* get_level()
+ { return level; }
+ Player* get_tux()
+ { return tux; }
void add_object(GameObject* object);
void draw();
void action(float elapsed_time);
- void scrolling(float elapsed_time); // camera scrolling
void play_music(int musictype);
int get_music_type();