Last messages are stored and sent to everyone that enters the game.

This commit is contained in:
marcins78@gmail.com
2011-12-02 14:16:04 +00:00
parent 52af9930a3
commit 68a2cb7697

View File

@@ -48,6 +48,7 @@ public class GameState {
private Skirmish _skirmish = null; private Skirmish _skirmish = null;
private Set<GameStateListener> _gameStateListeners = new HashSet<GameStateListener>(); private Set<GameStateListener> _gameStateListeners = new HashSet<GameStateListener>();
private LinkedList<String> _lastMessages = new LinkedList<String>();
private int _nextCardId = 0; private int _nextCardId = 0;
@@ -199,6 +200,9 @@ public class GameState {
} }
listener.sendGameStats(gameStats); listener.sendGameStats(gameStats);
for (String lastMessage : _lastMessages)
listener.sendMessage(lastMessage);
} }
final AwaitingDecision awaitingDecision = _playerDecisions.get(playerId); final AwaitingDecision awaitingDecision = _playerDecisions.get(playerId);
@@ -207,6 +211,9 @@ public class GameState {
} }
public void sendMessage(String message) { public void sendMessage(String message) {
_lastMessages.add(message);
if (_lastMessages.size() > 10)
_lastMessages.removeFirst();
for (GameStateListener listener : getAllGameStateListeners()) for (GameStateListener listener : getAllGameStateListeners())
listener.sendMessage(message); listener.sendMessage(message);
} }