package org.pokenet.client.ui.frames;
import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import mdes.slick.sui.Button;
import mdes.slick.sui.CheckBox;
import mdes.slick.sui.Frame;
import mdes.slick.sui.event.ActionEvent;
import mdes.slick.sui.event.ActionListener;
import org.newdawn.slick.Color;
import org.newdawn.slick.muffin.FileMuffin;
import org.newdawn.slick.muffin.Muffin;
import org.pokenet.client.GameClient;
import org.pokenet.client.backend.Translator;
public class OptionsDialog extends Frame {
private HashMap<String, String> m_options;
private Muffin m_muffin = new FileMuffin();
private Button m_save;
private CheckBox m_fullScreen;
private CheckBox m_muteSound;
private CheckBox m_disableMaps;
private CheckBox m_disableWeather;
// private SimpleColorPicker learnColor;
public OptionsDialog() {
m_options = GameClient.getOptions();
getContentPane().setX(getContentPane().getX() - 1);
getContentPane().setY(getContentPane().getY() + 1);
initGUI();
}
@Override
public void setVisible(boolean state) {
m_options = GameClient.getOptions();
super.setVisible(state);
}
public void initGUI() {
/*
* { learnColor = new SimpleColorPicker(); try {
* learnColor.setSelectedColor(Color.decode(options.get("learnColor")));
* } catch (RuntimeException e) { e.printStackTrace(); }
* learnColor.setLocation(10, 70);
*
* getContentPane().add(learnColor); }
*/
List<String> translated = Translator.translate("_GUI");
setBackground(new Color(0, 0, 0, 70));
{
m_fullScreen = new CheckBox(translated.get(16));
m_fullScreen.pack();
m_fullScreen.setLocation(10, 10);
m_fullScreen.setSelected(Boolean.parseBoolean(m_options
.get("fullScreen")));
getContentPane().add(m_fullScreen);
}
{
m_muteSound = new CheckBox(translated.get(17));
m_muteSound.pack();
m_muteSound.setLocation(150, 10);
m_muteSound.setSelected(Boolean.parseBoolean(m_options
.get("soundMuted")));
getContentPane().add(m_muteSound);
}
{
m_disableMaps = new CheckBox(translated.get(48));
m_disableMaps.pack();
m_disableMaps.setLocation(10, 45);
m_disableMaps.setSelected(Boolean.parseBoolean(m_options.get("disableMaps")));
getContentPane().add(m_disableMaps);
}
{
m_disableWeather = new CheckBox("Disable Weather");
m_disableWeather.pack();
m_disableWeather.setLocation(10, 78);
m_disableWeather.setSelected(Boolean.parseBoolean(m_options.get("disableWeather")));
getContentPane().add(m_disableWeather);
}
{
m_save = new Button(translated.get(18));
m_save.setSize(50, 25);
m_save.setLocation(88, 108);
getContentPane().add(m_save);
m_save.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
try {
List<String> translated = Translator.translate("_GUI");
/*
* options.remove("learnColor");
* options.put("learnColor",
* learnColor.getColorHexLabel(). getText());
*/
m_options.remove("fullScreen");
m_options.put("fullScreen", Boolean.toString(m_fullScreen
.isSelected()));
m_options.remove("soundMuted");
m_options.put("soundMuted", Boolean.toString(m_muteSound
.isSelected()));
m_options.remove("disableMaps");
m_options.put("disableMaps", Boolean.toString(m_disableMaps.isSelected()));
GameClient.setDisableMaps(m_disableMaps.isSelected());
m_options.remove("disableWeather");
m_options.put("disableWeather", Boolean.toString(m_disableWeather.isSelected()));
if (m_muteSound.isSelected())
GameClient.getSoundPlayer().mute(true);
else
GameClient.getSoundPlayer().mute(false);
GameClient.getInstance().getWeatherService().setEnabled(!m_disableWeather.isSelected());
m_muffin.saveFile(m_options, "options.dat");
GameClient
.messageDialog(
translated.get(19),
getDisplay());
GameClient.reloadOptions();
} catch (IOException e1) {
e1.printStackTrace();
}
}
});
}
setTitle(translated.get(15));
setSize(400, 160);
setResizable(false);
this.getTitleBar().getCloseButton().setVisible(false);
}
}