Files
Parabot-317-API-Minified/src/main/java/org/rev317/min/ui/BotMenu.java
T
2017-02-01 20:35:49 +00:00

99 lines
3.2 KiB
Java

package org.rev317.min.ui;
import org.parabot.core.Context;
import org.parabot.core.paint.PaintDebugger;
import org.rev317.min.callback.MenuAction;
import org.rev317.min.debug.*;
import javax.swing.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
* @author JKetelaar, Everel
*/
public class BotMenu implements ActionListener {
public BotMenu(JMenuBar bar) {
PaintDebugger debugger = Context.getInstance().getPaintDebugger();
JMenu debug = new JMenu("Debug");
JMenu actions = new JMenu("Actions");
JMenuItem enableActions = newItem("Enable Actions");
JMenuItem animation = newItem("Animation");
JMenuItem bank = newItem("Bank");
JMenuItem flags = newItem("Collision flags");
JMenuItem items = newItem("GroundItems");
JMenuItem interfaces = newItem("Interfaces");
JMenuItem inventory = newItem("Inventory");
JMenuItem map = newItem("Map");
JMenuItem messages = newItem("Messages");
JMenuItem mouse = newItem("Mouse");
JMenuItem npcs = newItem("Npcs");
JMenuItem objects = newItem("Objects");
JMenuItem players = newItem("Players");
debugger.addDebugger("Enable Actions", new DActions());
debugger.addDebugger("Animation", new DAnimation());
debugger.addDebugger("Bank", new DBank());
debugger.addDebugger("Collision flags", new DCollisionFlags());
debugger.addDebugger("GroundItems", new DGroundItems());
debugger.addDebugger("Interfaces", new DInterfaces());
debugger.addDebugger("Inventory", new DInventory());
debugger.addDebugger("Map", new DMap());
debugger.addDebugger("Messages", new DMessages());
debugger.addDebugger("Mouse", new DMouse());
debugger.addDebugger("Npcs", new DNpcs());
debugger.addDebugger("Objects", new DSceneObjects());
debugger.addDebugger("Players", new DPlayers());
debug.add(actions);
actions.add(enableActions);
debug.add(animation);
debug.add(bank);
debug.add(flags);
debug.add(items);
debug.add(interfaces);
debug.add(inventory);
debug.add(map);
debug.add(messages);
debug.add(mouse);
debug.add(npcs);
debug.add(objects);
debug.add(players);
actions.addSeparator();
ButtonGroup group = new ButtonGroup();
for (int i = 0; i < MenuAction.getOutputs().length; i++) {
final int index = i;
JMenuItem debugOutput = new JRadioButtonMenuItem("Output: " + index);
debugOutput.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
MenuAction.setCurrentOutputIndex(index);
}
});
group.add(debugOutput);
actions.add(debugOutput);
}
bar.add(debug);
}
private JMenuItem newItem(String name) {
JMenuItem item = new JCheckBoxMenuItem(name);
item.addActionListener(this);
return item;
}
@Override
public void actionPerformed(ActionEvent e) {
Context.getInstance().getPaintDebugger().toggle(e.getActionCommand());
}
}