View Javadoc

1   package cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.messages;
2   
3   import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
4   import cz.cuni.amis.pogamut.ut2004.communication.messages.custom.ControlMessageField;
5   import cz.cuni.amis.pogamut.ut2004.communication.messages.custom.ControlMessageType;
6   import cz.cuni.amis.pogamut.ut2004.hideandseek.protocol.HSGameConfig;
7   
8   @ControlMessageType(type="HS_GAME_START")
9   public class HSGameStart extends HSMessage {
10  
11  	/**
12  	 * How many rounds are going to be played.
13  	 */
14  	@ControlMessageField(index=1)
15  	private Integer roundCount;
16  	
17  	@ControlMessageField(index=2)
18  	private Integer safeAreaRadius;
19  	
20  	@ControlMessageField(index=3)
21  	private Integer restrictedAreaRadius;
22  	
23  	// DOUBLES
24  	
25  	/**
26  	 * Total number of seconds the round is going to be played.
27  	 */
28  	@ControlMessageField(index=1)
29  	private Double roundTimeUT;
30  	
31  	/**
32  	 * How much time will runners get to hide.
33  	 */
34  	@ControlMessageField(index=2)
35  	private Double hideTimeUT;
36  	
37  	/**
38  	 * Time during which runners are not allowed to enter restricted area.
39  	 */
40  	@ControlMessageField(index=3)
41  	private Double restrictedAreaTimeUT;
42  	
43  	// STRINGS
44  		
45  	/**
46  	 * Position of the "safe" area.
47  	 */
48  	@ControlMessageField(index=1)
49  	private Location safeArea;
50  	
51  	/**
52  	 * Serialization of (mainly) scoring data, filled/read by {@link HSGameConfig}.
53  	 */
54  	@ControlMessageField(index=2)
55  	private String scoring;
56  	
57  	@ControlMessageField(index=3)
58  	private String fixedSeekerName;
59  	
60  	// BOOLEANS
61  	
62  	@ControlMessageField(index=1)
63  	private Boolean fixedSeeker;
64  	
65  	public HSGameStart() {
66  	}
67  	
68  	public HSGameStart(HSGameConfig config) {
69  		this.hideTimeUT = config.getHideTimeUT();
70  		this.restrictedAreaRadius = config.getRestrictedAreaRadius();
71  		this.restrictedAreaTimeUT = config.getRestrictedAreaTimeUT();
72  		this.roundCount = config.getRoundCount();
73  		this.roundTimeUT = config.getRoundTimeUT();
74  		this.safeArea = config.getSafeArea();
75  		this.safeAreaRadius = config.getSafeAreaRadius();
76  		this.fixedSeeker = config.isFixedSeeker();
77  		this.fixedSeekerName = config.getFixedSeekerName();
78  		this.scoring = config.writeScoring();		
79  	}
80  
81  	public Integer getRoundCount() {
82  		return roundCount;
83  	}
84  
85  	public void setRoundCount(Integer roundCount) {
86  		this.roundCount = roundCount;
87  	}
88  
89  	public Integer getSafeAreaRadius() {
90  		return safeAreaRadius;
91  	}
92  
93  	public void setSafeAreaRadius(Integer safeAreaRadius) {
94  		this.safeAreaRadius = safeAreaRadius;
95  	}
96  
97  	public Integer getRestrictedAreaRadius() {
98  		return restrictedAreaRadius;
99  	}
100 
101 	public void setRestrictedAreaRadius(Integer restrictedAreaRadius) {
102 		this.restrictedAreaRadius = restrictedAreaRadius;
103 	}
104 
105 	public Double getRoundTimeUT() {
106 		return roundTimeUT;
107 	}
108 
109 	public void setRoundTimeUT(Double roundTimeUT) {
110 		this.roundTimeUT = roundTimeUT;
111 	}
112 
113 	public Double getHideTimeUT() {
114 		return hideTimeUT;
115 	}
116 
117 	public void setHideTimeUT(Double hideTimeUT) {
118 		this.hideTimeUT = hideTimeUT;
119 	}
120 
121 	public Double getRestrictedAreaTimeUT() {
122 		return restrictedAreaTimeUT;
123 	}
124 
125 	public void setRestrictedAreaTimeUT(Double restrictedAreaTimeUT) {
126 		this.restrictedAreaTimeUT = restrictedAreaTimeUT;
127 	}
128 
129 	public Location getSafeArea() {
130 		return safeArea;
131 	}
132 
133 	public void setSafeArea(Location safeArea) {
134 		this.safeArea = safeArea;
135 	}
136 
137 	public String getScoring() {
138 		return scoring;
139 	}
140 
141 	public void setScoring(String scoring) {
142 		this.scoring = scoring;
143 	}
144 
145 	public String getFixedSeekerName() {
146 		return fixedSeekerName;
147 	}
148 
149 	public void setFixedSeekerName(String fixedSeekerName) {
150 		this.fixedSeekerName = fixedSeekerName;
151 	}
152 
153 	public Boolean getFixedSeeker() {
154 		return fixedSeeker;
155 	}
156 
157 	public void setFixedSeeker(Boolean fixedSeeker) {
158 		this.fixedSeeker = fixedSeeker;
159 	}	
160 	
161 }