diff options
| author | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2021-05-03 16:38:41 -0700 |
| commit | e1e781bb2135ef78592226f1a3eaba4925702f1f (patch) | |
| tree | 8a5b590463ed413e1c6eabb719130e701b95ca63 /NET/worlds/scape/UndoStack.java | |
| download | worlds.jar-main.tar.xz worlds.jar-main.zip | |
Diffstat (limited to 'NET/worlds/scape/UndoStack.java')
| -rw-r--r-- | NET/worlds/scape/UndoStack.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/NET/worlds/scape/UndoStack.java b/NET/worlds/scape/UndoStack.java new file mode 100644 index 0000000..2243772 --- /dev/null +++ b/NET/worlds/scape/UndoStack.java @@ -0,0 +1,66 @@ +/* */ 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 + */
\ No newline at end of file |