package com.droidquest.materials; import java.awt.Color; import java.awt.Graphics; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import com.droidquest.items.Item; public class BatteryOut extends Material { // Graph that shows the battery charge in a Generic Robot public BatteryOut() { passable = true; GenerateIcons(); } public transient Item robot; public void GenerateIcons() { BufferedImage bi = new BufferedImage(28,32,BufferedImage.TYPE_4BYTE_ABGR); icon = new ImageIcon(bi); Graphics g; try { g = bi.getGraphics(); } catch (NullPointerException e) { System.out.println("Could not get Graphics pointer to " + getClass() + " Image"); return; } g.setColor(Color.black); g.fillRect(0,0,28,32); g.setColor(Color.white); g.fillRect(4,0,8,32); g.fillRect(18,0,10,32); g.fillRect(0,8,4,4); g.fillRect(0,20,4,4); } public void Animate() { Graphics g; try { g = icon.getImage().getGraphics(); } catch (NullPointerException e) { System.out.println("Could not get Graphics pointer to " + getClass() + " Image"); return; } g.setColor(Color.black); g.fillRect(12,0,6,32); g.setColor(new Color(255,128,0)); if (robot!=null) { int fuel = (robot.charge+1564) / 3125; // 3125 = 100,000/32 g.fillRect(12,32-fuel,6,fuel); } } public boolean equals(Material mat) { if (super.equals(mat)) if (robot != null) if (robot == ((BatteryOut)mat).robot) return true; return false; } }