summary refs log tree commit diff stats
path: root/src/com/fourisland/fourpuzzle/database
diff options
context:
space:
mode:
authorStarla Insigna <hatkirby@fourisland.com>2009-02-22 17:11:32 -0500
committerStarla Insigna <hatkirby@fourisland.com>2009-02-22 17:11:32 -0500
commit8b8e44782659c65b9899f81a1ad5e09477c37354 (patch)
tree9e56324051e916997593e54ce0b6fd5f7aae5001 /src/com/fourisland/fourpuzzle/database
parent006e76d24c1d6ea465fef2a5958133b712a7ca3d (diff)
downloadfourpuzzle-8b8e44782659c65b9899f81a1ad5e09477c37354.tar.gz
fourpuzzle-8b8e44782659c65b9899f81a1ad5e09477c37354.tar.bz2
fourpuzzle-8b8e44782659c65b9899f81a1ad5e09477c37354.zip
Engine: Rewrote Database Transition storage
Diffstat (limited to 'src/com/fourisland/fourpuzzle/database')
-rwxr-xr-xsrc/com/fourisland/fourpuzzle/database/Database.java6
-rw-r--r--src/com/fourisland/fourpuzzle/database/Transitions.java58
2 files changed, 13 insertions, 51 deletions
diff --git a/src/com/fourisland/fourpuzzle/database/Database.java b/src/com/fourisland/fourpuzzle/database/Database.java index 922ab60..03405c8 100755 --- a/src/com/fourisland/fourpuzzle/database/Database.java +++ b/src/com/fourisland/fourpuzzle/database/Database.java
@@ -6,7 +6,7 @@
6package com.fourisland.fourpuzzle.database; 6package com.fourisland.fourpuzzle.database;
7 7
8import com.fourisland.fourpuzzle.gamestate.mapview.Map; 8import com.fourisland.fourpuzzle.gamestate.mapview.Map;
9import com.fourisland.fourpuzzle.transition.Transition; 9import com.fourisland.fourpuzzle.transition.TransitionPair;
10import java.util.HashMap; 10import java.util.HashMap;
11 11
12/** 12/**
@@ -77,7 +77,7 @@ public class Database {
77 key.setValue(value); 77 key.setValue(value);
78 } 78 }
79 79
80 public static Transition getTransition(Transitions key) 80 public static TransitionPair getTransition(Transitions key)
81 { 81 {
82 return key.getValue().copy(); 82 return key.getValue().copy();
83 } 83 }
@@ -96,7 +96,7 @@ public class Database {
96 * @param key The transition to change 96 * @param key The transition to change
97 * @param value The transition to change it to 97 * @param value The transition to change it to
98 */ 98 */
99 public static void setTransition(Transitions key, Transition value) 99 public static void setTransition(Transitions key, TransitionPair value)
100 { 100 {
101 key.setValue(value); 101 key.setValue(value);
102 } 102 }
diff --git a/src/com/fourisland/fourpuzzle/database/Transitions.java b/src/com/fourisland/fourpuzzle/database/Transitions.java index 98345a9..74c0674 100644 --- a/src/com/fourisland/fourpuzzle/database/Transitions.java +++ b/src/com/fourisland/fourpuzzle/database/Transitions.java
@@ -6,71 +6,33 @@
6package com.fourisland.fourpuzzle.database; 6package com.fourisland.fourpuzzle.database;
7 7
8import com.fourisland.fourpuzzle.transition.FadeTransition; 8import com.fourisland.fourpuzzle.transition.FadeTransition;
9import com.fourisland.fourpuzzle.transition.InTransition;
10import com.fourisland.fourpuzzle.transition.MultidirectionalTransition;
11import com.fourisland.fourpuzzle.transition.OutTransition;
12import com.fourisland.fourpuzzle.transition.SquareTransition; 9import com.fourisland.fourpuzzle.transition.SquareTransition;
13import com.fourisland.fourpuzzle.transition.Transition;
14import com.fourisland.fourpuzzle.transition.TransitionDirection; 10import com.fourisland.fourpuzzle.transition.TransitionDirection;
15import com.fourisland.fourpuzzle.transition.TransitionUnsupportedException; 11import com.fourisland.fourpuzzle.transition.TransitionPair;
16 12
17/** 13/**
18 * 14 *
19 * @author hatkirby 15 * @author hatkirby
20 */ 16 */
21public enum Transitions { 17public enum Transitions {
22 TitleExit(TransitionDirection.Out, new FadeTransition(TransitionDirection.Out)),
23 TitleToMap(TransitionDirection.In, new FadeTransition(TransitionDirection.In)),
24 MapExit(TransitionDirection.Out, new SquareTransition(TransitionDirection.Out)),
25 MapEnter(TransitionDirection.In, new SquareTransition(TransitionDirection.In)),
26 MapToTitle(TransitionDirection.Out, new FadeTransition(TransitionDirection.Out)),
27 TitleEnter(TransitionDirection.In, new FadeTransition(TransitionDirection.In)),
28 MapToGameOver(TransitionDirection.Out, new FadeTransition(TransitionDirection.Out)),
29 GameOverEnter(TransitionDirection.In, new FadeTransition(TransitionDirection.In)),
30 GameOverToTitle(TransitionDirection.Out, new FadeTransition(TransitionDirection.Out));
31 18
32 private final TransitionDirection dir; 19 Generic(new TransitionPair(new FadeTransition(TransitionDirection.Out), new FadeTransition(TransitionDirection.In))),
33 private Transition trans; 20 Map(new TransitionPair(new SquareTransition(TransitionDirection.Out), new SquareTransition(TransitionDirection.In)));
34 private Transitions(TransitionDirection dir, Transition trans) 21
22 private TransitionPair trans;
23 private Transitions(TransitionPair trans)
35 { 24 {
36 this.dir = dir; 25 this.trans = trans;
37
38 if (isTransitionSupported(dir, trans))
39 {
40 this.trans = trans;
41 } else {
42 throw new TransitionUnsupportedException(trans.getClass().getName(), dir);
43 }
44 } 26 }
45 27
46 Transition getValue() 28 TransitionPair getValue()
47 { 29 {
48 return trans; 30 return trans;
49 } 31 }
50 32
51 void setValue(Transition trans) 33 void setValue(TransitionPair trans)
52 { 34 {
53 if (isTransitionSupported(dir, trans)) 35 this.trans = trans;
54 {
55 this.trans = trans;
56 } else {
57 throw new TransitionUnsupportedException(trans.getClass().getName(), dir);
58 }
59 } 36 }
60 37
61 private boolean isTransitionSupported(TransitionDirection dir, Transition trans)
62 {
63 if (trans instanceof MultidirectionalTransition)
64 {
65 return (((MultidirectionalTransition) trans).getDirection() == dir);
66 } else if (trans instanceof OutTransition)
67 {
68 return (dir == TransitionDirection.Out);
69 } else if (trans instanceof InTransition)
70 {
71 return (dir == TransitionDirection.In);
72 }
73
74 return false;
75 }
76} 38}