//	HighScore.h - Simple class to handle the game's high scores.
//  ----------------------------------------------------------------------------
//	This file is part of 'GameTemplate', template code for a game.
//	Copyright (C) 2012  Niall Moody
//	
//	This program is free software: you can redistribute it and/or modify
//	it under the terms of the GNU General Public License as published by
//	the Free Software Foundation, either version 3 of the License, or
//	(at your option) any later version.
//
//	This program is distributed in the hope that it will be useful,
//	but WITHOUT ANY WARRANTY; without even the implied warranty of
//	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
//	GNU General Public License for more details.
//
//	You should have received a copy of the GNU General Public License
//	along with this program.  If not, see <http://www.gnu.org/licenses/>.
//	----------------------------------------------------------------------------

#ifndef HIGHSCORE_H_
#define HIGHSCORE_H_

///	Simple class to handle the game's high scores.
class HighScore
{
  public:
	///	Constructor.
	/*!
		Loads the high scores from the high scores file.
	 */
	HighScore();
	///	Destructor.
	/*!
		Saves the high scores to the high scores file.
	 */
	~HighScore();

	///	Updates the Challenge scores.
	/*!
		If the passed-in score is greater than the stored high score, it will
		become the high score. Otherwise it will just replace the last score.
	 */
	void setChallengeScore(int val);
	///	Updates the Time Attack scores.
	/*!
		\sa setChallengeScore
	 */
	void setTimeAttackScore(int val);

	///	Returns the challenge high score.
	int getChallengeHighScore() const {return challengeHighScore;};
	///	Returns the challenge last score.
	int getChallengeLastScore() const {return challengeLastScore;};
	///	Returns the time attack high score.
	int getTimeAttackHighScore() const {return timeAttackHighScore;};
	///	Returns the time attack last score.
	int getTimeAttackLastScore() const {return timeAttackLastScore;};
  private:
	///	The challenge high score.
	int challengeHighScore;
	///	The challenge last score.
	int challengeLastScore;
	///	The time attack high score.
	int timeAttackHighScore;
	///	The time attack last score.
	int timeAttackLastScore;
};

#endif
