summaryrefslogtreecommitdiff
path: root/NET/worlds/scape/SetPropertyAction.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/SetPropertyAction.java
downloadworlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.tar.xz
worlds.jar-e1e781bb2135ef78592226f1a3eaba4925702f1f.zip
:star:HEADmain
Diffstat (limited to 'NET/worlds/scape/SetPropertyAction.java')
-rw-r--r--NET/worlds/scape/SetPropertyAction.java385
1 files changed, 385 insertions, 0 deletions
diff --git a/NET/worlds/scape/SetPropertyAction.java b/NET/worlds/scape/SetPropertyAction.java
new file mode 100644
index 0000000..1160ca1
--- /dev/null
+++ b/NET/worlds/scape/SetPropertyAction.java
@@ -0,0 +1,385 @@
+/* */ package NET.worlds.scape;
+/* */
+/* */ import NET.worlds.console.Console;
+/* */ import NET.worlds.console.Gamma;
+/* */ import java.io.IOException;
+/* */ import java.text.MessageFormat;
+/* */ import java.util.Enumeration;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public abstract class SetPropertyAction
+/* */ extends Action
+/* */ {
+/* */ SuperRoot _target;
+/* */ String _targetName;
+/* */ String _roomName;
+/* */ String _propName;
+/* 36 */ private int _propIndex = -1;
+/* */
+/* */
+/* */
+/* */
+/* 41 */ private String _paramName = null;
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public SuperRoot getTarget()
+/* */ {
+/* 60 */ if ((this._target == null) && (this._targetName != null)) {
+/* 61 */ Room r = null;
+/* 62 */ if (this._roomName != null) {
+/* 63 */ World w = getWorld();
+/* 64 */ if (w != null)
+/* 65 */ r = w.getRoom(this._roomName);
+/* */ } else {
+/* 67 */ r = getRoom(); }
+/* 68 */ if (r != null) {
+/* 69 */ Enumeration<?> list = r.getDeepOwned();
+/* 70 */ this._target = SuperRoot.nameSearch(list, this._targetName);
+/* */ }
+/* */ }
+/* */
+/* 74 */ if (this._target != null)
+/* 75 */ return this._target;
+/* 76 */ return getOwner();
+/* */ }
+/* */
+/* */
+/* 80 */ protected boolean useParam() { return this._paramName != null; }
+/* */
+/* 82 */ protected String paramName() { return this._paramName; }
+/* */
+/* */ protected String param()
+/* */ {
+/* 86 */ return this._paramName == null ?
+/* 87 */ null :
+/* 88 */ Gamma.getParam(this._paramName);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ static int index(int index, String name, Object target)
+/* */ {
+/* 97 */ if ((index == -1) && (name != null)) {
+/* 98 */ Enumeration<?> pe = new EnumProperties(target);
+/* 99 */ while (pe.hasMoreElements()) {
+/* 100 */ Property prop = (Property)pe.nextElement();
+/* 101 */ if (prop.getName().equals(name)) {
+/* 102 */ index = prop.getIndex();
+/* 103 */ break;
+/* */ }
+/* */ }
+/* */ }
+/* 107 */ return index;
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ public static Object propHelper(int mode, Object value, String name, SuperRoot target)
+/* */ {
+/* 116 */ Object ret = null;
+/* 117 */ int i = index(-1, name, target);
+/* 118 */ if (i != -1) {
+/* */ try {
+/* 120 */ ret = target.properties(i, 0, mode, value);
+/* */ } catch (NoSuchPropertyException localNoSuchPropertyException) {}
+/* */ }
+/* 123 */ return ret;
+/* */ }
+/* */
+/* */
+/* */ private Object propHelper(int mode, Object value)
+/* */ {
+/* 129 */ SuperRoot target = getTarget();
+/* */
+/* 131 */ Object ret = null;
+/* 132 */ if ((this._propIndex = index(this._propIndex, this._propName, target)) != -1) {
+/* */ try {
+/* 134 */ ret = target.properties(this._propIndex, 0, mode, value);
+/* */ } catch (NoSuchPropertyException nspe) {
+/* 136 */ if ($assertionsDisabled) break label220; } throw new AssertionError();
+/* */ }
+/* 138 */ else if (target == null) {
+/* 139 */ Console.println(
+/* 140 */ getName() + Console.message("null-target"));
+/* */ }
+/* 142 */ else if (this._propName == null) {
+/* 143 */ Object[] arguments = { new String(getName()),
+/* 144 */ new String(getTarget().getName()) };
+/* 145 */ Console.println(MessageFormat.format(
+/* 146 */ Console.message("null-property"), arguments));
+/* */ }
+/* */ else {
+/* 149 */ Object[] arguments = { new String(getName()),
+/* 150 */ new String(this._propName), new String(getTarget().getName()) };
+/* 151 */ Console.println(MessageFormat.format(
+/* 152 */ Console.message("non-property"), arguments)); }
+/* */ label220:
+/* 154 */ return ret;
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected final void set(Object value)
+/* */ {
+/* 163 */ propHelper(2, value);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected final Object get()
+/* */ {
+/* 173 */ return propHelper(1, null);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected final void add(Object value)
+/* */ {
+/* 182 */ propHelper(3, value);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected final void remove(Object value)
+/* */ {
+/* 192 */ propHelper(4, value);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected final Property enumerate()
+/* */ {
+/* 202 */ return (Property)propHelper(0, null);
+/* */ }
+/* */
+/* */
+/* */
+/* */ public Object properties(int index, int offset, int mode, Object value)
+/* */ throws NoSuchPropertyException
+/* */ {
+/* 210 */ Object ret = null;
+/* 211 */ switch (index - offset) {
+/* */ case 0:
+/* 213 */ if (mode == 0) {
+/* 214 */ Property p = new Property(this, index, "Target");
+/* 215 */ p.allowSetNull();
+/* 216 */ ret = ObjPropertyEditor.make(p, getRoom(),
+/* 217 */ "NET.worlds.scape.SuperRoot");
+/* 218 */ } else if (mode == 1) {
+/* 219 */ ret = getTarget();
+/* 220 */ } else if (mode == 2) {
+/* 221 */ this._target = ((SuperRoot)value);
+/* 222 */ this._propIndex = -1;
+/* */ }
+/* 224 */ break;
+/* */ case 1:
+/* 226 */ if (mode == 0) {
+/* 227 */ ret = StringPropertyEditor.make(
+/* 228 */ new Property(this, index, "Target Room"));
+/* 229 */ } else if (mode == 1) {
+/* 230 */ ret = this._roomName;
+/* */ }
+/* 232 */ else if (mode == 4) {
+/* 233 */ this._roomName = null;
+/* 234 */ } else if (mode == 2) {
+/* 235 */ this._roomName = ((String)value);
+/* 236 */ this._target = null;
+/* */ }
+/* 238 */ break;
+/* */ case 2:
+/* 240 */ if (mode == 0) {
+/* 241 */ Property p = new Property(this, index, "Target Name");
+/* 242 */ p.allowSetNull();
+/* 243 */ ret = StringPropertyEditor.make(p);
+/* 244 */ } else if (mode == 1) {
+/* 245 */ ret = this._targetName;
+/* */ }
+/* 247 */ else if (mode == 4) {
+/* 248 */ this._targetName = null;
+/* 249 */ } else if (mode == 2) {
+/* 250 */ this._targetName = ((String)value);
+/* 251 */ this._target = null;
+/* */ }
+/* 253 */ break;
+/* */ case 3:
+/* 255 */ if (mode == 0)
+/* */ {
+/* */
+/* 258 */ ret = new Property(this, index, "Property Name");
+/* 259 */ if (getTarget() != null) {
+/* 260 */ ret = PropPropEditor.make((Property)ret, getTarget(), true);
+/* */ }
+/* 262 */ } else if (mode == 1) {
+/* 263 */ SuperRoot t = getTarget();
+/* 264 */ if (((this._propIndex = index(this._propIndex, this._propName, t)) == -1) ||
+/* 265 */ (t == null)) {
+/* 266 */ ret = null;
+/* */ } else {
+/* 268 */ ret = enumerate();
+/* */ }
+/* 270 */ } else if (mode == 2) {
+/* 271 */ if (value == null) {
+/* 272 */ this._propIndex = -1;
+/* 273 */ this._propName = null;
+/* 274 */ } else if ((value instanceof String)) {
+/* 275 */ this._propIndex = -1;
+/* 276 */ this._propName = ((String)value);
+/* */ } else {
+/* 278 */ this._propIndex = ((Property)value).getIndex();
+/* 279 */ this._propName = ((Property)value).getName();
+/* */ }
+/* */ }
+/* 282 */ break;
+/* */ case 4:
+/* 284 */ if (mode == 0) {
+/* 285 */ ret = BooleanPropertyEditor.make(new Property(this, index,
+/* 286 */ "Use parameter"),
+/* 287 */ "Use 'Set To' value",
+/* 288 */ "Use parameter");
+/* */ }
+/* 290 */ else if (mode == 1) {
+/* 291 */ ret = new Boolean(this._paramName != null);
+/* */ }
+/* 293 */ else if (mode == 2) {
+/* 294 */ if (((Boolean)value).booleanValue()) {
+/* 295 */ if (this._paramName == null) {
+/* 296 */ this._paramName = "";
+/* */ }
+/* */ } else {
+/* 299 */ this._paramName = null;
+/* */ }
+/* */ }
+/* 302 */ break;
+/* */ case 5:
+/* 304 */ if (mode == 0) {
+/* 305 */ ret = new Property(this, index, "Parameter Name");
+/* 306 */ if (this._paramName != null) {
+/* 307 */ ret = StringPropertyEditor.make((Property)ret);
+/* */ }
+/* 309 */ } else if (mode == 1) {
+/* 310 */ ret = this._paramName == null ? "" : this._paramName;
+/* */ }
+/* 312 */ else if (mode == 2) {
+/* 313 */ this._paramName = ((String)value);
+/* */ }
+/* 315 */ break;
+/* */ default:
+/* 317 */ ret = super.properties(index, offset + 6, mode, value);
+/* */ }
+/* 319 */ return ret;
+/* */ }
+/* */
+/* 322 */ private static Object classCookie = new Object();
+/* */
+/* */ public void saveState(Saver s) throws IOException
+/* */ {
+/* 326 */ s.saveVersion(4, classCookie);
+/* 327 */ super.saveState(s);
+/* 328 */ s.saveMaybeNull(getTarget());
+/* 329 */ s.saveString(this._roomName);
+/* 330 */ s.saveString(this._targetName);
+/* 331 */ s.saveString(this._propName);
+/* 332 */ s.saveString(this._paramName);
+/* */ }
+/* */
+/* */
+/* */
+/* */
+/* */
+/* */ protected void setPropertyActionRestoreState(Restorer r)
+/* */ throws IOException, TooNewException
+/* */ {
+/* 342 */ switch (r.restoreVersion(classCookie)) {
+/* */ case 4:
+/* 344 */ super.restoreState(r);
+/* 345 */ this._target = ((SuperRoot)r.restoreMaybeNull());
+/* 346 */ this._roomName = r.restoreString();
+/* 347 */ this._targetName = r.restoreString();
+/* 348 */ this._propName = r.restoreString();
+/* 349 */ this._paramName = r.restoreString();
+/* 350 */ break;
+/* */
+/* */ case 3:
+/* 353 */ super.restoreState(r);
+/* 354 */ this._target = ((SuperRoot)r.restoreMaybeNull());
+/* 355 */ this._propName = r.restoreString();
+/* 356 */ this._paramName = r.restoreString();
+/* 357 */ break;
+/* */
+/* */ case 2:
+/* 360 */ super.restoreState(r);
+/* 361 */ this._target = ((SuperRoot)r.restoreMaybeNull());
+/* 362 */ this._propName = r.restoreString();
+/* 363 */ break;
+/* */
+/* */ case 1:
+/* 366 */ super.restoreState(r);
+/* 367 */ this._target = ((SuperRoot)r.restore());
+/* 368 */ this._propName = r.restoreString();
+/* 369 */ break;
+/* */ default:
+/* 371 */ throw new TooNewException();
+/* */ }
+/* */ }
+/* */
+/* */ public void restoreState(Restorer r) throws IOException, TooNewException
+/* */ {
+/* 377 */ setPropertyActionRestoreState(r);
+/* */ }
+/* */ }
+
+
+/* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\SetPropertyAction.class
+ * Java compiler version: 6 (50.0)
+ * JD-Core Version: 0.7.1
+ */ \ No newline at end of file