1 package pcc.chemicraft.core.debug;
5 import java.awt.Graphics;
6 import java.awt.Graphics2D;
7 import java.util.EnumSet;
8 import java.util.HashMap;
9 import java.util.Iterator;
11 import javax.swing.JFrame;
12 import javax.swing.JPanel;
14 import cpw.mods.fml.common.ITickHandler;
15 import cpw.mods.fml.common.TickType;
17 public class DebugTick extends JPanel implements ITickHandler {
19 private static HashMap<String, DebugData[]> displayDataList = new HashMap<String, DebugData[]>();
22 JFrame frame = new JFrame();
23 frame.setSize(640, 480);
24 frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
26 frame.setVisible(true);
31 public void tickStart(EnumSet<TickType> type, Object... tickData) {
36 public void tickEnd(EnumSet<TickType> type, Object... tickData) {
41 public EnumSet<TickType> ticks() {
42 return EnumSet.of(TickType.CLIENT, TickType.CLIENT);
46 public String getLabel() {
51 public void paintComponent(Graphics g) {
52 Graphics2D g2 = (Graphics2D) g;
54 g2.clearRect(0, 0, this.getWidth(), this.getHeight());
57 Iterator<String> itKey = displayDataList.keySet().iterator();
58 while (itKey.hasNext()) {
59 String key = itKey.next();
60 DebugData[] datas = displayDataList.get(key);
61 g2.setFont(new Font("MS ゴシック", Font.BOLD, 16));
62 g2.setColor(Color.RED);
63 g2.drawString(key + ":", 10, fontPos);
64 g2.setFont(new Font("MS ゴシック", Font.PLAIN, 12));
65 g2.setColor(Color.BLACK);
69 for (int i = 0; i < datas.length; i++) {
70 g2.drawString(String.valueOf(datas[i].getKey()) + ":" + String.valueOf(datas[i].getValue()), 10, fontPos);
79 public static void setDebugData(String key, DebugData... value) {
80 displayDataList.put(key, value);
83 public static void removeDebugData(String key) {
84 displayDataList.remove(key);