X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel.h;h=7eb024807d9c398512b45dac55468c36cb222b53;hb=8e02ba38e2a98f9ea7f092e333f8085520e6c22a;hp=c955c5f2c118df43dd60980dc2749694e5db374c;hpb=7dd997b1207127e88f42915ec8bc1aa8e7599ad1;p=supertux.git diff --git a/src/level.h b/src/level.h index c955c5f2c..7eb024807 100644 --- a/src/level.h +++ b/src/level.h @@ -24,25 +24,40 @@ #include #include +using namespace SuperTux; + class Sector; -class LispReader; + +namespace lisp { +class Lisp; +} 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); + EndSequenceType get_end_sequence_type() const + { return end_sequence_type; } + const std::string& get_name() const { return name; } @@ -53,8 +68,16 @@ public: 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); + void load_old_format(const lisp::Lisp& reader); }; #endif /*SUPERTUX_LEVEL_H*/