X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fplayer_status.hpp;h=16cb9069bac41e746fcda135865c632994feaf9c;hb=d84d73b701cc7fa2bd74f3490b9be1bf8b6f705a;hp=7b352cf77af815951db09369f49bc8a33ab993f0;hpb=1486ceaaf9dd7a9d2d7e3654550b9a2768df2a56;p=supertux.git diff --git a/src/player_status.hpp b/src/player_status.hpp index 7b352cf77..16cb9069b 100644 --- a/src/player_status.hpp +++ b/src/player_status.hpp @@ -1,7 +1,8 @@ // $Id$ // -// SuperTux - A Jump'n Run +// SuperTux // Copyright (C) 2003 Tobias Glaesser +// Copyright (C) 2006 Matthias Braun // // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU General Public License @@ -25,6 +26,7 @@ #include "timer.hpp" #include "serializable.hpp" #include "sprite/sprite.hpp" +#include "console.hpp" static const float BORDER_X = 10; static const float BORDER_Y = 10; @@ -38,49 +40,36 @@ class DrawingContext; * This class memorizes player status between different game sessions (for * example when switching maps in the worldmap) */ -class PlayerStatus : public Serializable +class PlayerStatus : public Serializable, public ConsoleCommandReceiver { public: PlayerStatus(); ~PlayerStatus(); void reset(); - void incLives(); - void incCoins(); - void set_keys(int new_key); + void add_coins(int count, bool play_sound = true); void write(lisp::Writer& writer); void read(const lisp::Lisp& lisp); void draw(DrawingContext& context); - void draw_keys(DrawingContext& context); + bool consoleCommand(std::string command, std::vector arguments); /**< callback from Console; return false if command was unknown, true otherwise */ + int coins; BonusType bonus; + int max_fire_bullets; /**< maximum number of fire bullets in play */ + int max_ice_bullets; /**< maximum number of ice bullets in play */ int score_multiplier; int max_score_multiplier; void operator= (const PlayerStatus& other); - enum { - KEY_BRASS = 0x001, - KEY_IRON = 0x002, - KEY_BRONZE = 0x004, - KEY_SILVER = 0x008, - KEY_GOLD = 0x010, - }; - private: // don't use this PlayerStatus(const PlayerStatus& other); - int keys; std::auto_ptr tux_life; - std::auto_ptr key_iron; - std::auto_ptr key_brass; - std::auto_ptr key_bronze; - std::auto_ptr key_silver; - std::auto_ptr key_gold; }; // global player state