| package li.cil.oc.client.gui |
| |
| import li.cil.oc.Localization |
| import li.cil.oc.client.Textures |
| import li.cil.oc.client.{PacketSender => ClientPacketSender} |
| import li.cil.oc.common.item.data.DriveData |
| import net.minecraft.client.gui.GuiButton |
| import net.minecraft.client.gui.GuiScreen |
| import net.minecraft.entity.player.InventoryPlayer |
| import net.minecraft.item.ItemStack |
| |
| class Drive(playerInventory: InventoryPlayer, val driveStack: () => ItemStack) extends GuiScreen with traits.Window { |
| override val windowHeight = 85 |
| |
| override def backgroundImage = Textures.guiDrive |
| |
| protected var managedButton: ImageButton = _ |
| protected var unmanagedButton: ImageButton = _ |
| |
| protected override def actionPerformed(button: GuiButton) { |
| if (button.id == 0) { |
| ClientPacketSender.sendDriveMode(false) |
| } |
| if (button.id == 1) { |
| ClientPacketSender.sendDriveMode(true) |
| } |
| } |
| |
| override def initGui(): Unit = { |
| super.initGui() |
| managedButton = new ImageButton(0, guiLeft + 11, guiTop + 11, 74, 18, Textures.guiButtonDriveMode, text = Localization.Drive.Managed, textColor = 0x608060, canToggle = true) |
| unmanagedButton = new ImageButton(1, guiLeft + 91, guiTop + 11, 74, 18, Textures.guiButtonDriveMode, text = Localization.Drive.Unmanaged, textColor = 0x608060, canToggle = true) |
| add(buttonList, managedButton) |
| add(buttonList, unmanagedButton) |
| } |
| |
| override def updateScreen(): Unit = { |
| unmanagedButton.toggled = new DriveData(driveStack()).isUnmanaged |
| managedButton.toggled = !unmanagedButton.toggled |
| super.updateScreen() |
| } |
| |
| override def drawScreen(mouseX: Int, mouseY: Int, dt: Float): Unit = { |
| super.drawScreen(mouseX, mouseY, dt) |
| fontRendererObj.drawSplitString(Localization.Drive.Warning, guiLeft + 7, guiTop + 37, xSize - 16, 0x404040) |
| } |
| } |