28public enum ObstacleType {
29 WILDERNESS_COURSE(
new WildernessDoorInteraction() {
31 public int getAnimation() {
35 public String getPreMessage() {
39 public String getPostMessage() {
43 PLANK(
new WalkInteraction() {
45 public int getAnimation() {
49 public String getPreMessage() {
53 public String getPostMessage() {
57 TIGHT_ROPE(
new WalkInteraction() {
59 public int getAnimation() {
63 public String getPreMessage() {
64 return "You carefully cross the tightrope...";
67 public String getPostMessage() {
71 LEDGE(
new WalkInteraction() {
73 public int getAnimation() {
77 public String getPreMessage() {
78 return "You put your foot on the ledge and try to edge across...";
81 public String getPostMessage() {
82 return "You skillfully ege across the gap.";
85 STEEP_LEDGE(
new WalkInteraction() {
87 public int getAnimation() {
91 public String getPreMessage() {
95 public String getPostMessage() {
99 PIPE(
new WalkInteraction() {
101 public int getAnimation() {
105 public String getPreMessage() {
106 return "You squeeze into the pipe...";
109 public String getPostMessage() {
113 NETTING(
new ClimbInteraction() {
115 public int getAnimation() {
119 public String getPreMessage() {
120 return "You climb the netting...";
123 public String getPostMessage() {
127 CLIMB_UP(
new ClimbInteraction() {
129 public int getAnimation() {
133 public String getPreMessage() {
137 public String getPostMessage() {
138 return "You climb up safely.";
141 CLIMB_DOWN(
new ClimbInteraction() {
143 public int getAnimation() {
147 public String getPreMessage() {
151 public String getPostMessage() {
152 return "You climb down safely.";
155 TREE_BRANCH_UP(
new ClimbInteraction() {
157 public int getAnimation() {
161 public String getPreMessage() {
162 return "You climb the tree...";
165 public String getPostMessage() {
166 return "...To the platform above.";
169 TREE_BRANCH_DOWN(
new ClimbInteraction() {
171 public int getAnimation() {
175 public String getPreMessage() {
176 return "You climb the tree...";
179 public String getPostMessage() {
180 return "You land on the ground.";
183 LADDER(
new ClimbInteraction() {
185 public int getAnimation() {
189 public String getPreMessage() {
190 return "You climb down the ladder.";
193 public String getPostMessage() {
197 LOW_WALL(
new ClimbOverInteraction() {
199 public int getAnimation() {
203 public String getPreMessage() {
204 return "You climb the low wall...";
207 public String getPostMessage() {
211 ROCKS(
new WalkInteraction() {
213 public int getAnimation() {
217 public String getPreMessage() {
218 return "You climb over the rocks...";
221 public String getPostMessage() {
225 ROPE_SWING(
new RopeSwingInteraction() {
227 public int getAnimation() {
231 public String getPreMessage() {
232 return "You skillfully swing across.";
235 public String getPostMessage() {
239 STEPPING_STONES(
new SteppingStonesInteraction() {
241 public int getAnimation() {
245 public String getPreMessage() {
246 return "You jump across the stepping stones...";
249 public String getPostMessage() {
250 return "...You make it safely to the other side.";
253 JUMP_OVER(
new WalkInteraction() {
255 public int getAnimation() {
259 public String getPreMessage() {
263 public String getPostMessage() {
267 SEERS_CLIMB(
new SeersClimbInteraction() {
269 public int getAnimation() {
273 public String getPreMessage() {
274 return "You climb up the wall...";
277 public String getPostMessage() {
281 ROOFTOP_CLIMB_1(
new ClimbInteraction() {
283 public int getAnimation() {
287 public String getPreMessage() {
288 return "You climb up the wall...";
291 public String getPostMessage() {
295 ROOFTOP_CLIMB_2(
new ClimbInteraction() {
297 public int getAnimation() {
301 public String getPreMessage() {
305 public String getPostMessage() {
309 JUMP_SEERS_GAP(
new SeersJumpGapInteraction() {
311 public int getAnimation() {
315 public String getPreMessage() {
319 public String getPostMessage() {
323 JUMP_ARDOUGNE_ROOF(
new ArdougneRoofJumpInteraction() {
325 public int getAnimation() {
329 public String getPreMessage() {
333 public String getPostMessage() {
337 JUMP_ARDOUGNE_GAP(
new ArdougneJumpGapInteraction() {
339 public int getAnimation() {
343 public String getPreMessage() {
347 public String getPostMessage() {
351 JUMP_SEERS_GAP_2(
new SeersJumpGapInteraction2() {
353 public int getAnimation() {
357 public String getPreMessage() {
361 public String getPostMessage() {
365 JUMP_ARDOUGNE_ROOF_2(
new ArdougneRoofJumpInteraction2() {
367 public int getAnimation() {
371 public String getPreMessage() {
375 public String getPostMessage() {
379 ARDOUGNE_WALL_CLIMB(
new ArdougneWallClimbInteraction() {
381 public int getAnimation() {
385 public String getPreMessage() {
386 return "You climb up the wall...";
389 public String getPostMessage() {
390 return "...jump, and grab hold of the sign!";
393 RUNNING_START(
new RunningStartInteraction() {
395 public int getAnimation() {
399 public String getPreMessage() {
400 return "You being an almighty run-up...";
403 public String getPostMessage() {
407 SWING_ACROSS(
new SwingAcrossCableInteraction() {
409 public int getAnimation() {
413 public String getPreMessage() {
417 public String getPostMessage() {
418 return "You gained enough momentum to swing to the other side!";
422 private final ObstacleInteraction interaction;
424 ObstacleType(ObstacleInteraction interaction) {
425 this.interaction = interaction;
428 public ObstacleInteraction getInteraction() {
433 interaction.execute(player, next, start, end, level, experience, ordinal);