Package buildcraft.tests

Source Code of buildcraft.tests.GuiTester

/**
* Copyright (c) 2011-2014, SpaceToad and the BuildCraft Team
* http://www.mod-buildcraft.com
*
* BuildCraft is distributed under the terms of the Minecraft Mod Public
* License 1.0, or MMPL. Please check the contents of the license located in
* http://www.mod-buildcraft.com/MMPL-1.0.txt
*/
package buildcraft.tests;

import org.lwjgl.input.Keyboard;
import org.lwjgl.opengl.GL11;

import net.minecraft.client.gui.GuiButton;
import net.minecraft.client.gui.GuiTextField;
import net.minecraft.client.gui.inventory.GuiContainer;
import net.minecraft.entity.player.EntityPlayer;
import net.minecraft.util.ResourceLocation;
import net.minecraft.world.World;

import buildcraft.BuildCraftBuilders;
import buildcraft.core.DefaultProps;
import buildcraft.tests.testcase.SequenceActionCheckBlockMeta;
import buildcraft.tests.testcase.TileTestCase;

public class GuiTester extends GuiContainer {

  private static final int TEXT_X = 10;
  private static final int TEXT_Y = 10;
  private static final int TEXT_WIDTH = 156;
  private static final int TEXT_HEIGHT = 12;

  private static final ResourceLocation TEXTURE = new ResourceLocation(
      "buildcraft", DefaultProps.TEXTURE_PATH_GUI + "/tester.png");

  private GuiButton checkBlockAndMeta;
  private GuiButton checkTileMethod;
  private GuiButton checkTestCommand;
  private GuiButton cancel;

  private GuiTextField textField;

  private World world;
  private int x, y, z;

  public GuiTester(EntityPlayer player, int ix, int iy, int iz) {
    super(new ContainerTester(player, ix, iy, iz));
    x = ix;
    y = iy;
    z = iz;
    xSize = 256;
    ySize = 166;
    world = player.worldObj;
  }

  @SuppressWarnings("unchecked")
  @Override
  public void initGui() {
    super.initGui();
    int xscreen = (width - xSize) / 2;
    int yscreen = (height - ySize) / 2;

    Keyboard.enableRepeatEvents(true);

    checkBlockAndMeta = new GuiButton(0, xscreen + 5, yscreen + 30, 120, 20, "");
    checkBlockAndMeta.displayString = "Check Block and Meta";
    buttonList.add(checkBlockAndMeta);

    checkTileMethod = new GuiButton(1, xscreen + 5, yscreen + 55, 120, 20, "");
    checkTileMethod.displayString = "Check Tile Method";
    buttonList.add(checkTileMethod);

    checkTestCommand = new GuiButton(2, xscreen + 5, yscreen + 80, 120, 20, "");
    checkTestCommand.displayString = "Check Test Command";
    buttonList.add(checkTestCommand);

    cancel = new GuiButton(2, xscreen + 5, yscreen + 105, 120, 20, "");
    cancel.displayString = "Cancel";
    buttonList.add(cancel);

    textField = new GuiTextField(this.fontRendererObj, TEXT_X, TEXT_Y, TEXT_WIDTH, TEXT_HEIGHT);
    textField.setMaxStringLength(BuildCraftBuilders.MAX_BLUEPRINTS_NAME_SIZE);
    textField.setText("");
    textField.setFocused(true);
  }

  @Override
  public void onGuiClosed() {
    Keyboard.enableRepeatEvents(false);
  }

  @Override
  protected void actionPerformed(GuiButton button) {
    if (button == checkBlockAndMeta) {
      TileTestCase.currentTestCase.registerAction(new SequenceActionCheckBlockMeta(world, x, y, z));
      mc.thePlayer.closeScreen();
    } else if (button == cancel) {
      mc.thePlayer.closeScreen();
    }
  }

  @Override
  protected void drawGuiContainerForegroundLayer(int par1, int par2) {
    textField.drawTextBox();
  }

  @Override
  protected void drawGuiContainerBackgroundLayer(float f, int x, int y) {
    GL11.glColor4f(1.0F, 1.0F, 1.0F, 1.0F);
    mc.renderEngine.bindTexture(TEXTURE);
    int j = (width - xSize) / 2;
    int k = (height - ySize) / 2;
    drawTexturedModalRect(j, k, 0, 0, xSize, ySize);
  }

  @Override
  protected void mouseClicked(int i, int j, int k) {
    super.mouseClicked(i, j, k);

    int xMin = (width - xSize) / 2;
    int yMin = (height - ySize) / 2;
    int xscreen = i - xMin;
    int yscreen = j - yMin;

    if (xscreen >= TEXT_X && yscreen >= TEXT_Y
        && xscreen <= TEXT_X + TEXT_WIDTH && yscreen <= TEXT_Y + TEXT_HEIGHT) {
      textField.setFocused(true);
    } else {
      textField.setFocused(false);
    }
  }

  @Override
  protected void keyTyped(char c, int i) {
    if (textField.isFocused()) {
      if (c == 13 || c == 27) {
        textField.setFocused(false);
      } else {
        textField.textboxKeyTyped(c, i);

      }
    } else {
      super.keyTyped(c, i);
    }
  }
}
TOP

Related Classes of buildcraft.tests.GuiTester

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.