/* */ package NET.worlds.scape; /* */ /* */ import NET.worlds.console.Console; /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ /* */ class UndoStack /* */ { /* 18 */ private Undoable[] stack = new Undoable[100]; /* */ /* */ /* */ private int stackPtr; /* */ /* */ /* */ /* */ Undoable peek() /* */ { /* 27 */ return this.stackPtr - 1 >= 0 ? this.stack[(this.stackPtr - 1)] : /* 28 */ this.stack[(this.stack.length - 1)]; /* */ } /* */ /* */ void push(Undoable undo) /* */ { /* */ for (;;) { /* */ try { /* 35 */ this.stack[(this.stackPtr++)] = undo; /* 36 */ return; /* */ } catch (IndexOutOfBoundsException e) { /* 38 */ this.stackPtr = 0; /* */ } /* */ } /* */ } /* */ /* */ boolean undo() /* */ { /* */ for (;;) { /* */ try { /* 47 */ Undoable u = this.stack[(--this.stackPtr)]; /* 48 */ if (u != null) { /* 49 */ u.undo(); /* 50 */ this.stack[this.stackPtr] = null; /* 51 */ return true; /* */ } /* 53 */ Console.println(Console.message("No-undo")); /* 54 */ return false; /* */ } catch (IndexOutOfBoundsException e) { /* 56 */ this.stackPtr = this.stack.length; /* */ } /* */ } /* */ } /* */ } /* Location: C:\Program Files (x86)\Worlds Inc\WorldsPlayer - Win7\lib\worlds.jar!\NET\worlds\scape\UndoStack.class * Java compiler version: 6 (50.0) * JD-Core Version: 0.7.1 */