diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
| commit | e1e781bb2135ef78592226f1a3eaba4925702f1f (patch) | |
| tree | 8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/console/RemoveHandler.java | |
| download | worlds.jar-main.tar.xz worlds.jar-main.zip | |
Diffstat (limited to 'NET/worlds/console/RemoveHandler.java')
| -rw-r--r-- | NET/worlds/console/RemoveHandler.java | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/NET/worlds/console/RemoveHandler.java b/NET/worlds/console/RemoveHandler.java new file mode 100644 index 0000000..058abdd --- /dev/null +++ b/NET/worlds/console/RemoveHandler.java @@ -0,0 +1,119 @@ +/* */ package NET.worlds.console; +/* */ +/* */ import NET.worlds.scape.BumpEventTemp; +/* */ import NET.worlds.scape.BumpHandler; +/* */ import NET.worlds.scape.NoSuchPropertyException; +/* */ import NET.worlds.scape.Portal; +/* */ import NET.worlds.scape.Restorer; +/* */ import NET.worlds.scape.Room; +/* */ import NET.worlds.scape.Saver; +/* */ import NET.worlds.scape.SuperRoot; +/* */ import NET.worlds.scape.TooNewException; +/* */ import NET.worlds.scape.VectorProperty; +/* */ import java.io.IOException; +/* */ import java.util.Enumeration; +/* */ import java.util.Vector; +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ +/* */ public class RemoveHandler +/* */ extends SuperRoot +/* */ implements BumpHandler +/* */ { +/* 39 */ private Vector<Object> handlers = new Vector(1); +/* */ +/* */ public RemoveHandler() {} +/* */ +/* */ public RemoveHandler(SuperRoot oldhandler) +/* */ { +/* 45 */ this.handlers.addElement(oldhandler); +/* */ } +/* */ +/* */ public boolean handle(BumpEventTemp e) { +/* 49 */ Room sc = ((Portal)e.target).getRoom(); +/* 50 */ assert (((sc instanceof Staircase)) || ((sc instanceof Stair))); +/* 51 */ Enumeration<Object> enh = this.handlers.elements(); +/* 52 */ while (enh.hasMoreElements()) { +/* 53 */ SuperRoot handler = (SuperRoot)enh.nextElement(); +/* 54 */ if (sc.hasHandler(handler)) +/* 55 */ sc.removeHandler(handler); +/* */ } +/* 57 */ return true; +/* */ } +/* */ +/* 60 */ private static Object classCookie = new Object(); +/* */ +/* */ public void saveState(Saver s) throws IOException +/* */ { +/* 64 */ s.saveVersion(2, classCookie); +/* 65 */ super.saveState(s); +/* 66 */ s.saveVector(this.handlers); +/* */ } +/* */ +/* */ public void restoreState(Restorer r) throws IOException, TooNewException +/* */ { +/* 71 */ switch (r.restoreVersion(classCookie)) { +/* */ case 2: +/* 73 */ super.restoreState(r); +/* 74 */ this.handlers = r.restoreVector(); +/* 75 */ break; +/* */ case 1: +/* 77 */ super.restoreState(r); +/* */ +/* */ case 0: +/* 80 */ if (r.restoreBoolean()) +/* 81 */ this.handlers.addElement(r.restore()); +/* 82 */ break; +/* */ default: +/* 84 */ throw new TooNewException(); +/* */ } +/* */ +/* */ } +/* */ +/* */ +/* */ +/* */ public Object properties(int index, int offset, int mode, Object value) +/* */ throws NoSuchPropertyException +/* */ { +/* 94 */ Object ret = null; +/* */ +/* 96 */ switch (index - offset) { +/* */ case 0: +/* 98 */ if (mode == 0) { +/* 99 */ ret = new VectorProperty(this, index, "Handlers to Remove"); +/* 100 */ } else if (mode == 1) { +/* 101 */ ret = this.handlers.clone(); +/* 102 */ } else if (mode == 4) { +/* 103 */ this.handlers.removeElement(value); +/* 104 */ } else if (mode == 3) +/* 105 */ this.handlers.addElement(value); +/* 106 */ break; +/* */ default: +/* 108 */ ret = super.properties(index, offset + 1, mode, value); +/* */ } +/* */ +/* 111 */ return ret; +/* */ } +/* */ } + + +/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\console\RemoveHandler.class + * Java compiler version: 6 (50.0) + * JD-Core Version: 0.7.1 + */
\ No newline at end of file |