X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel.h;h=d627d82458beacccc14cef22e0268a8d5e9cd754;hb=5a542dea3c6043703683b68fcaa774f6cb0d9127;hp=7e4c3354c5812fd72caf65e3a2c121307ede10fb;hpb=055fb8d0e2d75acff6185f5a4f5c75e0782503c5;p=supertux.git diff --git a/src/level.h b/src/level.h index 7e4c3354c..d627d8245 100644 --- a/src/level.h +++ b/src/level.h @@ -24,24 +24,40 @@ #include #include +using namespace SuperTux; + class Sector; + +namespace SuperTux { class LispReader; +} class Level { public: + enum EndSequenceType{ + NONE_ENDSEQ_ANIM, + FIREWORKS_ENDSEQ_ANIM + }; + std::string name; std::string author; - int time_left; + int timelimit; typedef std::map Sectors; Sectors sectors; + EndSequenceType end_sequence_type; public: Level(); ~Level(); + // loads a levelfile void load(const std::string& filename); void save(const std::string& filename); + static void create(const std::string& filename); + + EndSequenceType get_end_sequence_type() const + { return end_sequence_type; } const std::string& get_name() const { return name; } @@ -49,19 +65,23 @@ public: const std::string& get_author() const { return author; } - bool is_level_flipped() - { return vertical_flip; } + /** Flips the level vertically */ + void do_vertical_flip(); void add_sector(Sector* sector); Sector* get_sector(const std::string& name); + Sector* get_next_sector(const Sector* sector); + Sector* get_previous_sector(const Sector* sector); + + int get_total_sectors(); + + int get_total_badguys(); + int get_total_coins(); + private: void load_old_format(LispReader& reader); - - /** If true, it will flip the level vertically, during the - parsing process */ - bool vertical_flip; }; #endif /*SUPERTUX_LEVEL_H*/