#define SUPERTUX_STATISTICS_H
#include <squirrel.h>
+#include "video/color.hpp"
namespace lisp { class Writer; }
namespace lisp { class Lisp; }
* number of jumps and stuff */
class Statistics
{
+ static Color header_color;
+ static Color text_color;
public:
int coins; /**< coins collected */
int total_coins; /**< coins in level */
void unserialize_from_squirrel(HSQUIRRELVM vm);
void draw_worldmap_info(DrawingContext& context); /**< draw worldmap stat HUD */
- void draw_message_info(DrawingContext& context, std::string title); /**< draw stats at level start */
void draw_endseq_panel(DrawingContext& context, Statistics* best_stats, Surface* backdrop); /**< draw panel shown during level's end sequence */
void zero(); /**< Set stats to zero */
void reset(); /**< Set stats (but not totals) to zero */
- void merge(Statistics& stats); /**< Given another Statistics object finds the best of each one */
+ void merge(const Statistics& stats); /**< Given another Statistics object finds the best of each one */
void operator+=(const Statistics& o); /**< Add two Statistics objects */
void declare_invalid(); /**< marks statistics as invalid for their entire lifetime (e.g. after cheating). Invalid statistics will not be merged or drawn. */
+
+ static std::string coins_to_string(int coins, int total_coins);
+ static std::string frags_to_string(int badguys, int total_badguys);
+ static std::string time_to_string(float time);
+ static std::string secrets_to_string(int secrets, int total_secrets);
private:
bool valid; /**< stores whether these statistics can be trusted */
- std::string coins_to_string(int coins, int total_coins) const;
- std::string frags_to_string(int badguys, int total_badguys) const;
- std::string time_to_string(float time) const;
- std::string secrets_to_string(int secrets, int total_secrets) const;
};
#endif /*SUPERTUX_STATISTICS_H*/