blob: 2243772e5958e04163538bbf33da31c3570525d8 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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
*/
|