001 package net.minecraft.src; 002 003 import cpw.mods.fml.common.Side; 004 import cpw.mods.fml.common.asm.SideOnly; 005 006 @SideOnly(Side.CLIENT) 007 public class ScreenChatOptions extends GuiScreen 008 { 009 private static final EnumOptions[] field_73891_a = new EnumOptions[] {EnumOptions.CHAT_VISIBILITY, EnumOptions.CHAT_COLOR, EnumOptions.CHAT_LINKS, EnumOptions.CHAT_OPACITY, EnumOptions.CHAT_LINKS_PROMPT}; 010 private final GuiScreen field_73889_b; 011 private final GameSettings field_73890_c; 012 private String field_73888_d; 013 014 public ScreenChatOptions(GuiScreen par1GuiScreen, GameSettings par2GameSettings) 015 { 016 this.field_73889_b = par1GuiScreen; 017 this.field_73890_c = par2GameSettings; 018 } 019 020 /** 021 * Adds the buttons (and other controls) to the screen in question. 022 */ 023 public void initGui() 024 { 025 StringTranslate var1 = StringTranslate.getInstance(); 026 int var2 = 0; 027 this.field_73888_d = var1.translateKey("options.chat.title"); 028 EnumOptions[] var3 = field_73891_a; 029 int var4 = var3.length; 030 031 for (int var5 = 0; var5 < var4; ++var5) 032 { 033 EnumOptions var6 = var3[var5]; 034 035 if (var6.getEnumFloat()) 036 { 037 this.controlList.add(new GuiSlider(var6.returnEnumOrdinal(), this.width / 2 - 155 + var2 % 2 * 160, this.height / 6 + 24 * (var2 >> 1), var6, this.field_73890_c.getKeyBinding(var6), this.field_73890_c.getOptionFloatValue(var6))); 038 } 039 else 040 { 041 this.controlList.add(new GuiSmallButton(var6.returnEnumOrdinal(), this.width / 2 - 155 + var2 % 2 * 160, this.height / 6 + 24 * (var2 >> 1), var6, this.field_73890_c.getKeyBinding(var6))); 042 } 043 044 ++var2; 045 } 046 047 this.controlList.add(new GuiButton(200, this.width / 2 - 100, this.height / 6 + 168, var1.translateKey("gui.done"))); 048 } 049 050 /** 051 * Fired when a control is clicked. This is the equivalent of ActionListener.actionPerformed(ActionEvent e). 052 */ 053 protected void actionPerformed(GuiButton par1GuiButton) 054 { 055 if (par1GuiButton.enabled) 056 { 057 if (par1GuiButton.id < 100 && par1GuiButton instanceof GuiSmallButton) 058 { 059 this.field_73890_c.setOptionValue(((GuiSmallButton)par1GuiButton).returnEnumOptions(), 1); 060 par1GuiButton.displayString = this.field_73890_c.getKeyBinding(EnumOptions.getEnumOptions(par1GuiButton.id)); 061 } 062 063 if (par1GuiButton.id == 200) 064 { 065 this.mc.gameSettings.saveOptions(); 066 this.mc.displayGuiScreen(this.field_73889_b); 067 } 068 } 069 } 070 071 /** 072 * Draws the screen and all the components in it. 073 */ 074 public void drawScreen(int par1, int par2, float par3) 075 { 076 this.drawDefaultBackground(); 077 this.drawCenteredString(this.fontRenderer, this.field_73888_d, this.width / 2, 20, 16777215); 078 super.drawScreen(par1, par2, par3); 079 } 080 }