aboutsummaryrefslogtreecommitdiff
path: root/test/ch/epfl/xblast/etape6/events/EventSequence.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/ch/epfl/xblast/etape6/events/EventSequence.java')
-rw-r--r--test/ch/epfl/xblast/etape6/events/EventSequence.java56
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 @@
1package ch.epfl.xblast.etape6.events;
2
3import ch.epfl.xblast.PlayerID;
4
5import java.util.ArrayList;
6import java.util.Collections;
7import java.util.Iterator;
8import java.util.List;
9
10/**
11 * @author EPFL
12 */
13public 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}