X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Flevel.h;h=7eb024807d9c398512b45dac55468c36cb222b53;hb=4d3bd02fc76e7c0b138256af7fb2f18c56952998;hp=6f29434bcc8caf8fdcfa14205d095bbb14ddb9ad;hpb=edaacb3651cf0560314dd008d7243be4b3b2f8c6;p=supertux.git diff --git a/src/level.h b/src/level.h index 6f29434bc..7eb024807 100644 --- a/src/level.h +++ b/src/level.h @@ -28,41 +28,56 @@ using namespace SuperTux; class Sector; -namespace SuperTux { -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; } const std::string& get_author() const { return author; } - /** 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); + void load_old_format(const lisp::Lisp& reader); }; #endif /*SUPERTUX_LEVEL_H*/