Fixes to ensure deckchooser AI status is set correctly before decks are generated and that the list of card-based decks is updated to show only AI playable cards as required.

This commit is contained in:
austinio7116
2018-03-10 20:23:34 +00:00
committed by maustin
parent ec1ad333cd
commit 4dd52e6f82
8 changed files with 108 additions and 6 deletions

View File

@@ -1,5 +1,8 @@
package forge.interfaces;
public interface IUpdateable {
import forge.match.LobbySlotType;
public interface IUpdateable{
void update(boolean fullUpdate);
void update(int slot, LobbySlotType type);
}

View File

@@ -111,6 +111,7 @@ public abstract class GameLobby implements IHasGameType {
final boolean archenemyRemoved = triesToChangeArchenemy && !event.getArchenemy().booleanValue();
final boolean hasArchenemyChanged = triesToChangeArchenemy && slot.isArchenemy() != event.getArchenemy().booleanValue();
final boolean changed = slot.apply(event) || hasArchenemyChanged;
// Change archenemy teams
@@ -129,6 +130,12 @@ public abstract class GameLobby implements IHasGameType {
}
}
if (event.getType() != null) {
//refresh decklist for slot
listener.update(index,event.getType());
}
if (changed) {
updateView(false);
}

View File

@@ -1,5 +1,6 @@
package forge.net;
import forge.match.LobbySlotType;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
@@ -54,6 +55,8 @@ public class NetConnectUtil {
view.update(fullUpdate);
server.updateLobbyState();
}
@Override
public final void update(final int slot, final LobbySlotType type) {return;}
});
view.setPlayerChangeListener(new IPlayerChangeListener() {
@Override