[prev in list] [next in list] [prev in thread] [next in thread]
List: atlantik-devel
Subject: [atlantik-cvs] CVS: kdegames/atlantik/libatlantic game.cpp, NONE,
From: kde () office ! kde ! org
Date: 2003-11-15 22:09:09
[Download RAW message or body]
Update of /home/kde/kdegames/atlantik/libatlantic
In directory office:/tmp/cvs-serv27006/libatlantic
Modified Files:
Tag: atlantik_3_3_branch
Makefile.am atlantic_core.cpp atlantic_core.h
Added Files:
Tag: atlantik_3_3_branch
game.cpp game.h
Log Message:
deprecate updategamelist for gameupdate
--- NEW FILE: game.cpp ---
// Copyright (c) 2003 Rob Kaper <cap@capsi.com>
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License version 2.1 as published by the Free Software Foundation.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this library; see the file COPYING.LIB. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#include <qstring.h>
#include "game.h"
Game::Game(int gameId) : QObject()
{
m_id = gameId;
m_description = QString::null;
m_type = QString::null;
m_players = 0;
m_changed = false;
}
int Game::id() const
{
return m_id;
}
void Game::setCanBeJoined(const bool &canBeJoined)
{
if (m_canBeJoined != canBeJoined)
{
m_canBeJoined = canBeJoined;
m_changed = true;
}
}
bool Game::canBeJoined() const
{
return m_canBeJoined;
}
void Game::setDescription(const QString &description)
{
if (m_description != description)
{
m_description = description;
m_changed = true;
}
}
QString Game::description() const
{
return m_description;
}
void Game::setName(const QString &name)
{
if (m_name != name)
{
m_name = name;
m_changed = true;
}
}
QString Game::name() const
{
return m_name;
}
void Game::setType(const QString &type)
{
if (m_type != type)
{
m_type = type;
m_changed = true;
}
}
QString Game::type() const
{
return m_type;
}
void Game::update(bool force)
{
if (m_changed || force)
{
emit changed(this);
m_changed = false;
}
}
int Game::players()
{
return m_players;
}
void Game::setPlayers(int players)
{
if (m_players != players)
{
m_players = players;
m_changed = true;
}
}
#include "game.moc"
--- NEW FILE: game.h ---
// Copyright (c) 2003 Rob Kaper <cap@capsi.com>
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License version 2.1 as published by the Free Software Foundation.
//
// This library 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
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with this library; see the file COPYING.LIB. If not, write to
// the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
// Boston, MA 02111-1307, USA.
#ifndef LIBATLANTIC_GAME_H
#define LIBATLANTIC_GAME_H
#include <qobject.h>
class QString;
class Game : public QObject
{
Q_OBJECT
public:
Game(int gameId);
int id() const;
void setCanBeJoined(const bool &canBeJoined);
bool canBeJoined() const;
void setDescription(const QString &description);
QString description() const;
void setName(const QString &name);
QString name() const;
void setType(const QString &type);
QString type() const;
int players();
void setPlayers(int players);
void update(bool force = false);
signals:
void changed(Game *game);
private:
bool m_changed;
bool m_canBeJoined;
QString m_description, m_name, m_type;
int m_id, m_players;
};
#endif
Index: Makefile.am
===================================================================
RCS file: /home/kde/kdegames/atlantik/libatlantic/Makefile.am,v
retrieving revision 1.11
retrieving revision 1.11.2.1
diff -u -d -r1.11 -r1.11.2.1
--- Makefile.am 31 Dec 2002 11:50:10 -0000 1.11
+++ Makefile.am 15 Nov 2003 22:09:06 -0000 1.11.2.1
@@ -6,11 +6,10 @@
libatlantic_la_LIBADD = $(LIB_QT)
libatlantic_la_SOURCES = atlantic_core.cpp auction.cpp estate.cpp \
- estategroup.cpp player.cpp trade.cpp
+ estategroup.cpp game.cpp player.cpp trade.cpp
libatlanticincludedir = $(includedir)/atlantic
libatlanticinclude_HEADERS = atlantic_core.h auction.h estate.h \
- estategroup.h player.h trade.h
+ estategroup.h game.h player.h trade.h
-METASOURCES = AUTO
-
+METASOURCES = AUTO
Index: atlantic_core.cpp
===================================================================
RCS file: /home/kde/kdegames/atlantik/libatlantic/atlantic_core.cpp,v
retrieving revision 1.27
retrieving revision 1.27.2.1
diff -u -d -r1.27 -r1.27.2.1
--- atlantic_core.cpp 5 Nov 2003 23:40:24 -0000 1.27
+++ atlantic_core.cpp 15 Nov 2003 22:09:06 -0000 1.27.2.1
@@ -16,20 +16,21 @@
#include <iostream>
-#include "atlantic_core.moc"
+#include "atlantic_core.h"
-#include "player.h"
+#include "auction.h"
#include "estate.h"
#include "estategroup.h"
+#include "game.h"
+#include "player.h"
#include "trade.h"
-#include "auction.h"
AtlanticCore::AtlanticCore(QObject *parent, const char *name) : QObject(parent, \
name) {
m_playerSelf = 0;
}
-void AtlanticCore::reset(bool deletePlayers)
+void AtlanticCore::reset(bool deletePermanents)
{
m_auctions.setAutoDelete(true);
m_auctions.clear();
@@ -52,7 +53,7 @@
Player *player = 0;
for (QPtrListIterator<Player> it(m_players); (player = *it) ; ++it)
{
- if (deletePlayers)
+ if (deletePermanents)
{
emit removeGUI(player);
player->deleteLater();
@@ -63,10 +64,18 @@
player->setDestination(0);
}
}
- if (deletePlayers)
+ if (deletePermanents)
{
m_players.clear();
m_playerSelf = 0;
+
+ Game *game = 0;
+ for (QPtrListIterator<Game> it(m_games); (game = *it) ; ++it)
+ {
+ emit removeGUI(game);
+ game->deleteLater();
+ }
+ m_games.clear();
}
}
@@ -85,10 +94,19 @@
return m_players;
}
-Player *AtlanticCore::newPlayer(int playerId)
+Player *AtlanticCore::newPlayer(int playerId, const bool &playerSelf)
{
Player *player = new Player(playerId);
m_players.append(player);
+
+ if (playerSelf)
+ {
+ player->setIsSelf(playerSelf);
+ m_playerSelf = player;
+ }
+
+ emit createGUI(player);
+
return player;
}
@@ -109,6 +127,47 @@
player->deleteLater();
}
+QPtrList<Game> AtlanticCore::games()
+{
+ return m_games;
+}
+
+Game *AtlanticCore::newGame(int gameId, const QString &type)
+{
+ Game *game = new Game(gameId);
+ m_games.append(game);
+
+ if ( !type.isNull() )
+ game->setType(type);
+
+ emit createGUI(game);
+
+ return game;
+}
+
+Game *AtlanticCore::findGame(int gameId, const QString &type)
+{
+ Game *game = 0;
+ for (QPtrListIterator<Game> it(m_games); (game = *it) ; ++it)
+ if (game->id() == gameId && (type.isNull() || type == game->type()) )
+ return game;
+
+ return 0;
+}
+
+void AtlanticCore::removeGame(Game *game)
+{
+ m_games.remove(game);
+ emit removeGUI(game);
+ game->deleteLater();
+}
+
+void AtlanticCore::emitGames()
+{
+ for (QPtrListIterator<Game> it(m_games); (*it) ; ++it)
+ emit createGUI( (*it) );
+}
+
QPtrList<Estate> AtlanticCore::estates()
{
return m_estates;
@@ -178,6 +237,9 @@
{
Trade *trade = new Trade(tradeId);
m_trades.append(trade);
+
+ emit createGUI(trade);
+
return trade;
}
@@ -225,6 +287,10 @@
else
std::cout << " P: " << player->name().latin1() << ", game " << \
QString::number(player->gameId()).latin1() << std::endl;
+ Game *game = 0;
+ for (QPtrListIterator<Game> it(m_games); (game = *it) ; ++it)
+ std::cout << " G: " << QString::number(game->id()).latin1() << std::endl;
+
Estate *estate = 0;
for (QPtrListIterator<Estate> it(m_estates); (estate = *it) ; ++it)
std::cout << " E: " << estate->name().latin1() << std::endl;
@@ -240,5 +306,6 @@
Trade *trade = 0;
for (QPtrListIterator<Trade> it(m_trades); (trade = *it) ; ++it)
std::cout << "T: " << QString::number(trade->tradeId()).latin1() << std::endl;
-
}
+
+#include "atlantic_core.moc"
Index: atlantic_core.h
===================================================================
RCS file: /home/kde/kdegames/atlantik/libatlantic/atlantic_core.h,v
retrieving revision 1.22
retrieving revision 1.22.2.1
diff -u -d -r1.22 -r1.22.2.1
--- atlantic_core.h 14 Jul 2003 08:03:07 -0000 1.22
+++ atlantic_core.h 15 Nov 2003 22:09:06 -0000 1.22.2.1
@@ -23,6 +23,7 @@
class Player;
class Estate;
class EstateGroup;
+class Game;
class Trade;
class Auction;
@@ -39,10 +40,16 @@
Player *playerSelf();
QPtrList<Player> players();
- Player *newPlayer(int playerId);
+ Player *newPlayer(int playerId, const bool &playerSelf = false);
Player *findPlayer(int playerId);
void removePlayer(Player *player);
+ QPtrList<Game> games();
+ Game *newGame(int gameId, const QString &type = QString::null);
+ Game *findGame(int gameId, const QString &type = QString::null);
+ void removeGame(Game *game);
+ void emitGames();
+
QPtrList<Estate> estates();
Estate *newEstate(int estateId);
Estate *findEstate(int estateId);
@@ -64,14 +71,17 @@
void printDebug();
signals:
+ void createGUI(Player *player);
void removeGUI(Player *player);
- void deletePlayer(Player *player);
+ void createGUI(Game *game);
+ void removeGUI(Game *game);
+ void createGUI(Trade *trade);
void removeGUI(Trade *trade);
- void deleteTrade(Trade *trade);
private:
Player *m_playerSelf;
QPtrList<Player> m_players;
+ QPtrList<Game> m_games;
QPtrList<Estate> m_estates;
QPtrList<EstateGroup> m_estateGroups;
QPtrList<Trade> m_trades;
_______________________________________________
atlantik-cvs mailing list
atlantik-cvs@kde.org
https://mail.kde.org/mailman/listinfo/atlantik-cvs
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic