package net.minecraft.client.gui;
import com.google.common.collect.Lists;
import cpw.mods.fml.relauncher.Side;
import cpw.mods.fml.relauncher.SideOnly;
import java.util.List;
import net.minecraft.client.Minecraft;
import net.minecraft.client.renderer.Tessellator;
import net.minecraft.client.settings.GameSettings;
@SideOnly(Side.CLIENT)
public class GuiOptionsRowList extends GuiListExtended
{
private final List field_148184_k = Lists.newArrayList();
private static final String __OBFID = "CL_00000677";
public GuiOptionsRowList(Minecraft p_i45015_1_, int p_i45015_2_, int p_i45015_3_, int p_i45015_4_, int p_i45015_5_, int p_i45015_6_, GameSettings.Options ... p_i45015_7_)
{
super(p_i45015_1_, p_i45015_2_, p_i45015_3_, p_i45015_4_, p_i45015_5_, p_i45015_6_);
this.field_148163_i = false;
for (int j1 = 0; j1 < p_i45015_7_.length; j1 += 2)
{
GameSettings.Options options = p_i45015_7_[j1];
GameSettings.Options options1 = j1 < p_i45015_7_.length - 1 ? p_i45015_7_[j1 + 1] : null;
GuiButton guibutton = this.func_148182_a(p_i45015_1_, p_i45015_2_ / 2 - 155, 0, options);
GuiButton guibutton1 = this.func_148182_a(p_i45015_1_, p_i45015_2_ / 2 - 155 + 160, 0, options1);
this.field_148184_k.add(new GuiOptionsRowList.Row(guibutton, guibutton1));
}
}
private GuiButton func_148182_a(Minecraft p_148182_1_, int p_148182_2_, int p_148182_3_, GameSettings.Options p_148182_4_)
{
if (p_148182_4_ == null)
{
return null;
}
else
{
int k = p_148182_4_.returnEnumOrdinal();
return (GuiButton)(p_148182_4_.getEnumFloat() ? new GuiOptionSlider(k, p_148182_2_, p_148182_3_, p_148182_4_) : new GuiOptionButton(k, p_148182_2_, p_148182_3_, p_148182_4_, p_148182_1_.gameSettings.getKeyBinding(p_148182_4_)));
}
}
/**
* Gets the IGuiListEntry object for the given index
*/
public GuiOptionsRowList.Row getListEntry(int p_148180_1_)
{
return (GuiOptionsRowList.Row)this.field_148184_k.get(p_148180_1_);
}
protected int getSize()
{
return this.field_148184_k.size();
}
/**
* Gets the width of the list
*/
public int getListWidth()
{
return 400;
}
protected int getScrollBarX()
{
return super.getScrollBarX() + 32;
}
@SideOnly(Side.CLIENT)
public static class Row implements GuiListExtended.IGuiListEntry
{
private final Minecraft field_148325_a = Minecraft.getMinecraft();
private final GuiButton field_148323_b;
private final GuiButton field_148324_c;
private static final String __OBFID = "CL_00000678";
public Row(GuiButton p_i45014_1_, GuiButton p_i45014_2_)
{
this.field_148323_b = p_i45014_1_;
this.field_148324_c = p_i45014_2_;
}
public void drawEntry(int p_148279_1_, int p_148279_2_, int p_148279_3_, int p_148279_4_, int p_148279_5_, Tessellator p_148279_6_, int p_148279_7_, int p_148279_8_, boolean p_148279_9_)
{
if (this.field_148323_b != null)
{
this.field_148323_b.yPosition = p_148279_3_;
this.field_148323_b.drawButton(this.field_148325_a, p_148279_7_, p_148279_8_);
}
if (this.field_148324_c != null)
{
this.field_148324_c.yPosition = p_148279_3_;
this.field_148324_c.drawButton(this.field_148325_a, p_148279_7_, p_148279_8_);
}
}
/**
* Returns true if the mouse has been pressed on this control.
*/
public boolean mousePressed(int p_148278_1_, int p_148278_2_, int p_148278_3_, int p_148278_4_, int p_148278_5_, int p_148278_6_)
{
if (this.field_148323_b.mousePressed(this.field_148325_a, p_148278_2_, p_148278_3_))
{
if (this.field_148323_b instanceof GuiOptionButton)
{
this.field_148325_a.gameSettings.setOptionValue(((GuiOptionButton)this.field_148323_b).returnEnumOptions(), 1);
this.field_148323_b.displayString = this.field_148325_a.gameSettings.getKeyBinding(GameSettings.Options.getEnumOptions(this.field_148323_b.id));
}
return true;
}
else if (this.field_148324_c != null && this.field_148324_c.mousePressed(this.field_148325_a, p_148278_2_, p_148278_3_))
{
if (this.field_148324_c instanceof GuiOptionButton)
{
this.field_148325_a.gameSettings.setOptionValue(((GuiOptionButton)this.field_148324_c).returnEnumOptions(), 1);
this.field_148324_c.displayString = this.field_148325_a.gameSettings.getKeyBinding(GameSettings.Options.getEnumOptions(this.field_148324_c.id));
}
return true;
}
else
{
return false;
}
}
/**
* Fired when the mouse button is released. Arguments: index, x, y, mouseEvent, relativeX, relativeY
*/
public void mouseReleased(int p_148277_1_, int p_148277_2_, int p_148277_3_, int p_148277_4_, int p_148277_5_, int p_148277_6_)
{
if (this.field_148323_b != null)
{
this.field_148323_b.mouseReleased(p_148277_2_, p_148277_3_);
}
if (this.field_148324_c != null)
{
this.field_148324_c.mouseReleased(p_148277_2_, p_148277_3_);
}
}
}
}