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
ac15d1b5
Commit
ac15d1b5
authored
May 28, 2010
by
Max-Wilhelm Bruker
Browse files
spectator leave bugfix
parent
ca12aeb5
Changes
2
Hide whitespace changes
Inline
Side-by-side
cockatrice/src/tab_game.cpp
View file @
ac15d1b5
...
@@ -232,6 +232,7 @@ void TabGame::processGameEventContainer(GameEventContainer *cont)
...
@@ -232,6 +232,7 @@ void TabGame::processGameEventContainer(GameEventContainer *cont)
if
(
spectators
.
contains
(
event
->
getPlayerId
()))
{
if
(
spectators
.
contains
(
event
->
getPlayerId
()))
{
switch
(
event
->
getItemId
())
{
switch
(
event
->
getItemId
())
{
case
ItemId_Event_Say
:
eventSpectatorSay
(
qobject_cast
<
Event_Say
*>
(
event
),
context
);
break
;
case
ItemId_Event_Say
:
eventSpectatorSay
(
qobject_cast
<
Event_Say
*>
(
event
),
context
);
break
;
case
ItemId_Event_Leave
:
eventSpectatorLeave
(
qobject_cast
<
Event_Leave
*>
(
event
),
context
);
break
;
default:
{
default:
{
qDebug
()
<<
"unhandled spectator game event"
;
qDebug
()
<<
"unhandled spectator game event"
;
break
;
break
;
...
@@ -305,6 +306,16 @@ void TabGame::eventSpectatorSay(Event_Say *event, GameEventContext * /*context*/
...
@@ -305,6 +306,16 @@ void TabGame::eventSpectatorSay(Event_Say *event, GameEventContext * /*context*/
messageLog
->
logSpectatorSay
(
spectators
.
value
(
event
->
getPlayerId
()),
event
->
getMessage
());
messageLog
->
logSpectatorSay
(
spectators
.
value
(
event
->
getPlayerId
()),
event
->
getMessage
());
}
}
void
TabGame
::
eventSpectatorLeave
(
Event_Leave
*
event
,
GameEventContext
*
/*context*/
)
{
int
playerId
=
event
->
getPlayerId
();
messageLog
->
logLeaveSpectator
(
spectators
.
value
(
playerId
));
playerListWidget
->
removePlayer
(
playerId
);
spectators
.
remove
(
playerId
);
emit
userEvent
();
}
void
TabGame
::
eventGameStateChanged
(
Event_GameStateChanged
*
event
,
GameEventContext
*
/*context*/
)
void
TabGame
::
eventGameStateChanged
(
Event_GameStateChanged
*
event
,
GameEventContext
*
/*context*/
)
{
{
const
QList
<
ServerInfo_Player
*>
&
plList
=
event
->
getPlayerList
();
const
QList
<
ServerInfo_Player
*>
&
plList
=
event
->
getPlayerList
();
...
@@ -382,10 +393,6 @@ void TabGame::eventLeave(Event_Leave *event, GameEventContext * /*context*/)
...
@@ -382,10 +393,6 @@ void TabGame::eventLeave(Event_Leave *event, GameEventContext * /*context*/)
playerListWidget
->
removePlayer
(
playerId
);
playerListWidget
->
removePlayer
(
playerId
);
players
.
remove
(
playerId
);
players
.
remove
(
playerId
);
delete
player
;
delete
player
;
}
else
if
(
spectators
.
contains
(
playerId
))
{
messageLog
->
logLeaveSpectator
(
spectators
.
value
(
playerId
));
playerListWidget
->
removePlayer
(
playerId
);
spectators
.
remove
(
playerId
);
}
}
emit
userEvent
();
emit
userEvent
();
}
}
...
...
cockatrice/src/tab_game.h
View file @
ac15d1b5
...
@@ -76,6 +76,8 @@ private:
...
@@ -76,6 +76,8 @@ private:
void
stopGame
();
void
stopGame
();
void
eventSpectatorSay
(
Event_Say
*
event
,
GameEventContext
*
context
);
void
eventSpectatorSay
(
Event_Say
*
event
,
GameEventContext
*
context
);
void
eventSpectatorLeave
(
Event_Leave
*
event
,
GameEventContext
*
context
);
void
eventGameStateChanged
(
Event_GameStateChanged
*
event
,
GameEventContext
*
context
);
void
eventGameStateChanged
(
Event_GameStateChanged
*
event
,
GameEventContext
*
context
);
void
eventPlayerPropertiesChanged
(
Event_PlayerPropertiesChanged
*
event
,
GameEventContext
*
context
);
void
eventPlayerPropertiesChanged
(
Event_PlayerPropertiesChanged
*
event
,
GameEventContext
*
context
);
void
eventJoin
(
Event_Join
*
event
,
GameEventContext
*
context
);
void
eventJoin
(
Event_Join
*
event
,
GameEventContext
*
context
);
...
...
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