/* */ package NET.worlds.scape; /* */ /* */ import NET.worlds.console.Console; /* */ import java.io.IOException; /* */ import java.text.MessageFormat; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ public class Toggle /* */ extends TriggeredSwitchableBehavior /* */ implements Persister, FrameHandler, MouseDownHandler, BumpHandler /* */ { /* */ protected boolean toggleBumpable; /* */ protected boolean toggleVisible; /* */ protected WObject o; /* 25 */ protected boolean initialized = false; /* */ /* */ public Toggle() /* */ { /* 29 */ this.trigger = new String("none"); /* 30 */ this.externalTriggerTag = new String(""); /* 31 */ this.toggleBumpable = true; /* 32 */ this.toggleVisible = true; /* */ } /* */ /* */ /* */ /* */ /* */ /* */ public void ExternalTrigger(Trigger trigger_source, int sequence_no, int event_no) /* */ { /* 41 */ this.trigger_source = trigger_source; /* 42 */ this.sequence_no = sequence_no; /* 43 */ this.event_no = event_no; /* 44 */ toggle(); /* */ } /* */ /* */ /* */ /* */ /* */ public void toggle() /* */ { /* 52 */ if (this.toggleBumpable) { /* 53 */ this.o.setBumpable(true); /* */ } else { /* 55 */ this.o.setBumpable(false); /* */ } /* 57 */ if (this.toggleVisible) { /* 58 */ this.o.setVisible(true); /* */ } else { /* 60 */ this.o.setVisible(false); /* */ } /* 62 */ if (this.trigger_source != null) { /* 63 */ this.trigger_source.registerFinishedTriggerTag(this.sequence_no, this.event_no); /* */ } /* */ } /* */ /* */ /* */ public boolean handle(FrameEvent e) /* */ { /* 70 */ if (!this.initialized) { /* 71 */ this.o = e.receiver; /* 72 */ this.initialized = true; /* */ } /* 74 */ return true; /* */ } /* */ /* */ /* */ public boolean handle(MouseDownEvent e) /* */ { /* 80 */ if ((this.enabled) && /* 81 */ (this.trigger.equals("click"))) { /* 82 */ toggle(); /* */ } /* */ /* 85 */ return true; /* */ } /* */ /* */ public boolean handle(BumpEventTemp e) /* */ { /* 90 */ if ((this.enabled) && /* 91 */ (this.trigger.equals("bump"))) { /* 92 */ toggle(); /* */ } /* */ /* 95 */ return true; /* */ } /* */ /* */ /* */ /* */ /* */ public Object properties(int index, int offset, int mode, Object value) /* */ throws NoSuchPropertyException /* */ { /* 104 */ Object ret = null; /* 105 */ switch (index - offset) { /* */ case 0: /* 107 */ if (mode == 0) { /* 108 */ ret = StringPropertyEditor.make( /* 109 */ new Property(this, index, "Trigger")); /* 110 */ } else if (mode == 1) { /* 111 */ ret = new String(this.trigger); /* 112 */ } else if (mode == 2) { /* 113 */ this.trigger = ((String)value).toString().trim(); /* 114 */ if (this.trigger.equals("external")) { /* 115 */ Trigger.TriggeredSwitchableBehaviorList[ /* 116 */ Trigger.TriggeredSwitchableBehaviorListCount] = this; /* 117 */ Trigger.TriggeredSwitchableBehaviorListCount += 1; /* */ } /* */ } /* */ /* 121 */ break; /* */ case 1: /* 123 */ if (mode == 0) { /* 124 */ ret = StringPropertyEditor.make( /* 125 */ new Property(this, index, "External Trigger Tag")); /* 126 */ } else if (mode == 1) { /* 127 */ ret = new String(this.externalTriggerTag); /* 128 */ } else if (mode == 2) { /* 129 */ this.externalTriggerTag = ((String)value).toString().trim(); /* */ } /* 131 */ break; /* */ case 2: /* 133 */ if (mode == 0) { /* 134 */ ret = BooleanPropertyEditor.make( /* 135 */ new Property(this, index, "Toggle Bumpable"), /* 136 */ "No", "Yes"); /* 137 */ } else if (mode == 1) { /* 138 */ ret = new Boolean(this.toggleBumpable); /* 139 */ } else if (mode == 2) /* 140 */ this.toggleBumpable = ((Boolean)value).booleanValue(); /* 141 */ break; /* */ case 3: /* 143 */ if (mode == 0) { /* 144 */ ret = BooleanPropertyEditor.make( /* 145 */ new Property(this, index, "Toggle Visible"), /* 146 */ "No", "Yes"); /* 147 */ } else if (mode == 1) { /* 148 */ ret = new Boolean(this.toggleVisible); /* 149 */ } else if (mode == 2) /* 150 */ this.toggleVisible = ((Boolean)value).booleanValue(); /* 151 */ break; /* */ default: /* 153 */ ret = super.properties(index, offset + 4, mode, value); /* */ } /* 155 */ return ret; /* */ } /* */ /* */ public String toString() /* */ { /* 160 */ return /* 161 */ super.toString() + "[" + " enabled " + this.enabled + ", trigger " + this.trigger + ", externalTriggerTag " + this.externalTriggerTag + "]"; /* */ } /* */ /* */ public void saveState(Saver s) /* */ throws IOException /* */ { /* 167 */ s.saveString(this.trigger); /* 168 */ s.saveString(this.externalTriggerTag); /* 169 */ s.saveBoolean(this.toggleBumpable); /* 170 */ s.saveBoolean(this.toggleVisible); /* */ } /* */ /* */ public void restoreState(Restorer r) /* */ throws IOException /* */ { /* 176 */ this.trigger = r.restoreString(); /* 177 */ if (this.trigger.equals("external")) { /* 178 */ Trigger.TriggeredSwitchableBehaviorList[ /* 179 */ Trigger.TriggeredSwitchableBehaviorListCount] = this; /* 180 */ Trigger.TriggeredSwitchableBehaviorListCount += 1; /* */ } /* 182 */ this.externalTriggerTag = r.restoreString(); /* 183 */ this.toggleBumpable = r.restoreBoolean(); /* 184 */ this.toggleVisible = r.restoreBoolean(); /* */ } /* */ /* */ /* */ /* */ public void postRestore(int version) /* */ { /* 191 */ String name = getName(); /* 192 */ String arg1 = name == null ? "" : name; /* 193 */ SuperRoot owner = getOwner(); /* 194 */ String oname = ""; /* 195 */ if (owner != null) { /* 196 */ oname = owner.getName(); /* */ } /* 198 */ String arg2 = oname == null ? "" : oname; /* 199 */ Object[] arguments = { new String(arg1), new String(arg2) }; /* 200 */ Console.println(MessageFormat.format( /* 201 */ Console.message("Toggle-obs"), arguments)); /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\Toggle.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */