/* */ package NET.worlds.scape; /* */ /* */ import java.io.IOException; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class SameRoomSensor /* */ extends Sensor /* */ implements FrameHandler /* */ { /* */ private Room lastCamRoom; /* */ /* */ public SameRoomSensor(Action a) /* */ { /* 31 */ if (a != null) { /* 32 */ addAction(a); /* */ } /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public SameRoomSensor() {} /* */ /* */ /* */ /* */ /* */ public void detach() /* */ { /* 47 */ this.lastCamRoom = null; /* 48 */ super.detach(); /* */ } /* */ /* */ /* */ /* */ /* */ /* */ /* */ public boolean handle(FrameEvent e) /* */ { /* 58 */ Object owner = getOwner(); /* 59 */ if ((owner == null) || (!(owner instanceof WObject))) /* 60 */ return true; /* 61 */ WObject o = (WObject)owner; /* */ /* 63 */ Room thisRoom = o.getRoom(); /* 64 */ Room thisCamRoom = Pilot.getActiveRoom(); /* */ /* 66 */ if ((thisCamRoom == thisRoom) && (this.lastCamRoom != thisCamRoom)) { /* 67 */ trigger(e); /* */ } /* 69 */ this.lastCamRoom = thisCamRoom; /* 70 */ return true; /* */ } /* */ /* */ /* */ /* */ /* */ /* 77 */ private static Object classCookie = new Object(); /* */ /* */ public void saveState(Saver s) throws IOException /* */ { /* 81 */ super.saveState(s); /* 82 */ s.saveVersion(0, classCookie); /* */ } /* */ /* */ public void restoreState(Restorer r) throws IOException, TooNewException /* */ { /* 87 */ int vers = super.restoreStateVers(r); /* */ /* */ /* 90 */ if (vers <= 1) { /* 91 */ return; /* */ } /* 93 */ switch (r.restoreVersion(classCookie)) { /* */ case 0: /* */ break; /* */ default: /* 97 */ throw new TooNewException(); /* */ } /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\SameRoomSensor.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */