Package mekanism.client.gui

Source Code of mekanism.client.gui.GuiEnergyGauge

package mekanism.client.gui;

import mekanism.api.energy.IStrictEnergyStorage;
import mekanism.client.render.MekanismRenderer;
import mekanism.common.util.MekanismUtils;

import net.minecraft.util.IIcon;
import net.minecraft.util.ResourceLocation;

import codechicken.lib.vec.Rectangle4i;

public class GuiEnergyGauge extends GuiGauge
{
  IEnergyInfoHandler infoHandler;

  public GuiEnergyGauge(IEnergyInfoHandler handler, Type type, IGuiWrapper gui, ResourceLocation def, int x, int y)
  {
    super(type, gui, def, x, y);

    infoHandler = handler;
  }
 
  @Override
  public Rectangle4i getBounds(int guiWidth, int guiHeight)
  {
    return new Rectangle4i(guiWidth - 26, guiHeight + 6, 26, 26);
  }

  @Override
  public int getScaledLevel()
  {
    return (int)(infoHandler.getEnergyStorage().getEnergy()*(height-2) / infoHandler.getEnergyStorage().getMaxEnergy());
  }

  @Override
  public IIcon getIcon()
  {
    return MekanismRenderer.energyIcon;
  }

  @Override
  public String getTooltipText()
  {
    return infoHandler.getEnergyStorage().getEnergy() > 0 ? MekanismUtils.getEnergyDisplay(infoHandler.getEnergyStorage().getEnergy()) : MekanismUtils.localize("gui.empty");
  }

  public static interface IEnergyInfoHandler
  {
    public IStrictEnergyStorage getEnergyStorage();
  }
}
TOP

Related Classes of mekanism.client.gui.GuiEnergyGauge

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.