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 Crystal extends Item { int color = 0; // 0 = blue; 1 = orange public Crystal(int X, int Y, Room r, int ch) { x=X; y=Y; room=r; charge=ch; width=28; height=24; editable=true; GenerateIcons(); currentIcon = icons[0].getImage(); } public void GenerateIcons() { icons = new ImageIcon[3]; icons[0]= new ImageIcon(new BufferedImage(width,height,BufferedImage.TYPE_4BYTE_ABGR)); icons[1]= new ImageIcon(new BufferedImage(width,height,BufferedImage.TYPE_4BYTE_ABGR)); icons[2]= new ImageIcon(new BufferedImage(width,height,BufferedImage.TYPE_4BYTE_ABGR)); Graphics g; Graphics2D g2; Color transparent = new Color(0,0,0,0); // 0 = blue 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.blue); g.fillRect(12,0,4,24); g.fillRect(8,4,12,16); g.fillRect(4,6,20,12); g.fillRect(0,10,28,4); g.fillRect(0,4,4,2); g.fillRect(0,18,4,2); g.fillRect(24,4,4,2); g.fillRect(24,18,4,2); // 1 = orange 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(12,0,4,24); g.fillRect(8,4,12,16); g.fillRect(4,6,20,12); g.fillRect(0,10,28,4); g.fillRect(0,4,4,2); g.fillRect(0,18,4,2); g.fillRect(24,4,4,2); g.fillRect(24,18,4,2); // 2 = white try { g = icons[2].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(12,0,4,24); g.fillRect(8,4,12,16); g.fillRect(4,6,20,12); g.fillRect(0,10,28,4); g.fillRect(0,4,4,2); g.fillRect(0,18,4,2); g.fillRect(24,4,4,2); g.fillRect(24,18,4,2); currentIcon = icons[color].getImage(); if (charge==0) currentIcon = icons[2].getImage(); } public void Decorate() { if (charge>0) { color = 1-color; currentIcon = icons[color].getImage(); } else currentIcon = icons[2].getImage(); } }