cut Dependencies on log entry type and AI profiles

This commit is contained in:
Maxmtg
2014-01-24 05:21:21 +00:00
parent 308039739f
commit 68acaf77c5
9 changed files with 60 additions and 49 deletions

View File

@@ -3,26 +3,11 @@ package forge;
import forge.properties.ForgePreferences.FPref;
public class PreferencesProvider implements Dependencies.PreferencesMethods {
@Override
public boolean getEnableAiCheats() {
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_ENABLE_AI_CHEATS);
}
@Override
public boolean getCloneModeSource() {
return Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_CLONE_MODE_SOURCE);
}
@Override
public String getLogEntryType() {
return Singletons.getModel().getPreferences().getPref(FPref.DEV_LOG_ENTRY_TYPE);
}
@Override
public String getCurrentAiProfile() {
return Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
}
@Override
public boolean isManaBurnEnabled() {
// TODO Auto-generated method stub

View File

@@ -558,7 +558,6 @@ public enum FControl implements KeyEventDispatcher {
}
public void startMatch(GameType gameType, List<RegisteredPlayer> starter) {
boolean useRandomFoil = Singletons.getModel().getPreferences().getPrefBoolean(FPref.UI_RANDOM_FOIL);
for(RegisteredPlayer rp : starter) {
rp.setRandomFoil(useRandomFoil);

View File

@@ -26,6 +26,7 @@ import net.miginfocom.swing.MigLayout;
import com.google.common.collect.Lists;
import forge.Singletons;
import forge.game.GameLog;
import forge.game.GameLogEntry;
import forge.game.GameLogEntryType;
@@ -37,6 +38,7 @@ import forge.gui.match.GameLogPanel;
import forge.gui.match.controllers.CLog;
import forge.gui.toolbox.FSkin;
import forge.gui.toolbox.FSkin.SkinFont;
import forge.properties.ForgePreferences.FPref;
/**
* Assembles Swing components of game log report.
@@ -171,7 +173,8 @@ public enum VLog implements IVDoc<CLog> {
}
private List<GameLogEntry> getNewGameLogEntries(GameLog activeGameLogModel) {
GameLogEntryType logVerbosityFilter = activeGameLogModel.getGameLogEntryTypeSetting();
String logEntryType = Singletons.getModel().getPreferences().getPref(FPref.DEV_LOG_ENTRY_TYPE);
GameLogEntryType logVerbosityFilter = GameLogEntryType.valueOf(logEntryType);
List<GameLogEntry> logEntries = activeGameLogModel.getLogEntries(logVerbosityFilter);
// Set subtraction - remove all log entries from new list which are already displayed.
logEntries.removeAll(this.displayedLogEntries);

View File

@@ -5,12 +5,15 @@ import java.util.concurrent.ConcurrentHashMap;
import com.google.common.base.Supplier;
import forge.Singletons;
import forge.ai.AiProfileUtil;
import forge.control.ChatArea;
import forge.game.player.LobbyPlayer;
import forge.game.player.LobbyPlayerAi;
import forge.gui.GuiDisplayUtil;
import forge.gui.toolbox.FSkin;
import forge.net.client.INetClient;
import forge.properties.ForgePreferences.FPref;
import forge.util.MyRandom;
import forge.util.NameGenerator;
@@ -36,14 +39,22 @@ public class Lobby {
public final LobbyPlayer getAiPlayer() { return getAiPlayer(getRandomName()); }
public final LobbyPlayer getAiPlayer(String name) {
LobbyPlayer player = new LobbyPlayerAi(name);
if(FSkin.isLoaded())
player.setAvatarIndex(MyRandom.getRandom().nextInt(FSkin.getAvatars().size()));
return player;
return getAiPlayer(name, FSkin.isLoaded() ? MyRandom.getRandom().nextInt(FSkin.getAvatars().size()) : 0);
}
public final LobbyPlayer getAiPlayer(String name, int avatarIndex) {
LobbyPlayer player = new LobbyPlayerAi(name);
player.setAvatarIndex(avatarIndex);
LobbyPlayerAi player = new LobbyPlayerAi(name);
// TODO: implement specific AI profiles for quest mode.
String lastProfileChosen = Singletons.getModel().getPreferences().getPref(FPref.UI_CURRENT_AI_PROFILE);
player.setRotateProfileEachGame(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_DUEL));
if(lastProfileChosen.equals(AiProfileUtil.AI_PROFILE_RANDOM_MATCH)) {
lastProfileChosen = AiProfileUtil.getRandomProfile();
System.out.println(String.format("AI profile %s was chosen for the lobby player %s.", lastProfileChosen, player.getName()));
}
player.setAiProfile(lastProfileChosen);
if(FSkin.isLoaded())
player.setAvatarIndex(avatarIndex);
return player;
}