diff options
author | Starla Insigna <hatkirby@fourisland.com> | 2009-02-22 17:11:32 -0500 |
---|---|---|
committer | Starla Insigna <hatkirby@fourisland.com> | 2009-02-22 17:11:32 -0500 |
commit | 8b8e44782659c65b9899f81a1ad5e09477c37354 (patch) | |
tree | 9e56324051e916997593e54ce0b6fd5f7aae5001 /src/com/fourisland/fourpuzzle/database | |
parent | 006e76d24c1d6ea465fef2a5958133b712a7ca3d (diff) | |
download | fourpuzzle-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-x | src/com/fourisland/fourpuzzle/database/Database.java | 6 | ||||
-rw-r--r-- | src/com/fourisland/fourpuzzle/database/Transitions.java | 58 |
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 @@ | |||
6 | package com.fourisland.fourpuzzle.database; | 6 | package com.fourisland.fourpuzzle.database; |
7 | 7 | ||
8 | import com.fourisland.fourpuzzle.gamestate.mapview.Map; | 8 | import com.fourisland.fourpuzzle.gamestate.mapview.Map; |
9 | import com.fourisland.fourpuzzle.transition.Transition; | 9 | import com.fourisland.fourpuzzle.transition.TransitionPair; |
10 | import java.util.HashMap; | 10 | import 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 @@ | |||
6 | package com.fourisland.fourpuzzle.database; | 6 | package com.fourisland.fourpuzzle.database; |
7 | 7 | ||
8 | import com.fourisland.fourpuzzle.transition.FadeTransition; | 8 | import com.fourisland.fourpuzzle.transition.FadeTransition; |
9 | import com.fourisland.fourpuzzle.transition.InTransition; | ||
10 | import com.fourisland.fourpuzzle.transition.MultidirectionalTransition; | ||
11 | import com.fourisland.fourpuzzle.transition.OutTransition; | ||
12 | import com.fourisland.fourpuzzle.transition.SquareTransition; | 9 | import com.fourisland.fourpuzzle.transition.SquareTransition; |
13 | import com.fourisland.fourpuzzle.transition.Transition; | ||
14 | import com.fourisland.fourpuzzle.transition.TransitionDirection; | 10 | import com.fourisland.fourpuzzle.transition.TransitionDirection; |
15 | import com.fourisland.fourpuzzle.transition.TransitionUnsupportedException; | 11 | import com.fourisland.fourpuzzle.transition.TransitionPair; |
16 | 12 | ||
17 | /** | 13 | /** |
18 | * | 14 | * |
19 | * @author hatkirby | 15 | * @author hatkirby |
20 | */ | 16 | */ |
21 | public enum Transitions { | 17 | public 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 | } |