summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/SameRoomSensor.java
diff options
context:
space:
mode:
authorFuwn <[email protected]>2021-05-03 16:38:41 -0700
committerFuwn <[email protected]>2021-05-03 16:38:41 -0700
commite1e781bb2135ef78592226f1a3eaba4925702f1f (patch)
tree8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/SameRoomSensor.java
downloadworlds.jar-main.tar.xz
worlds.jar-main.zip
:star:HEADmain
Diffstat (limited to 'NET/worlds/scape/SameRoomSensor.java')
-rw-r--r--NET/worlds/scape/SameRoomSensor.java106
1 files changed, 106 insertions, 0 deletions
diff --git a/NET/worlds/scape/SameRoomSensor.java b/NET/worlds/scape/SameRoomSensor.java
new file mode 100644
index 0000000..8f2276a
--- /dev/null
+++ b/NET/worlds/scape/SameRoomSensor.java
@@ -0,0 +1,106 @@
+/* */ 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
+ */ \ No newline at end of file