package com.jpii.navalbattle.game.gui; import java.awt.Color; import java.awt.Graphics2D; import java.awt.event.MouseEvent; import java.awt.image.BufferedImage; import com.jpii.navalbattle.NavalBattle; import com.jpii.navalbattle.game.NavalGame; import com.jpii.navalbattle.pavo.Game; import com.jpii.navalbattle.pavo.gui.MessageBox; import com.jpii.navalbattle.pavo.gui.MessageBoxIcon; import com.jpii.navalbattle.pavo.gui.NewWindowManager; import com.jpii.navalbattle.pavo.gui.controls.PWindow; import com.jpii.navalbattle.util.FileUtils; import javax.swing.ImageIcon; public class StatusBar extends PWindow { BufferedImage icn_mouse; int mx, my; NavalGame gameThing; /** * Initializes a new instance of <code>StatusBar</code> */ public StatusBar(NewWindowManager parent, NavalGame game) { super(parent); gameThing = game; icn_mouse = FileUtils.getImage("icons/game/mouse.png"); setTitleVisiblity(false); setSize(Game.Settings.currentWidth,25); setVisible(true); repaint(); } public void paint(Graphics2D g) { super.paint(g); g.drawImage(icn_mouse,1,3,null); g.setColor(Color.black); g.fillRect(19,2,60,20); g.setColor(Color.darkGray); g.draw3DRect(19,2,60,20,true); g.draw3DRect(20,3,58,18,true); g.setColor(Color.white); String mstr = "("+mx+","+my+")"; int wd = (60-g.getFontMetrics().stringWidth(mstr))/2; g.drawString(mstr, 20+wd, 17); g.setColor(Color.black); g.fillRect(width-111, 2, 100, 20); g.setColor(Color.darkGray); g.draw3DRect(width-111,2,100,20,true); g.draw3DRect(width-110,3,98,18,true); g.setColor(Color.white); int sd = 2; if(gameThing!=null&&gameThing.getManager()!=null&&gameThing.getTurnManager()!=null) g.drawString("Score: "+gameThing.getTurnManager().getTurn().getPlayer().getScore(), width-110+sd, 17); g.setColor(Color.black); g.fillRect(width-221, 2, 100, 20); g.setColor(Color.darkGray); g.draw3DRect(width-221,2,100,20,true); g.draw3DRect(width-220,3,98,18,true); g.setColor(Color.white); if(gameThing!=null) g.drawString("Time: " + gameThing.getWorld().getTimeManager().getCurrentHour() + ":00", width-220+sd, 17); g.setColor(Color.black); g.fillRect(width-326, 2, 100, 20); g.setColor(Color.darkGray); g.draw3DRect(width-326,2,100,20,true); g.draw3DRect(width-325,3,98,18,true); g.setColor(Color.white); if(NavalBattle.getGameState().isOffline()) g.drawString("Offline Mode", width-325+sd, 17); else { g.drawImage(new ImageIcon(NavalBattle.getRoketGamer().getPlayer().getAvatarAsBytes(16)).getImage(),width-348+sd,5,null); g.drawString(NavalBattle.getRoketGamer().getPlayer().getName(), width-325+sd, 17); } } public void setMouseTileLocation(int x, int y) { boolean flag = false; if (mx != x || my != y) flag = true; mx = x; my = y; if (flag) repaint(); } public void setLoc(int x, int y) { this.x = x; this.y = y; repaint(); } public boolean mouseDown(MouseEvent me) { if(me.getX() >= width-326 && me.getX() <= (width-326) + 100) { if(NavalBattle.getGameState().isOffline()) MessageBox.show("Offline Mode","Connect to the internet to enjoy RoketGamer features.", MessageBoxIcon.Notify, false); return true; } return false; } }