001    package net.minecraft.client.gui;
002    
003    import cpw.mods.fml.relauncher.Side;
004    import cpw.mods.fml.relauncher.SideOnly;
005    import net.minecraft.util.StringTranslate;
006    
007    @SideOnly(Side.CLIENT)
008    public class GuiYesNo extends GuiScreen
009    {
010        /**
011         * A reference to the screen object that created this. Used for navigating between screens.
012         */
013        protected GuiScreen parentScreen;
014    
015        /** First line of text. */
016        private String message1;
017    
018        /** Second line of text. */
019        private String message2;
020    
021        /** The text shown for the first button in GuiYesNo */
022        protected String buttonText1;
023    
024        /** The text shown for the second button in GuiYesNo */
025        protected String buttonText2;
026    
027        /** World number to be deleted. */
028        protected int worldNumber;
029    
030        public GuiYesNo(GuiScreen par1GuiScreen, String par2Str, String par3Str, int par4)
031        {
032            this.parentScreen = par1GuiScreen;
033            this.message1 = par2Str;
034            this.message2 = par3Str;
035            this.worldNumber = par4;
036            StringTranslate var5 = StringTranslate.getInstance();
037            this.buttonText1 = var5.translateKey("gui.yes");
038            this.buttonText2 = var5.translateKey("gui.no");
039        }
040    
041        public GuiYesNo(GuiScreen par1GuiScreen, String par2Str, String par3Str, String par4Str, String par5Str, int par6)
042        {
043            this.parentScreen = par1GuiScreen;
044            this.message1 = par2Str;
045            this.message2 = par3Str;
046            this.buttonText1 = par4Str;
047            this.buttonText2 = par5Str;
048            this.worldNumber = par6;
049        }
050    
051        /**
052         * Adds the buttons (and other controls) to the screen in question.
053         */
054        public void initGui()
055        {
056            this.controlList.add(new GuiSmallButton(0, this.width / 2 - 155, this.height / 6 + 96, this.buttonText1));
057            this.controlList.add(new GuiSmallButton(1, this.width / 2 - 155 + 160, this.height / 6 + 96, this.buttonText2));
058        }
059    
060        /**
061         * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e).
062         */
063        protected void actionPerformed(GuiButton par1GuiButton)
064        {
065            this.parentScreen.confirmClicked(par1GuiButton.id == 0, this.worldNumber);
066        }
067    
068        /**
069         * Draws the screen and all the components in it.
070         */
071        public void drawScreen(int par1, int par2, float par3)
072        {
073            this.drawDefaultBackground();
074            this.drawCenteredString(this.fontRenderer, this.message1, this.width / 2, 70, 16777215);
075            this.drawCenteredString(this.fontRenderer, this.message2, this.width / 2, 90, 16777215);
076            super.drawScreen(par1, par2, par3);
077        }
078    }