diff options
Diffstat (limited to 'test/ch/epfl/xblast/etape6/events/EventSequence.java')
-rw-r--r-- | test/ch/epfl/xblast/etape6/events/EventSequence.java | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/test/ch/epfl/xblast/etape6/events/EventSequence.java b/test/ch/epfl/xblast/etape6/events/EventSequence.java new file mode 100644 index 0000000..680893a --- /dev/null +++ b/test/ch/epfl/xblast/etape6/events/EventSequence.java | |||
@@ -0,0 +1,56 @@ | |||
1 | package ch.epfl.xblast.etape6.events; | ||
2 | |||
3 | import ch.epfl.xblast.PlayerID; | ||
4 | |||
5 | import java.util.ArrayList; | ||
6 | import java.util.Collections; | ||
7 | import java.util.Iterator; | ||
8 | import java.util.List; | ||
9 | |||
10 | /** | ||
11 | * @author EPFL | ||
12 | */ | ||
13 | public class EventSequence { | ||
14 | |||
15 | private PlayerID pId; | ||
16 | private boolean isOutput; | ||
17 | private final List<Event> events; | ||
18 | |||
19 | public EventSequence(PlayerID pId, int[][] events, boolean isOutput) { | ||
20 | assert (pId != null); | ||
21 | this.pId = pId; | ||
22 | this.isOutput = isOutput; | ||
23 | this.events = toEventList(events); | ||
24 | |||
25 | } | ||
26 | |||
27 | private List<Event> toEventList(int[][] events) { | ||
28 | |||
29 | List<Event> eventList = new ArrayList<Event>(events.length); | ||
30 | for (int[] event : events) { | ||
31 | if (!isOutput) | ||
32 | eventList.add(new PlayerEvent(event)); | ||
33 | else | ||
34 | eventList.add(new PlayerState(event)); | ||
35 | } | ||
36 | return Collections.unmodifiableList(eventList); | ||
37 | |||
38 | } | ||
39 | |||
40 | public int getNumEvents() { | ||
41 | |||
42 | return events.size(); | ||
43 | } | ||
44 | |||
45 | public Iterator<Event> getEventIterator() { | ||
46 | |||
47 | return events.iterator(); | ||
48 | |||
49 | } | ||
50 | |||
51 | public PlayerID getPlayerID() { | ||
52 | |||
53 | return pId; | ||
54 | } | ||
55 | |||
56 | } | ||