package com.droidquest.items; import java.awt.Color; import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.image.BufferedImage; import javax.swing.ImageIcon; import com.droidquest.Room; public class PowerSwitch extends Item { // Controls the power in a Generic Robot public PowerSwitch(int X, int Y, Room r) { x = X; y = Y; room = r; width = 28; height = 32; GenerateIcons(); if (((GenericRobot) room.portalItem).thrusterPower) { currentIcon = icons[1].getImage(); } else { currentIcon = icons[0].getImage(); } } public void GenerateIcons() { icons = new ImageIcon[2]; icons[0] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR)); icons[1] = new ImageIcon(new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR)); Graphics g; Graphics2D g2; Color transparent = new Color(0, 0, 0, 0); // 0 = Off try { g = icons[0].getImage().getGraphics(); } catch (NullPointerException e) { System.out.println("Could not get Graphics pointer to " + getClass() + "Image"); return; } g2 = (Graphics2D) g; g2.setBackground(transparent); g2.clearRect(0, 0, width, height); g.setColor(Color.white); g.fillRect(8, 0, 20, 4); g.fillRect(8, 0, 12, 8); g.fillRect(0, 10, 4, 4); g.fillRect(4, 14, 4, 4); g.fillRect(8, 18, 4, 4); g.fillRect(12, 22, 4, 4); g.fillRect(8, 26, 12, 6); g.fillRect(20, 28, 8, 4); // 1 = On try { g = icons[1].getImage().getGraphics(); } catch (NullPointerException e) { System.out.println("Could not get Graphics pointer to " + getClass() + "Image"); return; } g2 = (Graphics2D) g; g2.setBackground(transparent); g2.clearRect(0, 0, width, height); g.setColor(new Color(255, 128, 0)); g.fillRect(8, 0, 20, 4); g.fillRect(8, 0, 12, 8); g.fillRect(12, 8, 4, 18); g.fillRect(8, 26, 12, 6); g.fillRect(20, 28, 8, 4); if (((GenericRobot) room.portalItem).thrusterPower) { currentIcon = icons[1].getImage(); } else { currentIcon = icons[0].getImage(); } } public boolean CanBePickedUp(Item i) { if (i != level.player) { return false; } ((GenericRobot) room.portalItem).thrusterPower = !((GenericRobot) room.portalItem).thrusterPower; if (((GenericRobot) room.portalItem).thrusterPower) { currentIcon = icons[1].getImage(); } else { currentIcon = icons[0].getImage(); } return false; } }