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 public class GameInfoLocalImpl
30 extends
31 GameInfoLocal
32 {
33
34
35
36
37
38
39 public GameInfoLocalImpl()
40 {
41 }
42
43
44
45
46
47
48 public GameInfoLocalImpl(GameInfo original) {
49
50 this.SimTime = original.getSimTime();
51 }
52
53
54
55
56
57
58 public GameInfoLocalImpl(GameInfoLocalImpl original) {
59
60 this.SimTime = original.getSimTime();
61 }
62
63
64
65
66
67
68 public GameInfoLocalImpl(GameInfoLocal original) {
69
70 }
71
72
73 public UnrealId getId() {
74 return cz.cuni.amis.pogamut.ut2004.communication.messages.gbinfomessages.GameInfo.GameInfoId;
75 }
76
77
78 @Override
79 public void setSimTime(long SimTime) {
80 super.setSimTime(SimTime);
81 }
82
83 @Override
84 public
85 GameInfoLocalImpl clone() {
86 return new
87 GameInfoLocalImpl(this);
88 }
89
90
91
92
93
94
95 public GameInfoLocalImpl getLocal() {
96 return this;
97 }
98 public ISharedWorldObject getShared() {
99 throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
100 }
101 public IStaticWorldObject getStatic() {
102 throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
103 }
104
105 public static class GameInfoLocalUpdate
106 implements ILocalWorldObjectUpdatedEvent, IGBWorldObjectEvent
107 {
108 protected long time;
109
110 protected GameInfoLocal data = null;
111
112 public GameInfoLocalUpdate
113 (GameInfoLocal moverLocal, long time)
114 {
115 this.data = moverLocal;
116 this.time = time;
117 }
118
119 @Override
120 public IWorldObjectUpdateResult<ILocalWorldObject> update(
121 ILocalWorldObject object)
122 {
123 if ( object == null)
124 {
125 data = new GameInfoLocalImpl(data);
126 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.CREATED, data);
127 }
128 if ( object instanceof GameInfoLocalImpl )
129 {
130 GameInfoLocalImpl toUpdate = (GameInfoLocalImpl)object;
131
132 boolean updated = false;
133
134
135
136
137 data = toUpdate;
138
139 if ( updated )
140 {
141 toUpdate.SimTime = this.time;
142 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.UPDATED, data);
143 }
144
145 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.SAME, data);
146 }
147 throw new PogamutException("Unsupported object type for update. Expected GameInfoLocalImpl for object " + object.getId() +", not object of class " + object.getClass().getSimpleName() + ".", this);
148 }
149
150
151
152
153 @Override
154 public long getSimTime() {
155 return this.time;
156 }
157
158 @Override
159 public IWorldObject getObject() {
160 return data;
161 }
162
163 @Override
164 public WorldObjectId getId() {
165 return data.getId();
166 }
167
168 }
169
170
171 public String toString() {
172 return
173 super.toString() + "[" +
174
175 "]";
176 }
177
178
179 public String toHtmlString() {
180 return super.toString() + "[<br/>" +
181
182 "<br/>]";
183 }
184
185
186
187
188
189
190
191
192
193
194 }
195