TankTeamScore.cpp

Go to the documentation of this file.
00001 ////////////////////////////////////////////////////////////////////////////////
00002 //    Scorched3D (c) 2000-2009
00003 //
00004 //    This file is part of Scorched3D.
00005 //
00006 //    Scorched3D is free software; you can redistribute it and/or modify
00007 //    it under the terms of the GNU General Public License as published by
00008 //    the Free Software Foundation; either version 2 of the License, or
00009 //    (at your option) any later version.
00010 //
00011 //    Scorched3D is distributed in the hope that it will be useful,
00012 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 //    GNU General Public License for more details.
00015 //
00016 //    You should have received a copy of the GNU General Public License
00017 //    along with Scorched3D; if not, write to the Free Software
00018 //    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 ////////////////////////////////////////////////////////////////////////////////
00020 
00021 #include <tank/TankTeamScore.h>
00022 #include <common/Defines.h>
00023 
00024 TankTeamScore::TankTeamScore() :
00025         wonGame_(0)
00026 {
00027         newMatch();
00028 }
00029 
00030 TankTeamScore::~TankTeamScore()
00031 {
00032 }
00033 
00034 void TankTeamScore::newMatch()
00035 {
00036         for (int i=1; i<5; i++)
00037         {
00038                 scores_[i] = 0;
00039         }
00040         newGame();
00041 }
00042 
00043 void TankTeamScore::newGame()
00044 {
00045         wonGame_ = 0;
00046 }
00047 
00048 void TankTeamScore::addScore(int score, int team)
00049 {
00050         DIALOG_ASSERT(team > 0 && team < 5);
00051         scores_[team] += score;
00052         if (scores_[team] < 0) scores_[team] = 0;
00053 }
00054 
00055 int TankTeamScore::getScore(int team)
00056 {
00057         DIALOG_ASSERT(team > 0 && team < 5);
00058         return scores_[team];
00059 }
00060 
00061 void TankTeamScore::setWonGame(int team)
00062 {
00063         DIALOG_ASSERT(team > 0 && team < 5);
00064         wonGame_ = team;
00065 }
00066 
00067 int TankTeamScore::getWonGame()
00068 {
00069         return wonGame_;
00070 }
00071 
00072 bool TankTeamScore::writeMessage(NetBuffer &buffer)
00073 {
00074         for (int i=1; i<5; i++)
00075         {
00076                 buffer.addToBuffer(scores_[i]);
00077         }
00078         return true;
00079 }
00080 
00081 bool TankTeamScore::readMessage(NetBufferReader &reader)
00082 {
00083         for (int i=1; i<5; i++)
00084         {
00085                 if (!reader.getFromBuffer(scores_[i])) return false;
00086         }
00087         return true;
00088 }

Generated on Mon Feb 16 15:14:52 2009 for Scorched3D by  doxygen 1.5.3