Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
Donald Haase
Cockatrice
Commits
f9446f98
Commit
f9446f98
authored
Sep 18, 2010
by
Max-Wilhelm Bruker
Browse files
generalized user information
parent
adaa1d53
Changes
59
Hide whitespace changes
Inline
Side-by-side
cockatrice/resources/countries/mx.svg
0 → 100644
View file @
f9446f98
This source diff could not be displayed because it is too large. You can
view the blob
instead.
cockatrice/resources/countries/nl.svg
0 → 100644
View file @
f9446f98
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"900"
height=
"600"
viewBox=
"0 0 9 6"
>
<rect
fill=
"#21468B"
width=
"9"
height=
"6"
/>
<rect
fill=
"#FFF"
width=
"9"
height=
"4"
/>
<rect
fill=
"#AE1C28"
width=
"9"
height=
"2"
/>
</svg>
\ No newline at end of file
cockatrice/resources/countries/pl.svg
0 → 100644
View file @
f9446f98
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg
width=
"1280"
height=
"800"
id=
"Flag_of_Poland"
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 16 10"
>
<rect
width=
"16"
height=
"5"
fill=
"#fff"
/>
<rect
width=
"16"
height=
"5"
fill=
"#dc143c"
y=
"5"
/>
</svg>
cockatrice/resources/countries/ru.svg
0 → 100644
View file @
f9446f98
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 9 6"
width=
"1800"
height=
"1200"
><rect
fill=
"#fff"
width=
"9"
height=
"3"
/><rect
fill=
"#f00"
y=
"3"
width=
"9"
height=
"3"
/><rect
fill=
"#00f"
y=
"2"
width=
"9"
height=
"2"
/></svg>
\ No newline at end of file
cockatrice/resources/countries/se.svg
0 → 100644
View file @
f9446f98
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"1600"
height=
"1000"
viewBox=
"0 0 16 10"
>
<rect
width=
"16"
height=
"10"
fill=
"#005293"
/>
<rect
width=
"2"
height=
"10"
x=
"5"
fill=
"#FECB00"
/>
<rect
width=
"16"
height=
"2"
y=
"4"
fill=
"#FECB00"
/>
</svg>
cockatrice/resources/countries/tr.svg
0 → 100644
View file @
f9446f98
<svg
xmlns=
"http://www.w3.org/2000/svg"
width=
"1200"
height=
"800"
viewBox=
"0 0 360 240"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<rect
fill=
"#e30a17"
width=
"360"
height=
"240"
/>
<rect
fill=
"#fff"
width=
"8"
height=
"240"
/>
<circle
fill=
"#fff"
cx=
"128"
cy=
"120"
r=
"60"
/>
<circle
fill=
"#e30a17"
cx=
"143"
cy=
"120"
r=
"48"
/>
<g
fill=
"#fff"
transform=
"translate(205,120) scale(30) rotate(-90)"
>
<g
id=
"g2"
>
<polygon
id=
"g1"
points=
"0,0 0,1 .5,1"
transform=
"translate(0,-1) rotate(18)"
/>
<use
xlink:href=
"#g1"
transform=
"scale(-1,1)"
/>
</g>
<use
xlink:href=
"#g2"
transform=
"rotate(72)"
/>
<use
xlink:href=
"#g2"
transform=
"rotate(-72)"
/>
<use
xlink:href=
"#g2"
transform=
"rotate(144)"
/>
<use
xlink:href=
"#g2"
transform=
"rotate(-144)"
/>
</g>
</svg>
cockatrice/resources/countries/uk.svg
0 → 100644
View file @
f9446f98
<svg
xmlns=
"http://www.w3.org/2000/svg"
viewBox=
"0 0 60 30"
width=
"1200"
height=
"600"
>
<clipPath
id=
"t"
>
<path
d=
"M30,15 h30 v15 z v15 h-30 z h-30 v-15 z v-15 h30 z"
/>
</clipPath>
<path
d=
"M0,0 v30 h60 v-30 z"
fill=
"#00247d"
/>
<path
d=
"M0,0 L60,30 M60,0 L0,30"
stroke=
"#fff"
stroke-width=
"6"
/>
<path
d=
"M0,0 L60,30 M60,0 L0,30"
clip-path=
"url(#t)"
stroke=
"#cf142b"
stroke-width=
"4"
/>
<path
d=
"M30,0 v30 M0,15 h60"
stroke=
"#fff"
stroke-width=
"10"
/>
<path
d=
"M30,0 v30 M0,15 h60"
stroke=
"#cf142b"
stroke-width=
"6"
/>
</svg>
cockatrice/resources/countries/us.svg
0 → 100644
View file @
f9446f98
<?xml version="1.0" encoding="UTF-8"?>
<svg
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
width=
"1235"
height=
"650"
>
<defs>
<polygon
id=
"pt"
points=
"-0.1624598481164531,0 0,-0.5 0.1624598481164531,0"
transform=
"scale(0.0616)"
fill=
"#FFF"
/>
<g
id=
"star"
><use
xlink:href=
"#pt"
transform=
"rotate(-144)"
/><use
xlink:href=
"#pt"
transform=
"rotate(-72)"
/><use
xlink:href=
"#pt"
/><use
xlink:href=
"#pt"
transform=
"rotate(72)"
/><use
xlink:href=
"#pt"
transform=
"rotate(144)"
/></g>
<g
id=
"s5"
><use
xlink:href=
"#star"
x=
"-0.252"
/><use
xlink:href=
"#star"
x=
"-0.126"
/><use
xlink:href=
"#star"
/><use
xlink:href=
"#star"
x=
"0.126"
/><use
xlink:href=
"#star"
x=
"0.252"
/></g>
<g
id=
"s6"
><use
xlink:href=
"#s5"
x=
"-0.063"
/><use
xlink:href=
"#star"
x=
"0.315"
/></g>
<g
id=
"x4"
><use
xlink:href=
"#s6"
/><use
xlink:href=
"#s5"
y=
"0.054"
/><use
xlink:href=
"#s6"
y=
"0.108"
/><use
xlink:href=
"#s5"
y=
"0.162"
/></g>
<g
id=
"u"
><use
xlink:href=
"#x4"
y=
"-0.216"
/><use
xlink:href=
"#x4"
/><use
xlink:href=
"#s6"
y=
"0.216"
/></g>
<rect
id=
"stripe"
width=
"1235"
height=
"50"
fill=
"#B22234"
/>
</defs>
<rect
width=
"1235"
height=
"650"
fill=
"#FFF"
/><use
xlink:href=
"#stripe"
/><use
xlink:href=
"#stripe"
y=
"100"
/><use
xlink:href=
"#stripe"
y=
"200"
/><use
xlink:href=
"#stripe"
y=
"300"
/><use
xlink:href=
"#stripe"
y=
"400"
/><use
xlink:href=
"#stripe"
y=
"500"
/><use
xlink:href=
"#stripe"
y=
"600"
/><rect
width=
"494"
height=
"350"
fill=
"#3C3B6E"
/><use
xlink:href=
"#u"
transform=
"translate(247,175) scale(650)"
/></svg>
\ No newline at end of file
cockatrice/src/gamesmodel.cpp
View file @
f9446f98
...
...
@@ -26,7 +26,7 @@ QVariant GamesModel::data(const QModelIndex &index, int role) const
ServerInfo_Game
*
g
=
gameList
[
index
.
row
()];
switch
(
index
.
column
())
{
case
0
:
return
g
->
getDescription
();
case
1
:
return
g
->
getCreatorName
();
case
1
:
return
g
->
getCreator
Info
()
->
get
Name
();
case
2
:
return
g
->
getHasPassword
()
?
(
g
->
getSpectatorsNeedPassword
()
?
tr
(
"yes"
)
:
tr
(
"yes, free for spectators"
))
:
tr
(
"no"
);
case
3
:
return
QString
(
"%1/%2"
).
arg
(
g
->
getPlayerCount
()).
arg
(
g
->
getMaxPlayers
());
case
4
:
return
g
->
getSpectatorsAllowed
()
?
QVariant
(
g
->
getSpectatorCount
())
:
QVariant
(
tr
(
"not allowed"
));
...
...
@@ -56,7 +56,7 @@ ServerInfo_Game *GamesModel::getGame(int row)
void
GamesModel
::
updateGameList
(
ServerInfo_Game
*
_game
)
{
ServerInfo_Game
*
game
=
new
ServerInfo_Game
(
_game
->
getGameId
(),
_game
->
getDescription
(),
_game
->
getHasPassword
(),
_game
->
getPlayerCount
(),
_game
->
getMaxPlayers
(),
_game
->
getCreator
Name
(
),
_game
->
getSpectatorsAllowed
(),
_game
->
getSpectatorsNeedPassword
(),
_game
->
getSpectatorCount
());
ServerInfo_Game
*
game
=
new
ServerInfo_Game
(
_game
->
getGameId
(),
_game
->
getDescription
(),
_game
->
getHasPassword
(),
_game
->
getPlayerCount
(),
_game
->
getMaxPlayers
(),
new
ServerInfo_User
(
_game
->
getCreator
Info
()
),
_game
->
getSpectatorsAllowed
(),
_game
->
getSpectatorsNeedPassword
(),
_game
->
getSpectatorCount
());
for
(
int
i
=
0
;
i
<
gameList
.
size
();
i
++
)
if
(
gameList
[
i
]
->
getGameId
()
==
game
->
getGameId
())
{
if
(
game
->
getPlayerCount
()
==
0
)
{
...
...
cockatrice/src/localserver.cpp
View file @
f9446f98
...
...
@@ -16,3 +16,8 @@ LocalServerInterface *LocalServer::newConnection()
addClient
(
lsi
);
return
lsi
;
}
ServerInfo_User
*
LocalServer
::
getUserData
(
const
QString
&
name
)
{
return
new
ServerInfo_User
(
name
);
}
\ No newline at end of file
cockatrice/src/localserver.h
View file @
f9446f98
...
...
@@ -18,6 +18,8 @@ public:
int
getMaxPlayerInactivityTime
()
const
{
return
9999999
;
}
LocalServerInterface
*
newConnection
();
protected:
ServerInfo_User
*
getUserData
(
const
QString
&
name
);
};
#endif
\ No newline at end of file
cockatrice/src/main.cpp
View file @
f9446f98
...
...
@@ -34,14 +34,12 @@
#include
"dlg_settings.h"
#include
"carddatabase.h"
#include
"settingscache.h"
#include
"pingpixmapgenerator.h"
//Q_IMPORT_PLUGIN(qjpeg)
CardDatabase
*
db
;
QTranslator
*
translator
,
*
qtTranslator
;
SettingsCache
*
settingsCache
;
PingPixmapGenerator
*
pingPixmapGenerator
;
void
myMessageOutput
(
QtMsgType
/*type*/
,
const
char
*
msg
)
{
...
...
@@ -87,7 +85,6 @@ int main(int argc, char *argv[])
settingsCache
=
new
SettingsCache
;
db
=
new
CardDatabase
;
pingPixmapGenerator
=
new
PingPixmapGenerator
;
qtTranslator
=
new
QTranslator
;
translator
=
new
QTranslator
;
...
...
@@ -125,7 +122,6 @@ int main(int argc, char *argv[])
app
.
exec
();
}
delete
pingPixmapGenerator
;
delete
db
;
delete
settingsCache
;
...
...
cockatrice/src/
ping
pixmapgenerator.cpp
→
cockatrice/src/pixmapgenerator.cpp
View file @
f9446f98
#include
"
ping
pixmapgenerator.h"
#include
"pixmapgenerator.h"
#include
<QPainter>
#include
<QSvgRenderer>
#include
<math.h>
QPixmap
PingPixmapGenerator
::
generatePixmap
(
int
size
,
int
value
,
int
max
)
{
...
...
@@ -25,3 +27,26 @@ QPixmap PingPixmapGenerator::generatePixmap(int size, int value, int max)
return
pixmap
;
}
QMap
<
int
,
QPixmap
>
PingPixmapGenerator
::
pmCache
;
QPixmap
CountryPixmapGenerator
::
generatePixmap
(
int
height
,
const
QString
&
countryCode
)
{
if
(
countryCode
.
size
()
!=
2
)
return
QPixmap
();
QString
key
=
countryCode
+
QString
::
number
(
height
);
if
(
pmCache
.
contains
(
key
))
return
pmCache
.
value
(
key
);
QSvgRenderer
svg
(
QString
(
":/resources/countries/"
+
countryCode
+
".svg"
));
double
aspect
=
(
double
)
svg
.
defaultSize
().
width
()
/
(
double
)
svg
.
defaultSize
().
height
();
QPixmap
pixmap
((
int
)
round
(
aspect
*
height
),
height
);
pixmap
.
fill
(
Qt
::
transparent
);
QPainter
painter
(
&
pixmap
);
svg
.
render
(
&
painter
,
QRectF
(
0
,
0
,
aspect
*
height
,
height
));
pmCache
.
insert
(
key
,
pixmap
);
return
pixmap
;
}
QMap
<
QString
,
QPixmap
>
CountryPixmapGenerator
::
pmCache
;
\ No newline at end of file
cockatrice/src/
ping
pixmapgenerator.h
→
cockatrice/src/pixmapgenerator.h
View file @
f9446f98
...
...
@@ -6,11 +6,16 @@
class
PingPixmapGenerator
{
private:
QMap
<
int
,
QPixmap
>
pmCache
;
static
QMap
<
int
,
QPixmap
>
pmCache
;
public:
QPixmap
generatePixmap
(
int
size
,
int
value
,
int
max
);
static
QPixmap
generatePixmap
(
int
size
,
int
value
,
int
max
);
};
extern
PingPixmapGenerator
*
pingPixmapGenerator
;
class
CountryPixmapGenerator
{
private:
static
QMap
<
QString
,
QPixmap
>
pmCache
;
public:
static
QPixmap
generatePixmap
(
int
height
,
const
QString
&
countryCode
);
};
#endif
cockatrice/src/playerlistwidget.cpp
View file @
f9446f98
#include
<QHeaderView>
#include
"playerlistwidget.h"
#include
"protocol_datastructures.h"
#include
"pingpixmapgenerator.h"
#include
"pixmapgenerator.h"
#include
<QDebug>
PlayerListWidget
::
PlayerListWidget
(
QWidget
*
parent
)
:
QTreeWidget
(
parent
),
gameStarted
(
false
)
...
...
@@ -44,14 +45,16 @@ void PlayerListWidget::updatePlayerProperties(ServerInfo_PlayerProperties *prop)
player
->
setIcon
(
1
,
prop
->
getSpectator
()
?
spectatorIcon
:
playerIcon
);
player
->
setIcon
(
2
,
gameStarted
?
(
prop
->
getConceded
()
?
concededIcon
:
QIcon
())
:
(
prop
->
getReadyStart
()
?
readyIcon
:
notReadyIcon
));
player
->
setText
(
3
,
prop
->
getName
());
player
->
setText
(
3
,
prop
->
getUserInfo
()
->
getName
());
if
(
!
prop
->
getUserInfo
()
->
getCountry
().
isEmpty
())
player
->
setIcon
(
3
,
QIcon
(
CountryPixmapGenerator
::
generatePixmap
(
10
,
prop
->
getUserInfo
()
->
getCountry
())));
QString
deckText
;
if
(
!
prop
->
getSpectator
())
switch
(
prop
->
getDeckId
())
{
case
-
2
:
deckText
=
tr
(
"
no deck
"
);
break
;
case
-
1
:
deckText
=
tr
(
"local
deck
"
);
break
;
default:
deckText
=
tr
(
"
ID
#%1"
).
arg
(
prop
->
getDeckId
());
case
-
2
:
deckText
=
tr
(
"
---
"
);
break
;
case
-
1
:
deckText
=
tr
(
"local"
);
break
;
default:
deckText
=
tr
(
"#%1"
).
arg
(
prop
->
getDeckId
());
}
player
->
setText
(
4
,
deckText
);
}
...
...
@@ -81,7 +84,7 @@ void PlayerListWidget::updatePing(int playerId, int pingTime)
QTreeWidgetItem
*
twi
=
players
.
value
(
playerId
,
0
);
if
(
!
twi
)
return
;
twi
->
setIcon
(
0
,
QIcon
(
p
ingPixmapGenerator
->
generatePixmap
(
10
,
pingTime
,
10
)));
twi
->
setIcon
(
0
,
QIcon
(
P
ingPixmapGenerator
::
generatePixmap
(
10
,
pingTime
,
10
)));
}
void
PlayerListWidget
::
setGameStarted
(
bool
_gameStarted
)
...
...
cockatrice/src/tab_chatchannel.cpp
View file @
f9446f98
...
...
@@ -77,15 +77,15 @@ void TabChatChannel::processChatEvent(ChatEvent *event)
void
TabChatChannel
::
processListPlayersEvent
(
Event_ChatListPlayers
*
event
)
{
const
QList
<
ServerInfo_
Chat
User
*>
&
players
=
event
->
getPlayerList
();
const
QList
<
ServerInfo_User
*>
&
players
=
event
->
getPlayerList
();
for
(
int
i
=
0
;
i
<
players
.
size
();
++
i
)
playerList
->
addItem
(
players
[
i
]
->
getName
());
}
void
TabChatChannel
::
processJoinChannelEvent
(
Event_ChatJoinChannel
*
event
)
{
textEdit
->
append
(
tr
(
"%1 has joined the channel."
).
arg
(
event
->
get
Player
Name
()));
playerList
->
addItem
(
event
->
get
Player
Name
());
textEdit
->
append
(
tr
(
"%1 has joined the channel."
).
arg
(
event
->
get
UserInfo
()
->
get
Name
()));
playerList
->
addItem
(
event
->
get
UserInfo
()
->
get
Name
());
emit
userEvent
();
}
...
...
cockatrice/src/tab_game.cpp
View file @
f9446f98
...
...
@@ -488,13 +488,13 @@ void TabGame::eventGameStateChanged(Event_GameStateChanged *event, GameEventCont
ServerInfo_PlayerProperties
*
prop
=
pl
->
getProperties
();
if
(
prop
->
getSpectator
())
{
if
(
!
spectators
.
contains
(
prop
->
getPlayerId
()))
{
spectators
.
insert
(
prop
->
getPlayerId
(),
prop
->
getName
());
spectators
.
insert
(
prop
->
getPlayerId
(),
prop
->
getUserInfo
()
->
getName
());
playerListWidget
->
addPlayer
(
prop
);
}
}
else
{
Player
*
player
=
players
.
value
(
prop
->
getPlayerId
(),
0
);
if
(
!
player
)
{
player
=
addPlayer
(
prop
->
getPlayerId
(),
prop
->
getName
());
player
=
addPlayer
(
prop
->
getPlayerId
(),
prop
->
getUserInfo
()
->
getName
());
playerListWidget
->
addPlayer
(
prop
);
}
player
->
processPlayerInfo
(
pl
);
...
...
@@ -554,11 +554,11 @@ void TabGame::eventJoin(Event_Join *event, GameEventContext * /*context*/)
{
ServerInfo_PlayerProperties
*
playerInfo
=
event
->
getPlayer
();
if
(
playerInfo
->
getSpectator
())
{
spectators
.
insert
(
playerInfo
->
getPlayerId
(),
playerInfo
->
getName
());
messageLog
->
logJoinSpectator
(
playerInfo
->
getName
());
spectators
.
insert
(
playerInfo
->
getPlayerId
(),
playerInfo
->
getUserInfo
()
->
getName
());
messageLog
->
logJoinSpectator
(
playerInfo
->
getUserInfo
()
->
getName
());
playerListWidget
->
addPlayer
(
playerInfo
);
}
else
{
Player
*
newPlayer
=
addPlayer
(
playerInfo
->
getPlayerId
(),
playerInfo
->
getName
());
Player
*
newPlayer
=
addPlayer
(
playerInfo
->
getPlayerId
(),
playerInfo
->
getUserInfo
()
->
getName
());
messageLog
->
logJoin
(
newPlayer
);
playerListWidget
->
addPlayer
(
playerInfo
);
}
...
...
cockatrice/src/tab_supervisor.cpp
View file @
f9446f98
...
...
@@ -6,7 +6,7 @@
#include
"tab_game.h"
#include
"tab_deck_storage.h"
#include
"protocol_items.h"
#include
"
ping
pixmapgenerator.h"
#include
"pixmapgenerator.h"
#include
<QDebug>
TabSupervisor
::
TabSupervisor
(
QWidget
*
parent
)
...
...
@@ -97,10 +97,10 @@ void TabSupervisor::stop()
clear
();
delete
tabServer
;
tabServer
->
deleteLater
()
;
tabServer
=
0
;
delete
tabDeckStorage
;
tabDeckStorage
->
deleteLater
()
;
tabDeckStorage
=
0
;
QMapIterator
<
QString
,
TabChatChannel
*>
chatChannelIterator
(
chatChannelTabs
);
...
...
@@ -119,7 +119,7 @@ void TabSupervisor::updatePingTime(int value, int max)
if
(
!
tabServer
)
return
;
setTabIcon
(
0
,
QIcon
(
p
ingPixmapGenerator
->
generatePixmap
(
15
,
value
,
max
)));
setTabIcon
(
0
,
QIcon
(
P
ingPixmapGenerator
::
generatePixmap
(
15
,
value
,
max
)));
}
void
TabSupervisor
::
gameJoined
(
Event_GameJoined
*
event
)
...
...
common/protocol.cpp
View file @
f9446f98
...
...
@@ -15,7 +15,7 @@ void ProtocolItem::initializeHash()
registerSerializableItem
(
"move_card_to_zone"
,
MoveCardToZone
::
newItem
);
registerSerializableItem
(
"chat_channel"
,
ServerInfo_ChatChannel
::
newItem
);
registerSerializableItem
(
"
chat_
user"
,
ServerInfo_
Chat
User
::
newItem
);
registerSerializableItem
(
"user"
,
ServerInfo_User
::
newItem
);
registerSerializableItem
(
"game"
,
ServerInfo_Game
::
newItem
);
registerSerializableItem
(
"card_counter"
,
ServerInfo_CardCounter
::
newItem
);
registerSerializableItem
(
"card"
,
ServerInfo_Card
::
newItem
);
...
...
@@ -52,6 +52,7 @@ void ProtocolItem::initializeHash()
registerSerializableItem
(
"game_eventdraw_cards"
,
Event_DrawCards
::
newItem
);
registerSerializableItem
(
"game_eventping"
,
Event_Ping
::
newItem
);
registerSerializableItem
(
"chat_eventchat_list_players"
,
Event_ChatListPlayers
::
newItem
);
registerSerializableItem
(
"chat_eventchat_join_channel"
,
Event_ChatJoinChannel
::
newItem
);
}
TopLevelProtocolItem
::
TopLevelProtocolItem
()
...
...
@@ -275,13 +276,21 @@ Event_ListChatChannels::Event_ListChatChannels(const QList<ServerInfo_ChatChanne
itemList
.
append
(
_channelList
[
i
]);
}
Event_ChatListPlayers
::
Event_ChatListPlayers
(
const
QString
&
_channel
,
const
QList
<
ServerInfo_
Chat
User
*>
&
_playerList
)
Event_ChatListPlayers
::
Event_ChatListPlayers
(
const
QString
&
_channel
,
const
QList
<
ServerInfo_User
*>
&
_playerList
)
:
ChatEvent
(
"chat_list_players"
,
_channel
)
{
for
(
int
i
=
0
;
i
<
_playerList
.
size
();
++
i
)
itemList
.
append
(
_playerList
[
i
]);
}
Event_ChatJoinChannel
::
Event_ChatJoinChannel
(
const
QString
&
_channel
,
ServerInfo_User
*
_info
)
:
ChatEvent
(
"chat_join_channel"
,
_channel
)
{
if
(
!
_info
)
_info
=
new
ServerInfo_User
;
insertItem
(
_info
);
}
Event_ListGames
::
Event_ListGames
(
const
QList
<
ServerInfo_Game
*>
&
_gameList
)
:
GenericEvent
(
"list_games"
)
{
...
...
common/protocol.h
View file @
f9446f98
...
...
@@ -27,14 +27,15 @@ enum ItemId {
ItemId_Command_SetSideboardPlan
=
ItemId_Other
+
102
,
ItemId_Event_ListChatChannels
=
ItemId_Other
+
200
,
ItemId_Event_ChatListPlayers
=
ItemId_Other
+
201
,
ItemId_Event_ListGames
=
ItemId_Other
+
202
,
ItemId_Event_GameStateChanged
=
ItemId_Other
+
203
,
ItemId_Event_PlayerPropertiesChanged
=
ItemId_Other
+
204
,
ItemId_Event_CreateArrows
=
ItemId_Other
+
205
,
ItemId_Event_CreateCounters
=
ItemId_Other
+
206
,
ItemId_Event_DrawCards
=
ItemId_Other
+
207
,
ItemId_Event_Join
=
ItemId_Other
+
208
,
ItemId_Event_Ping
=
ItemId_Other
+
209
,
ItemId_Event_ChatJoinChannel
=
ItemId_Other
+
202
,
ItemId_Event_ListGames
=
ItemId_Other
+
203
,
ItemId_Event_GameStateChanged
=
ItemId_Other
+
204
,
ItemId_Event_PlayerPropertiesChanged
=
ItemId_Other
+
205
,
ItemId_Event_CreateArrows
=
ItemId_Other
+
206
,
ItemId_Event_CreateCounters
=
ItemId_Other
+
207
,
ItemId_Event_DrawCards
=
ItemId_Other
+
208
,
ItemId_Event_Join
=
ItemId_Other
+
209
,
ItemId_Event_Ping
=
ItemId_Other
+
210
,
ItemId_Response_DeckList
=
ItemId_Other
+
300
,
ItemId_Response_DeckDownload
=
ItemId_Other
+
301
,
ItemId_Response_DeckUpload
=
ItemId_Other
+
302
,
...
...
@@ -298,10 +299,19 @@ public:
class
Event_ChatListPlayers
:
public
ChatEvent
{
Q_OBJECT
public:
Event_ChatListPlayers
(
const
QString
&
_channel
=
QString
(),
const
QList
<
ServerInfo_
Chat
User
*>
&
_playerList
=
QList
<
ServerInfo_
Chat
User
*>
());
Event_ChatListPlayers
(
const
QString
&
_channel
=
QString
(),
const
QList
<
ServerInfo_User
*>
&
_playerList
=
QList
<
ServerInfo_User
*>
());
int
getItemId
()
const
{
return
ItemId_Event_ChatListPlayers
;
}
static
SerializableItem
*
newItem
()
{
return
new
Event_ChatListPlayers
;
}
QList
<
ServerInfo_ChatUser
*>
getPlayerList
()
const
{
return
typecastItemList
<
ServerInfo_ChatUser
*>
();
}
QList
<
ServerInfo_User
*>
getPlayerList
()
const
{
return
typecastItemList
<
ServerInfo_User
*>
();
}
};
class
Event_ChatJoinChannel
:
public
ChatEvent
{
Q_OBJECT
public:
Event_ChatJoinChannel
(
const
QString
&
_channel
=
QString
(),
ServerInfo_User
*
_info
=
0
);
int
getItemId
()
const
{
return
ItemId_Event_ChatJoinChannel
;
}
static
SerializableItem
*
newItem
()
{
return
new
Event_ChatJoinChannel
;
}
ServerInfo_User
*
getUserInfo
()
const
{
return
static_cast
<
ServerInfo_User
*>
(
itemMap
.
value
(
"user"
));
}
};
class
Event_ListGames
:
public
GenericEvent
{
...
...
Prev
1
2
3
Next
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment