diff options
Diffstat (limited to 'NET/worlds/scape/Light.java')
| -rw-r--r-- | NET/worlds/scape/Light.java | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/NET/worlds/scape/Light.java b/NET/worlds/scape/Light.java new file mode 100644 index 0000000..a1e64f6 --- /dev/null +++ b/NET/worlds/scape/Light.java @@ -0,0 +1,58 @@ +package NET.worlds.scape; + +import java.io.IOException; + +public class Light extends WObject { + protected int lightID; + private static Object classCookie = new Object(); + + @Override + protected void addRwChildren(WObject parent) { + super.addRwChildren(parent); + Point3Temp p = this.getWorldPosition(); + } + + @Override + protected void markVoid() { + super.markVoid(); + if (this.lightID != 0) { + destroyLight(this.lightID); + } + } + + @Override + protected void noteTransformChange() { + super.noteTransformChange(); + if (this.lightID != 0) { + setLightTransform(this.lightID, this.clumpID); + } + } + + private static native void setLightTransform(int var0, int var1); + + private static native void destroyLight(int var0); + + @Override + public Object properties(int index, int offset, int mode, Object value) throws NoSuchPropertyException { + Object ret = null; + int var10000 = index - offset; + return super.properties(index, offset + 0, mode, value); + } + + @Override + public void saveState(Saver s) throws IOException { + s.saveVersion(0, classCookie); + super.saveState(s); + } + + @Override + public void restoreState(Restorer r) throws IOException, TooNewException { + switch (r.restoreVersion(classCookie)) { + case 0: + super.restoreState(r); + return; + default: + throw new TooNewException(); + } + } +} |