mirror of
https://github.com/Card-Forge/forge.git
synced 2025-11-18 19:58:00 +00:00
Fix many more problems with the GUI refactoring (plus some preparations for mobile GUI support).
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
package forge.game.event;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
|
||||
import com.google.common.collect.Iterables;
|
||||
|
||||
import forge.game.player.Player;
|
||||
import forge.util.Lang;
|
||||
|
||||
/**
|
||||
* This means card's characteristics have changed on server, clients must re-request them
|
||||
*/
|
||||
public class GameEventPlayerStatsChanged extends GameEvent {
|
||||
|
||||
public final Collection<Player> players;
|
||||
public GameEventPlayerStatsChanged(Player affected) {
|
||||
players = Arrays.asList(affected);
|
||||
}
|
||||
|
||||
public GameEventPlayerStatsChanged(Collection<Player> affected) {
|
||||
players = affected;
|
||||
}
|
||||
|
||||
/* (non-Javadoc)
|
||||
* @see forge.game.event.GameEvent#visit(forge.game.event.IGameEventVisitor)
|
||||
*/
|
||||
@Override
|
||||
public <T> T visit(IGameEventVisitor<T> visitor) {
|
||||
// TODO Auto-generated method stub
|
||||
return visitor.visit(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
if (null == players || Iterables.isEmpty(players)) {
|
||||
return "Player state changes: (empty list)";
|
||||
}
|
||||
return String.format("Player state changes: %s", Lang.joinHomogenous(players));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -33,6 +33,7 @@ public interface IGameEventVisitor<T> {
|
||||
T visit(GameEventPlayerDamaged gameEventPlayerDamaged);
|
||||
T visit(GameEventPlayerPoisoned event);
|
||||
T visit(GameEventPlayerPriority event);
|
||||
T visit(GameEventPlayerStatsChanged event);
|
||||
T visit(GameEventShuffle event);
|
||||
T visit(GameEventSpellAbilityCast gameEventSpellAbilityCast);
|
||||
T visit(GameEventSpellResolved event);
|
||||
@@ -72,6 +73,7 @@ public interface IGameEventVisitor<T> {
|
||||
public T visit(GameEventPlayerControl event) { return null; }
|
||||
public T visit(GameEventPlayerPoisoned event) { return null; }
|
||||
public T visit(GameEventPlayerPriority event) { return null; }
|
||||
public T visit(GameEventPlayerStatsChanged event) { return null; }
|
||||
public T visit(GameEventShuffle event) { return null; }
|
||||
public T visit(GameEventSpellResolved event) { return null; }
|
||||
public T visit(GameEventSpellAbilityCast event) { return null; }
|
||||
|
||||
@@ -1159,9 +1159,11 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
}
|
||||
|
||||
this.changedKeywords.put(timestamp, new KeywordsChange(addKeywords, removeKeywords, false));
|
||||
game.fireEvent(new GameEventPlayerStatsChanged(this));
|
||||
}
|
||||
|
||||
public final KeywordsChange removeChangedKeywords(final Long timestamp) {
|
||||
game.fireEvent(new GameEventPlayerStatsChanged(this));
|
||||
return changedKeywords.remove(Long.valueOf(timestamp));
|
||||
}
|
||||
|
||||
@@ -1205,6 +1207,8 @@ public class Player extends GameEntity implements Comparable<Player> {
|
||||
this.changedKeywords.remove(ck.getKey());
|
||||
}
|
||||
}
|
||||
|
||||
game.fireEvent(new GameEventPlayerStatsChanged(this));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
Reference in New Issue
Block a user