Fixed configuration tabs not rendering properly

This commit is contained in:
Aidan C. Brady 2015-03-24 18:09:31 -04:00
parent 3cb4562461
commit 6c70dc100b
2 changed files with 20 additions and 15 deletions

View file

@ -1,6 +1,8 @@
package mekanism.client.gui; package mekanism.client.gui;
import java.util.ArrayList;
import java.util.HashMap; import java.util.HashMap;
import java.util.List;
import java.util.Map; import java.util.Map;
import mekanism.api.Coord4D; import mekanism.api.Coord4D;
@ -39,6 +41,8 @@ public class GuiSideConfiguration extends GuiMekanism
public TransmissionType currentType; public TransmissionType currentType;
public List<GuiConfigTypeTab> configTabs = new ArrayList<GuiConfigTypeTab>();
public GuiSideConfiguration(EntityPlayer player, ISideConfiguration tile) public GuiSideConfiguration(EntityPlayer player, ISideConfiguration tile)
{ {
super((TileEntityContainerBlock)tile, new ContainerNull(player, (TileEntityContainerBlock)tile)); super((TileEntityContainerBlock)tile, new ContainerNull(player, (TileEntityContainerBlock)tile));
@ -49,7 +53,10 @@ public class GuiSideConfiguration extends GuiMekanism
for(TransmissionType type : configurable.getConfig().transmissions) for(TransmissionType type : configurable.getConfig().transmissions)
{ {
guiElements.add(new GuiConfigTypeTab(this, (TileEntity)configurable, type, MekanismUtils.getResource(ResourceType.GUI, "GuiConfiguration.png"))); GuiConfigTypeTab tab = new GuiConfigTypeTab(this, (TileEntity)configurable, type, MekanismUtils.getResource(ResourceType.GUI, "GuiConfiguration.png"));
guiElements.add(tab);
configTabs.add(tab);
} }
currentType = getTopTransmission(); currentType = getTopTransmission();
@ -73,12 +80,8 @@ public class GuiSideConfiguration extends GuiMekanism
{ {
int rendered = 0; int rendered = 0;
for(GuiElement element : guiElements) for(GuiConfigTypeTab tab : configTabs)
{ {
if(element instanceof GuiConfigTypeTab)
{
GuiConfigTypeTab tab = (GuiConfigTypeTab)element;
tab.visible = currentType != tab.transmission; tab.visible = currentType != tab.transmission;
if(tab.visible) if(tab.visible)
@ -90,7 +93,6 @@ public class GuiSideConfiguration extends GuiMekanism
rendered++; rendered++;
} }
} }
}
@Override @Override
protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY) protected void drawGuiContainerBackgroundLayer(float partialTick, int mouseX, int mouseY)

View file

@ -42,8 +42,11 @@ public class TileComponentConfig implements ITileComponent
} }
public void addSupported(TransmissionType type) public void addSupported(TransmissionType type)
{
if(!transmissions.contains(type))
{ {
transmissions.add(type); transmissions.add(type);
}
sideOutputs.put(type.ordinal(), new ArrayList<SideData>()); sideOutputs.put(type.ordinal(), new ArrayList<SideData>());
ejecting.put(type.ordinal(), false); ejecting.put(type.ordinal(), false);