electrodynamics/src/main/scala/edx/quantum/machine/quantum/GuiQuantumAssembler.scala
2015-01-26 20:56:09 +08:00

57 lines
2 KiB
Scala

package edx.quantum.machine.quantum
import cpw.mods.fml.relauncher.{Side, SideOnly}
import edx.core.Reference
import net.minecraft.entity.player.InventoryPlayer
import net.minecraft.util.ResourceLocation
import org.lwjgl.opengl.GL11
import resonantengine.lib.utility.science.UnitDisplay
import resonantengine.prefab.gui.GuiContainerBase
object GuiQuantumAssembler
{
@SideOnly(Side.CLIENT)
final val texture = new ResourceLocation(Reference.domain, Reference.guiDirectory + "gui_atomic_assembler.png")
}
class GuiQuantumAssembler(par1InventoryPlayer: InventoryPlayer, tileEntity: TileQuantumAssembler) extends GuiContainerBase(new ContainerQuantumAssembler(par1InventoryPlayer, tileEntity))
{
//Constructor
this.ySize = 230
/**
* Draw the foreground layer for the GuiContainer (everything in front of the items)
*/
override def drawGuiContainerForegroundLayer(mouseX: Int, mouseY: Int)
{
this.fontRendererObj.drawString("Assembler", 65 - "Assembler".length, 6, 4210752)
var displayText: String = ""
if (this.tileEntity.time > 0)
{
displayText = "Process: " + (100 - (this.tileEntity.time.asInstanceOf[Float] / this.tileEntity.MAX_TIME.asInstanceOf[Float]) * 100).asInstanceOf[Int] + "%"
}
else if (this.tileEntity.canProcess)
{
displayText = "Ready"
}
else
{
displayText = "Idle"
}
this.fontRendererObj.drawString(displayText, 9, this.ySize - 106, 4210752)
this.renderUniversalDisplay(8, this.ySize - 95, tileEntity.MAX_TIME, mouseX, mouseY, UnitDisplay.Unit.WATT)
}
/**
* Draw the background layer for the GuiContainer (everything behind the items)
*/
protected override def drawGuiContainerBackgroundLayer(par1: Float, par2: Int, par3: Int)
{
this.mc.renderEngine.bindTexture(GuiQuantumAssembler.texture)
GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F)
this.containerWidth = (this.width - this.xSize) / 2
this.containerHeight = (this.height - this.ySize) / 2
this.drawTexturedModalRect(this.containerWidth, this.containerHeight, 0, 0, this.xSize, this.ySize)
}
}