1 package cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages;
2
3
4 import java.util.*;import javax.vecmath.*;import cz.cuni.amis.pogamut.base.communication.messages.*;import cz.cuni.amis.pogamut.base.communication.worldview.*;import cz.cuni.amis.pogamut.base.communication.worldview.event.*;import cz.cuni.amis.pogamut.base.communication.worldview.object.*;import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;import cz.cuni.amis.pogamut.base.communication.translator.event.*;import cz.cuni.amis.pogamut.multi.communication.translator.event.*;import cz.cuni.amis.pogamut.base3d.worldview.object.*;import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.*;import cz.cuni.amis.pogamut.ut2004.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.objects.*;import cz.cuni.amis.pogamut.ut2004.communication.translator.itemdescriptor.*;import cz.cuni.amis.pogamut.ut2004.communication.messages.ItemType.Category;import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;import cz.cuni.amis.utils.exception.*;import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;import cz.cuni.amis.utils.SafeEquals;import cz.cuni.amis.pogamut.base.agent.*;import cz.cuni.amis.pogamut.multi.agent.*;import cz.cuni.amis.pogamut.multi.communication.worldview.property.*;import cz.cuni.amis.pogamut.ut2004multi.communication.worldview.property.*;import cz.cuni.amis.utils.token.*;import cz.cuni.amis.utils.*;
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class PlayerStaticImpl
31 extends
32 PlayerStatic
33 {
34
35
36
37
38
39
40 public PlayerStaticImpl()
41 {
42 }
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100 public PlayerStaticImpl(
101 UnrealId Id
102 ) {
103
104 this.Id = Id;
105
106 }
107
108
109
110
111
112
113 public PlayerStaticImpl(Player original) {
114
115 this.Id = original.getId()
116 ;
117
118 this.SimTime = original.getSimTime();
119 }
120
121
122
123
124
125
126 public PlayerStaticImpl(PlayerStaticImpl original) {
127
128 this.Id = original.getId()
129 ;
130
131 this.SimTime = original.getSimTime();
132 }
133
134
135
136
137
138
139 public PlayerStaticImpl(PlayerStatic original) {
140
141 this.Id = original.getId()
142 ;
143
144 }
145
146
147 @Override
148 public void setSimTime(long SimTime) {
149 super.setSimTime(SimTime);
150 }
151
152 @Override
153 public
154 PlayerStaticImpl clone() {
155 return new
156 PlayerStaticImpl(this);
157 }
158
159
160
161
162
163
164 protected
165 UnrealId Id =
166 null;
167
168
169
170
171 public UnrealId getId()
172 {
173 return Id;
174 }
175
176
177
178 public static class PlayerStaticUpdate
179 implements IStaticWorldObjectUpdatedEvent
180 {
181
182 private PlayerStatic data;
183 private long time;
184
185 public PlayerStaticUpdate
186 (PlayerStatic source, long time)
187 {
188 this.data = source;
189 this.time = time;
190 }
191
192
193
194
195 @Override
196 public long getSimTime() {
197 return time;
198 }
199
200 @Override
201 public WorldObjectId getId() {
202 return data.getId();
203 }
204
205 @Override
206 public IWorldObjectUpdateResult<IStaticWorldObject> update(
207 IStaticWorldObject object) {
208 if ( object == null)
209 {
210 data = new PlayerStaticImpl(data);
211 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<IStaticWorldObject>(IWorldObjectUpdateResult.Result.CREATED, data);
212 }
213
214 if ( object instanceof PlayerStaticImpl)
215 {
216 PlayerStaticImpl orig = (PlayerStaticImpl)object;
217
218 if ( data.isDifferentFrom(orig) )
219 {
220
221
222 System.out.println("!!!!!ERROR!!!!!! in static object modification. Object class : PlayerStaticImpl to see which property was different see !!!!PROPERTY UPDATE ERROR!!!!");
223 }
224 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<IStaticWorldObject>(IWorldObjectUpdateResult.Result.SAME, data);
225 }
226 throw new PogamutException("Unexpected object type for update, PlayerStaticImpl expected not class " + object.getClass().getSimpleName() + ".", this);
227 }
228 }
229
230
231
232 @Override
233 public boolean isDifferentFrom(IStaticWorldObject other)
234 {
235 if (other == null)
236 {
237 return true;
238 }
239 else if (other == this)
240 {
241 return false;
242 }
243 else
244 {
245 PlayerStatic obj = (PlayerStatic) other;
246
247
248 if ( !(
249 AdvancedEquals.equalsOrNull(this.getId()
250 , obj.getId()
251 )
252 ) )
253 {
254 System.out.println("!!!!!PROPERTY UPDATE ERROR!!!! on property Id on object class PlayerStatic");
255 return true;
256 }
257
258 }
259 return false;
260 }
261
262
263 public String toString() {
264 return
265 super.toString() + "[" +
266
267 "Id = " + String.valueOf(getId()
268 ) + " | " +
269
270 "]";
271 }
272
273
274 public String toHtmlString() {
275 return super.toString() + "[<br/>" +
276
277 "<b>Id</b> = " + String.valueOf(getId()
278 ) + " <br/> " +
279
280 "<br/>]";
281 }
282
283
284
285
286
287
288
289
290
291
292 }
293