1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 package nl.tudelft.goal.ut2004.environment;
22
23 import java.util.HashMap;
24
25 import cz.cuni.amis.pogamut.ut2004.bot.impl.UT2004BotController;
26
27 import nl.tudelft.goal.EIS2Java.handlers.ActionHandler;
28 import nl.tudelft.goal.EIS2Java.handlers.AllPerceptPerceptHandler;
29 import nl.tudelft.goal.EIS2Java.handlers.DefaultActionHandler;
30 import nl.tudelft.goal.EIS2Java.handlers.PerceptHandler;
31 import nl.tudelft.goal.EIS2Java.translation.Translator;
32 import nl.tudelft.goal.unreal.environment.AbstractUnrealEnvironment;
33 import nl.tudelft.goal.unreal.translators.LocationTranslator;
34 import nl.tudelft.goal.unreal.translators.NavPointTranslator;
35 import nl.tudelft.goal.unreal.translators.RotationTranslator;
36 import nl.tudelft.goal.unreal.translators.TeamTranslator;
37 import nl.tudelft.goal.unreal.translators.UnrealIdTranslator;
38 import nl.tudelft.goal.unreal.translators.VelocityTranslator;
39 import nl.tudelft.goal.ut2004.agent.UT2004BotBehavior;
40 import nl.tudelft.goal.ut2004.translators.ItemTypeTranslator;
41 import nl.tudelft.goal.ut2004.translators.ComboTranslator;
42 import nl.tudelft.goal.ut2004.translators.FireModeTranslator;
43 import nl.tudelft.goal.ut2004.translators.FlagStateTranslator;
44 import nl.tudelft.goal.ut2004.translators.GameTypeTranslator;
45 import nl.tudelft.goal.ut2004.translators.CategoryTranslator;
46 import nl.tudelft.goal.ut2004.translators.NavigationStateTranslator;
47 import nl.tudelft.goal.ut2004.translators.NoneTranslator;
48 import nl.tudelft.goal.ut2004.translators.PerceptTranslator;
49 import nl.tudelft.goal.ut2004.translators.SelectorListTranslator;
50 import nl.tudelft.goal.ut2004.translators.SelectorTranslator;
51 import nl.tudelft.goal.ut2004.translators.UnrealIdOrLocationTranslator;
52 import nl.tudelft.goal.ut2004.translators.WeaponPrefListTranslator;
53 import nl.tudelft.goal.ut2004.translators.WeaponPrefTranslator;
54 import eis.exceptions.EntityException;
55 import eis.exceptions.ManagementException;
56 import eis.iilang.Identifier;
57 import eis.iilang.Parameter;
58 import eis.iilang.ParameterList;
59
60 public class UT2004Environment extends AbstractUnrealEnvironment {
61
62
63
64
65 private static final long serialVersionUID = 8240549393243585632L;
66
67 @Override
68 protected void registerTranslators() {
69
70 Translator translator = Translator.getInstance();
71
72
73
74
75
76
77
78 LocationTranslator locationTranslator = new LocationTranslator();
79 translator.registerJava2ParameterTranslator(locationTranslator);
80 translator.registerParameter2JavaTranslator(locationTranslator);
81
82
83
84
85
86
87
88 NavPointTranslator navPointTranslator = new NavPointTranslator();
89 translator.registerJava2ParameterTranslator(navPointTranslator);
90 translator.registerParameter2JavaTranslator(navPointTranslator);
91
92 RotationTranslator rotationTranslator = new RotationTranslator();
93 translator.registerJava2ParameterTranslator(rotationTranslator);
94 translator.registerParameter2JavaTranslator(rotationTranslator);
95
96 TeamTranslator teamTranslator = new TeamTranslator();
97 translator.registerJava2ParameterTranslator(teamTranslator);
98 translator.registerParameter2JavaTranslator(teamTranslator);
99
100 UnrealIdTranslator unrealIdTranslator = new UnrealIdTranslator();
101 translator.registerJava2ParameterTranslator(unrealIdTranslator);
102 translator.registerParameter2JavaTranslator(unrealIdTranslator);
103
104 VelocityTranslator velocityTranslator = new VelocityTranslator();
105 translator.registerJava2ParameterTranslator(velocityTranslator);
106 translator.registerParameter2JavaTranslator(velocityTranslator);
107
108
109
110
111
112
113 CategoryTranslator itemTypeTranslator = new CategoryTranslator();
114 translator.registerJava2ParameterTranslator(itemTypeTranslator);
115
116 ComboTranslator comboTranslator = new ComboTranslator();
117 translator.registerParameter2JavaTranslator(comboTranslator);
118
119 FireModeTranslator fireModeTranslator = new FireModeTranslator();
120 translator.registerJava2ParameterTranslator(fireModeTranslator);
121 translator.registerParameter2JavaTranslator(fireModeTranslator);
122
123 FlagStateTranslator flagStateTranslator = new FlagStateTranslator();
124 translator.registerJava2ParameterTranslator(flagStateTranslator);
125
126 GameTypeTranslator gameTypeTranslator = new GameTypeTranslator();
127 translator.registerJava2ParameterTranslator(gameTypeTranslator);
128
129 ItemTypeTranslator categoryTranslator = new ItemTypeTranslator();
130 translator.registerJava2ParameterTranslator(categoryTranslator);
131 translator.registerParameter2JavaTranslator(categoryTranslator);
132
133 NavigationStateTranslator navigationStateTranslator = new NavigationStateTranslator();
134 translator.registerJava2ParameterTranslator(navigationStateTranslator);
135
136 NoneTranslator noneTranslator = new NoneTranslator();
137 translator.registerJava2ParameterTranslator(noneTranslator);
138
139 PerceptTranslator perceptTranslator = new PerceptTranslator();
140 translator.registerJava2ParameterTranslator(perceptTranslator);
141
142 SelectorListTranslator selectorListTranslator = new SelectorListTranslator();
143 translator.registerParameter2JavaTranslator(selectorListTranslator);
144
145 SelectorTranslator selectorTranslator = new SelectorTranslator();
146 translator.registerParameter2JavaTranslator(selectorTranslator);
147
148 UnrealIdOrLocationTranslator unrealIdOrLocationTranslator = new UnrealIdOrLocationTranslator();
149 translator.registerParameter2JavaTranslator(unrealIdOrLocationTranslator);
150
151 WeaponPrefListTranslator weaponPrefListTranslator = new WeaponPrefListTranslator();
152 translator.registerParameter2JavaTranslator(weaponPrefListTranslator);
153
154 WeaponPrefTranslator weaponPrefTranslator = new WeaponPrefTranslator();
155 translator.registerParameter2JavaTranslator(weaponPrefTranslator);
156 }
157
158 public static void main(String[] args) throws ManagementException {
159 HashMap<String, Parameter> map = new HashMap<String, Parameter>();
160 map.put("botNames", new ParameterList(new Identifier("Test")));
161 new UT2004Environment().init(map);
162
163 }
164
165 @Override
166 protected Class<UT2004BotBehavior> getControlerClass() {
167 return UT2004BotBehavior.class;
168 }
169
170 @Override
171 protected PerceptHandler createPerceptHandler(UT2004BotController controller) throws EntityException {
172 return new AllPerceptPerceptHandler(controller);
173 }
174
175 @Override
176 protected ActionHandler createActionHandler(UT2004BotController controller) throws EntityException {
177 return new DefaultActionHandler(controller);
178 }
179
180 }