summaryrefslogtreecommitdiffstats
path: root/pacman-c++/server.cpp
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2011-04-19 23:03:50 +0200
committermanuel <manuel@mausz.at>2011-04-19 23:03:50 +0200
commit58ba349f19f98fe3af5332188f5d3dfe4d076807 (patch)
tree6425c4c8e0bc033906c944b985655625ebd9e19d /pacman-c++/server.cpp
parent9e9bc7cd492bf6f897bc26818674a3919431fb99 (diff)
downloadfoop-58ba349f19f98fe3af5332188f5d3dfe4d076807.tar.gz
foop-58ba349f19f98fe3af5332188f5d3dfe4d076807.tar.bz2
foop-58ba349f19f98fe3af5332188f5d3dfe4d076807.zip
nicer method of ending rounds
Diffstat (limited to 'pacman-c++/server.cpp')
-rw-r--r--pacman-c++/server.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/pacman-c++/server.cpp b/pacman-c++/server.cpp
index f2c0f1c..72ee995 100644
--- a/pacman-c++/server.cpp
+++ b/pacman-c++/server.cpp
@@ -31,7 +31,7 @@ bool Server::run()
31 if (!waitForClientConnections()) 31 if (!waitForClientConnections())
32 return false; 32 return false;
33 33
34 initRoundMap(true); 34 initRoundMap();
35 35
36 m_tickTimer = new QTimer(this); 36 m_tickTimer = new QTimer(this);
37 connect(m_tickTimer, SIGNAL(timeout()), this, SLOT(tick())); 37 connect(m_tickTimer, SIGNAL(timeout()), this, SLOT(tick()));
@@ -484,6 +484,7 @@ void Server::keyPressUpdate()
484 484
485void Server::onRoundFinished() 485void Server::onRoundFinished()
486{ 486{
487 // TODO: call this when a pacman get's eaten
487 foreach(Actor *actor, m_actors) 488 foreach(Actor *actor, m_actors)
488 actor->finishRound(); 489 actor->finishRound();
489 490
@@ -495,8 +496,10 @@ void Server::onRoundFinished()
495 m_tickTimer->stop(); 496 m_tickTimer->stop();
496} 497}
497 498
498void Server::initRoundMap(bool firstPacket) 499void Server::initRoundMap()
499{ 500{
501 /* delete actors first */
502 removeActors();
500 503
501 /* create new map */ 504 /* create new map */
502 Transmission::map_t map = Util::createDemoMap(); 505 Transmission::map_t map = Util::createDemoMap();
@@ -516,12 +519,11 @@ void Server::initRoundMap(bool firstPacket)
516 } 519 }
517 520
518 updateMap(map); 521 updateMap(map);
519 sendUpdate(map, firstPacket); 522 sendUpdate(map, true);
520 Util::deleteMap(map); 523 Util::deleteMap(map);
521 map = NULL; 524 map = NULL;
522 525
523 if (firstPacket) 526 connect(this, SIGNAL(allPointsRemoved()), this, SLOT(onRoundFinished()), Qt::UniqueConnection);
524 connect(this, SIGNAL(allPointsRemoved()), this, SLOT(onRoundFinished()));
525} 527}
526 528
527bool Server::parseCommandline() 529bool Server::parseCommandline()