001package net.minecraft.client.gui;
002
003import cpw.mods.fml.relauncher.Side;
004import cpw.mods.fml.relauncher.SideOnly;
005import java.util.Iterator;
006import java.util.List;
007import net.minecraft.util.StringTranslate;
008
009@SideOnly(Side.CLIENT)
010public class GuiScreenDisconnectedOnline extends GuiScreen
011{
012    private String field_98113_a;
013    private String field_98111_b;
014    private Object[] field_98112_c;
015    private List field_98110_d;
016    private final GuiScreen field_98114_n;
017
018    public GuiScreenDisconnectedOnline(GuiScreen par1GuiScreen, String par2Str, String par3Str, Object ... par4ArrayOfObj)
019    {
020        StringTranslate stringtranslate = StringTranslate.getInstance();
021        this.field_98114_n = par1GuiScreen;
022        this.field_98113_a = stringtranslate.translateKey(par2Str);
023        this.field_98111_b = par3Str;
024        this.field_98112_c = par4ArrayOfObj;
025    }
026
027    /**
028     * Fired when a key is typed. This is the equivalent of KeyListener.keyTyped(KeyEvent e).
029     */
030    protected void keyTyped(char par1, int par2) {}
031
032    /**
033     * Adds the buttons (and other controls) to the screen in question.
034     */
035    public void initGui()
036    {
037        StringTranslate stringtranslate = StringTranslate.getInstance();
038        this.buttonList.clear();
039        this.buttonList.add(new GuiButton(0, this.width / 2 - 100, this.height / 4 + 120 + 12, stringtranslate.translateKey("gui.back")));
040
041        if (this.field_98112_c != null)
042        {
043            this.field_98110_d = this.fontRenderer.listFormattedStringToWidth(stringtranslate.translateKeyFormat(this.field_98111_b, this.field_98112_c), this.width - 50);
044        }
045        else
046        {
047            this.field_98110_d = this.fontRenderer.listFormattedStringToWidth(stringtranslate.translateKey(this.field_98111_b), this.width - 50);
048        }
049    }
050
051    /**
052     * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
053     */
054    protected void actionPerformed(GuiButton par1GuiButton)
055    {
056        if (par1GuiButton.id == 0)
057        {
058            this.mc.displayGuiScreen(this.field_98114_n);
059        }
060    }
061
062    /**
063     * Draws the screen and all the components in it.
064     */
065    public void drawScreen(int par1, int par2, float par3)
066    {
067        this.drawDefaultBackground();
068        this.drawCenteredString(this.fontRenderer, this.field_98113_a, this.width / 2, this.height / 2 - 50, 11184810);
069        int k = this.height / 2 - 30;
070
071        if (this.field_98110_d != null)
072        {
073            for (Iterator iterator = this.field_98110_d.iterator(); iterator.hasNext(); k += this.fontRenderer.FONT_HEIGHT)
074            {
075                String s = (String)iterator.next();
076                this.drawCenteredString(this.fontRenderer, s, this.width / 2, k, 16777215);
077            }
078        }
079
080        super.drawScreen(par1, par2, par3);
081    }
082}