summary refs log tree commit diff stats
path: root/src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java')
-rwxr-xr-xsrc/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java b/src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java index 30db7a2..2daefab 100755 --- a/src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java +++ b/src/com/fourisland/fourpuzzle/gamestate/mapview/event/SpecialEvent.java
@@ -63,21 +63,27 @@ public class SpecialEvent {
63 public void DisplayMessage(String message) throws InterruptedException 63 public void DisplayMessage(String message) throws InterruptedException
64 { 64 {
65 MessageWindow mw; 65 MessageWindow mw;
66 66
67 if (faceSet.equals("")) 67 if (faceSet.equals(""))
68 { 68 {
69 mw = new MessageWindow(message); 69 mw = new MessageWindow(message);
70 } else { 70 } else {
71 mw = new MessageWindow(message, faceSet, face); 71 mw = new MessageWindow(message, faceSet, face);
72 } 72 }
73 73
74 Display.registerRenderable(mw); 74 Display.registerRenderable(mw);
75 KeyboardInput.registerInputable(mw); 75 KeyboardInput.registerInputable(mw);
76
77 mw.waitForCompletion();
78 76
79 Display.unregisterRenderable(mw); 77 try {
80 KeyboardInput.unregisterInputable(mw); 78 mw.waitForCompletion();
79 } catch (InterruptedException ex) {
80 /* The special event has been cancelled, kill the message and then
81 * propogate the exception to the EventHandler */
82 throw ex;
83 } finally {
84 Display.unregisterRenderable(mw);
85 KeyboardInput.unregisterInputable(mw);
86 }
81 } 87 }
82 88
83 /** 89 /**