1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package nl.tudelft.goal.ut2004.visualizer.gui.dialogs;
18
19 import java.awt.FlowLayout;
20 import java.awt.Frame;
21 import java.awt.GridLayout;
22 import java.awt.event.ActionEvent;
23 import java.awt.event.ActionListener;
24 import java.util.Collection;
25
26 import javax.swing.JButton;
27 import javax.swing.JComboBox;
28 import javax.swing.JDialog;
29 import javax.swing.JLabel;
30 import javax.swing.JList;
31 import javax.swing.JOptionPane;
32 import javax.swing.JScrollPane;
33 import javax.swing.JSpinner;
34 import javax.swing.JTextField;
35 import javax.swing.ListSelectionModel;
36 import javax.swing.SpinnerNumberModel;
37
38 import nl.tudelft.goal.ut2004.visualizer.controller.ServerController;
39 import nl.tudelft.goal.ut2004.visualizer.gui.action.AddNativeBotAction;
40 import nl.tudelft.goal.ut2004.visualizer.gui.widgets.WaypointBox;
41 import nl.tudelft.goal.ut2004.visualizer.util.SelectableWayPoint;
42
43 import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
44 import cz.cuni.amis.pogamut.unreal.communication.worldview.map.IUnrealWaypoint;
45 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbcommands.AddBot;
46 import cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.NavPoint;
47 import cz.cuni.amis.pogamut.ut2004.communication.worldview.map.Waypoint;
48 import cz.cuni.amis.pogamut.ut2004.server.IUT2004Server;
49 import cz.cuni.amis.utils.exception.PogamutException;
50
51
52
53
54
55
56
57 public class AddNativeBotDialog extends JDialog {
58
59
60
61
62 private JTextField nameField;
63
64
65
66
67 private JSpinner levelSpinner;
68
69
70
71
72 private JComboBox teamList;
73
74
75
76
77 private WaypointBox location;
78
79
80
81
82 private JButton addButton;
83
84
85
86
87 private JButton closeButton;
88
89
90
91
92
93
94
95
96
97
98
99
100 public AddNativeBotDialog(Frame parent, IUnrealWaypoint navPoint) {
101 super(parent, false);
102
103 setTitle("Add Native Bot");
104 setLayout(new FlowLayout());
105
106 add(new JLabel("Name"));
107 this.nameField = new JTextField();
108 this.nameField.setColumns(15);
109 add(nameField);
110
111
112 add(new JLabel("Level"));
113 SpinnerNumberModel levelModel = new SpinnerNumberModel(4, 1, 7, 1);
114 this.levelSpinner = new JSpinner(levelModel);
115 add(levelSpinner);
116
117 add(new JLabel("Team"));
118 this.teamList = new JComboBox(new String[] {"Other", "Red", "Blue" });
119 this.teamList.setSelectedIndex(0);
120 add(teamList);
121
122 location = new WaypointBox();
123 location.setSelected(navPoint);
124 add(location);
125
126 this.addButton = new JButton("Add Bot");
127 addButton.addActionListener(new AddNativeBotAction(nameField, location,
128 levelSpinner, teamList));
129 add(addButton);
130
131 setSize(400, 125);
132 }
133 }