package NET.worlds.scape; import java.io.IOException; public class HorizontalRect extends Surface { private static Object classCookie = new Object(); @Override public void saveState(Saver s) throws IOException { assert false; } @Override public void restoreState(Restorer r) throws IOException, TooNewException { switch (r.restoreVersion(classCookie)) { case 0: super.restoreState(r); float x = r.restoreFloat(); float y = r.restoreFloat(); float u = r.restoreFloat(); float v = r.restoreFloat(); boolean faceUp = r.restoreBoolean(); Rect rect = new Rect(1.0F, 1.0F, this.getMaterial()); rect.setTransform(this); if (faceUp) { rect.pitch(-90.0F).scale(x, 1.0F, y); } else { rect.yaw(90.0F).pitch(90.0F).scale(y, 1.0F, x); } rect.setUV(u, v); r.replace(this, rect); return; default: throw new TooNewException(); } } }