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 ConfigChangeLocalImpl
30 extends
31 ConfigChangeLocal
32 {
33
34
35
36
37
38
39 public ConfigChangeLocalImpl()
40 {
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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151 public ConfigChangeLocalImpl(
152 UnrealId Id, UnrealId BotId, boolean ManualSpawn, boolean AutoTrace, String Name, double SpeedMultiplier, Rotation RotationRate, boolean Invulnerable, double VisionTime, boolean ShowDebug, boolean ShowFocalPoint, boolean DrawTraceLines, boolean SynchronousOff, boolean AutoPickupOff, String Action
153 ) {
154
155 this.Id = Id;
156
157 this.BotId = BotId;
158
159 this.ManualSpawn = ManualSpawn;
160
161 this.AutoTrace = AutoTrace;
162
163 this.Name = Name;
164
165 this.SpeedMultiplier = SpeedMultiplier;
166
167 this.RotationRate = RotationRate;
168
169 this.Invulnerable = Invulnerable;
170
171 this.VisionTime = VisionTime;
172
173 this.ShowDebug = ShowDebug;
174
175 this.ShowFocalPoint = ShowFocalPoint;
176
177 this.DrawTraceLines = DrawTraceLines;
178
179 this.SynchronousOff = SynchronousOff;
180
181 this.AutoPickupOff = AutoPickupOff;
182
183 this.Action = Action;
184
185 }
186
187
188
189
190
191
192 public ConfigChangeLocalImpl(ConfigChange original) {
193
194 this.Id = original.getId()
195 ;
196
197 this.BotId = original.getBotId()
198 ;
199
200 this.ManualSpawn = original.isManualSpawn()
201 ;
202
203 this.AutoTrace = original.isAutoTrace()
204 ;
205
206 this.Name = original.getName()
207 ;
208
209 this.SpeedMultiplier = original.getSpeedMultiplier()
210 ;
211
212 this.RotationRate = original.getRotationRate()
213 ;
214
215 this.Invulnerable = original.isInvulnerable()
216 ;
217
218 this.VisionTime = original.getVisionTime()
219 ;
220
221 this.ShowDebug = original.isShowDebug()
222 ;
223
224 this.ShowFocalPoint = original.isShowFocalPoint()
225 ;
226
227 this.DrawTraceLines = original.isDrawTraceLines()
228 ;
229
230 this.SynchronousOff = original.isSynchronousOff()
231 ;
232
233 this.AutoPickupOff = original.isAutoPickupOff()
234 ;
235
236 this.Action = original.getAction()
237 ;
238
239 this.SimTime = original.getSimTime();
240 }
241
242
243
244
245
246
247 public ConfigChangeLocalImpl(ConfigChangeLocalImpl original) {
248
249 this.Id = original.getId()
250 ;
251
252 this.BotId = original.getBotId()
253 ;
254
255 this.ManualSpawn = original.isManualSpawn()
256 ;
257
258 this.AutoTrace = original.isAutoTrace()
259 ;
260
261 this.Name = original.getName()
262 ;
263
264 this.SpeedMultiplier = original.getSpeedMultiplier()
265 ;
266
267 this.RotationRate = original.getRotationRate()
268 ;
269
270 this.Invulnerable = original.isInvulnerable()
271 ;
272
273 this.VisionTime = original.getVisionTime()
274 ;
275
276 this.ShowDebug = original.isShowDebug()
277 ;
278
279 this.ShowFocalPoint = original.isShowFocalPoint()
280 ;
281
282 this.DrawTraceLines = original.isDrawTraceLines()
283 ;
284
285 this.SynchronousOff = original.isSynchronousOff()
286 ;
287
288 this.AutoPickupOff = original.isAutoPickupOff()
289 ;
290
291 this.Action = original.getAction()
292 ;
293
294 this.SimTime = original.getSimTime();
295 }
296
297
298
299
300
301
302 public ConfigChangeLocalImpl(ConfigChangeLocal original) {
303
304 this.Id = original.getId()
305 ;
306
307 this.BotId = original.getBotId()
308 ;
309
310 this.ManualSpawn = original.isManualSpawn()
311 ;
312
313 this.AutoTrace = original.isAutoTrace()
314 ;
315
316 this.Name = original.getName()
317 ;
318
319 this.SpeedMultiplier = original.getSpeedMultiplier()
320 ;
321
322 this.RotationRate = original.getRotationRate()
323 ;
324
325 this.Invulnerable = original.isInvulnerable()
326 ;
327
328 this.VisionTime = original.getVisionTime()
329 ;
330
331 this.ShowDebug = original.isShowDebug()
332 ;
333
334 this.ShowFocalPoint = original.isShowFocalPoint()
335 ;
336
337 this.DrawTraceLines = original.isDrawTraceLines()
338 ;
339
340 this.SynchronousOff = original.isSynchronousOff()
341 ;
342
343 this.AutoPickupOff = original.isAutoPickupOff()
344 ;
345
346 this.Action = original.getAction()
347 ;
348
349 }
350
351
352 @Override
353 public void setSimTime(long SimTime) {
354 super.setSimTime(SimTime);
355 }
356
357 @Override
358 public
359 ConfigChangeLocalImpl clone() {
360 return new
361 ConfigChangeLocalImpl(this);
362 }
363
364
365
366
367
368
369 protected
370 UnrealId Id =
371 null;
372
373
374
375
376 public UnrealId getId()
377 {
378 return Id;
379 }
380
381
382
383
384
385 protected
386 UnrealId BotId =
387 null;
388
389
390
391
392 public UnrealId getBotId()
393 {
394 return BotId;
395 }
396
397
398
399
400
401
402
403 protected
404 boolean ManualSpawn =
405 false;
406
407
408
409
410
411
412 public boolean isManualSpawn()
413 {
414 return ManualSpawn;
415 }
416
417
418
419
420
421
422
423
424
425 protected
426 boolean AutoTrace =
427 false;
428
429
430
431
432
433
434
435
436 public boolean isAutoTrace()
437 {
438 return AutoTrace;
439 }
440
441
442
443
444
445 protected
446 String Name =
447 null;
448
449
450
451
452 public String getName()
453 {
454 return Name;
455 }
456
457
458
459
460
461
462
463 protected
464 double SpeedMultiplier =
465 0;
466
467
468
469
470
471
472 public double getSpeedMultiplier()
473 {
474 return SpeedMultiplier;
475 }
476
477
478
479
480
481
482
483 protected
484 Rotation RotationRate =
485 null;
486
487
488
489
490
491
492 public Rotation getRotationRate()
493 {
494 return RotationRate;
495 }
496
497
498
499
500
501
502
503 protected
504 boolean Invulnerable =
505 false;
506
507
508
509
510
511
512 public boolean isInvulnerable()
513 {
514 return Invulnerable;
515 }
516
517
518
519
520
521
522
523
524 protected
525 double VisionTime =
526 0;
527
528
529
530
531
532
533
534 public double getVisionTime()
535 {
536 return VisionTime;
537 }
538
539
540
541
542
543
544
545
546 protected
547 boolean ShowDebug =
548 false;
549
550
551
552
553
554
555
556 public boolean isShowDebug()
557 {
558 return ShowDebug;
559 }
560
561
562
563
564
565
566
567
568 protected
569 boolean ShowFocalPoint =
570 false;
571
572
573
574
575
576
577
578 public boolean isShowFocalPoint()
579 {
580 return ShowFocalPoint;
581 }
582
583
584
585
586
587
588
589
590 protected
591 boolean DrawTraceLines =
592 false;
593
594
595
596
597
598
599
600 public boolean isDrawTraceLines()
601 {
602 return DrawTraceLines;
603 }
604
605
606
607
608
609
610
611
612 protected
613 boolean SynchronousOff =
614 false;
615
616
617
618
619
620
621
622 public boolean isSynchronousOff()
623 {
624 return SynchronousOff;
625 }
626
627
628
629
630
631
632
633 protected
634 boolean AutoPickupOff =
635 false;
636
637
638
639
640
641
642 public boolean isAutoPickupOff()
643 {
644 return AutoPickupOff;
645 }
646
647
648
649
650
651
652
653 protected
654 String Action =
655 null;
656
657
658
659
660
661
662 public String getAction()
663 {
664 return Action;
665 }
666
667
668
669
670
671 public ConfigChangeLocalImpl getLocal() {
672 return this;
673 }
674 public ISharedWorldObject getShared() {
675 throw new UnsupportedOperationException("Could not return LOCAL as SHARED");
676 }
677 public IStaticWorldObject getStatic() {
678 throw new UnsupportedOperationException("Could not return LOCAL as STATIC");
679 }
680
681 public static class ConfigChangeLocalUpdate
682 implements ILocalWorldObjectUpdatedEvent, IGBWorldObjectEvent
683 {
684 protected long time;
685
686 protected ConfigChangeLocal data = null;
687
688 public ConfigChangeLocalUpdate
689 (ConfigChangeLocal moverLocal, long time)
690 {
691 this.data = moverLocal;
692 this.time = time;
693 }
694
695 @Override
696 public IWorldObjectUpdateResult<ILocalWorldObject> update(
697 ILocalWorldObject object)
698 {
699 if ( object == null)
700 {
701 data = new ConfigChangeLocalImpl(data);
702 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.CREATED, data);
703 }
704 if ( object instanceof ConfigChangeLocalImpl )
705 {
706 ConfigChangeLocalImpl toUpdate = (ConfigChangeLocalImpl)object;
707
708 boolean updated = false;
709
710
711
712 if (!SafeEquals.equals(toUpdate.BotId, data.getBotId()
713 )) {
714 toUpdate.BotId=data.getBotId()
715 ;
716 updated = true;
717 }
718
719 if (toUpdate.ManualSpawn != data.isManualSpawn()
720 ) {
721 toUpdate.ManualSpawn=data.isManualSpawn()
722 ;
723 updated = true;
724 }
725
726 if (toUpdate.AutoTrace != data.isAutoTrace()
727 ) {
728 toUpdate.AutoTrace=data.isAutoTrace()
729 ;
730 updated = true;
731 }
732
733 if (!SafeEquals.equals(toUpdate.Name, data.getName()
734 )) {
735 toUpdate.Name=data.getName()
736 ;
737 updated = true;
738 }
739
740 if (toUpdate.SpeedMultiplier != data.getSpeedMultiplier()
741 ) {
742 toUpdate.SpeedMultiplier=data.getSpeedMultiplier()
743 ;
744 updated = true;
745 }
746
747 if (!SafeEquals.equals(toUpdate.RotationRate, data.getRotationRate()
748 )) {
749 toUpdate.RotationRate=data.getRotationRate()
750 ;
751 updated = true;
752 }
753
754 if (toUpdate.Invulnerable != data.isInvulnerable()
755 ) {
756 toUpdate.Invulnerable=data.isInvulnerable()
757 ;
758 updated = true;
759 }
760
761 if (toUpdate.VisionTime != data.getVisionTime()
762 ) {
763 toUpdate.VisionTime=data.getVisionTime()
764 ;
765 updated = true;
766 }
767
768 if (toUpdate.ShowDebug != data.isShowDebug()
769 ) {
770 toUpdate.ShowDebug=data.isShowDebug()
771 ;
772 updated = true;
773 }
774
775 if (toUpdate.ShowFocalPoint != data.isShowFocalPoint()
776 ) {
777 toUpdate.ShowFocalPoint=data.isShowFocalPoint()
778 ;
779 updated = true;
780 }
781
782 if (toUpdate.DrawTraceLines != data.isDrawTraceLines()
783 ) {
784 toUpdate.DrawTraceLines=data.isDrawTraceLines()
785 ;
786 updated = true;
787 }
788
789 if (toUpdate.SynchronousOff != data.isSynchronousOff()
790 ) {
791 toUpdate.SynchronousOff=data.isSynchronousOff()
792 ;
793 updated = true;
794 }
795
796 if (toUpdate.AutoPickupOff != data.isAutoPickupOff()
797 ) {
798 toUpdate.AutoPickupOff=data.isAutoPickupOff()
799 ;
800 updated = true;
801 }
802
803 if (!SafeEquals.equals(toUpdate.Action, data.getAction()
804 )) {
805 toUpdate.Action=data.getAction()
806 ;
807 updated = true;
808 }
809
810
811 data = toUpdate;
812
813 if ( updated )
814 {
815 toUpdate.SimTime = this.time;
816 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.UPDATED, data);
817 }
818
819 return new IWorldObjectUpdateResult.WorldObjectUpdateResult<ILocalWorldObject>(IWorldObjectUpdateResult.Result.SAME, data);
820 }
821 throw new PogamutException("Unsupported object type for update. Expected ConfigChangeLocalImpl for object " + object.getId() +", not object of class " + object.getClass().getSimpleName() + ".", this);
822 }
823
824
825
826
827 @Override
828 public long getSimTime() {
829 return this.time;
830 }
831
832 @Override
833 public IWorldObject getObject() {
834 return data;
835 }
836
837 @Override
838 public WorldObjectId getId() {
839 return data.getId();
840 }
841
842 }
843
844
845 public String toString() {
846 return
847 super.toString() + "[" +
848
849 "Id = " + String.valueOf(getId()
850 ) + " | " +
851
852 "BotId = " + String.valueOf(getBotId()
853 ) + " | " +
854
855 "ManualSpawn = " + String.valueOf(isManualSpawn()
856 ) + " | " +
857
858 "AutoTrace = " + String.valueOf(isAutoTrace()
859 ) + " | " +
860
861 "Name = " + String.valueOf(getName()
862 ) + " | " +
863
864 "SpeedMultiplier = " + String.valueOf(getSpeedMultiplier()
865 ) + " | " +
866
867 "RotationRate = " + String.valueOf(getRotationRate()
868 ) + " | " +
869
870 "Invulnerable = " + String.valueOf(isInvulnerable()
871 ) + " | " +
872
873 "VisionTime = " + String.valueOf(getVisionTime()
874 ) + " | " +
875
876 "ShowDebug = " + String.valueOf(isShowDebug()
877 ) + " | " +
878
879 "ShowFocalPoint = " + String.valueOf(isShowFocalPoint()
880 ) + " | " +
881
882 "DrawTraceLines = " + String.valueOf(isDrawTraceLines()
883 ) + " | " +
884
885 "SynchronousOff = " + String.valueOf(isSynchronousOff()
886 ) + " | " +
887
888 "AutoPickupOff = " + String.valueOf(isAutoPickupOff()
889 ) + " | " +
890
891 "Action = " + String.valueOf(getAction()
892 ) + " | " +
893
894 "]";
895 }
896
897
898 public String toHtmlString() {
899 return super.toString() + "[<br/>" +
900
901 "<b>Id</b> = " + String.valueOf(getId()
902 ) + " <br/> " +
903
904 "<b>BotId</b> = " + String.valueOf(getBotId()
905 ) + " <br/> " +
906
907 "<b>ManualSpawn</b> = " + String.valueOf(isManualSpawn()
908 ) + " <br/> " +
909
910 "<b>AutoTrace</b> = " + String.valueOf(isAutoTrace()
911 ) + " <br/> " +
912
913 "<b>Name</b> = " + String.valueOf(getName()
914 ) + " <br/> " +
915
916 "<b>SpeedMultiplier</b> = " + String.valueOf(getSpeedMultiplier()
917 ) + " <br/> " +
918
919 "<b>RotationRate</b> = " + String.valueOf(getRotationRate()
920 ) + " <br/> " +
921
922 "<b>Invulnerable</b> = " + String.valueOf(isInvulnerable()
923 ) + " <br/> " +
924
925 "<b>VisionTime</b> = " + String.valueOf(getVisionTime()
926 ) + " <br/> " +
927
928 "<b>ShowDebug</b> = " + String.valueOf(isShowDebug()
929 ) + " <br/> " +
930
931 "<b>ShowFocalPoint</b> = " + String.valueOf(isShowFocalPoint()
932 ) + " <br/> " +
933
934 "<b>DrawTraceLines</b> = " + String.valueOf(isDrawTraceLines()
935 ) + " <br/> " +
936
937 "<b>SynchronousOff</b> = " + String.valueOf(isSynchronousOff()
938 ) + " <br/> " +
939
940 "<b>AutoPickupOff</b> = " + String.valueOf(isAutoPickupOff()
941 ) + " <br/> " +
942
943 "<b>Action</b> = " + String.valueOf(getAction()
944 ) + " <br/> " +
945
946 "<br/>]";
947 }
948
949
950
951
952
953
954
955
956
957
958 }
959