1
2
3
4
5
6
7
8
9
10 package
11 cz.cuni.amis.pogamut.udk.communication.messages.gbinfomessages;
12 import java.util.*;
13 import javax.vecmath.*;
14 import cz.cuni.amis.pogamut.base.communication.messages.*;
15 import cz.cuni.amis.pogamut.base.communication.worldview.*;
16 import cz.cuni.amis.pogamut.base.communication.worldview.event.*;
17 import cz.cuni.amis.pogamut.base.communication.worldview.object.*;
18 import cz.cuni.amis.pogamut.base.communication.translator.event.*;
19 import cz.cuni.amis.pogamut.base3d.worldview.object.*;
20 import cz.cuni.amis.pogamut.base3d.worldview.object.event.*;
21 import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;
22 import cz.cuni.amis.pogamut.udk.communication.messages.*;
23 import cz.cuni.amis.pogamut.udk.communication.worldview.objects.*;
24 import cz.cuni.amis.pogamut.udk.communication.translator.itemdescriptor.*;
25 import cz.cuni.amis.pogamut.udk.communication.messages.ItemType.Category;
26 import cz.cuni.amis.utils.exception.*;
27 import cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result;
28 import cz.cuni.amis.utils.SafeEquals;
29 import cz.cuni.amis.pogamut.multi.communication.worldview.object.*;
30
31
32
33
34
35
36
37
38
39
40
41
42
43 public class
44 InitedMessage
45 extends GBObjectUpdate
46
47 implements IGBWorldObjectEvent, IWorldObject
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 public InitedMessage(
124 UnrealId BotId, int HealthStart, int HealthFull, int HealthMax, double AdrenalineStart, double AdrenalineMax, int ShieldStrengthStart, int ShieldStrengthMax, int MaxMultiJump, double DamageScaling, double GroundSpeed, double WaterSpeed, double AirSpeed, double LadderSpeed, double AccelRate, double JumpZ, double MultiJumpBoost, double MaxFallSpeed, double DodgeSpeedFactor, double DodgeSpeedZ, double AirControl) {
125
126 this.BotId = BotId;
127
128 this.HealthStart = HealthStart;
129
130 this.HealthFull = HealthFull;
131
132 this.HealthMax = HealthMax;
133
134 this.AdrenalineStart = AdrenalineStart;
135
136 this.AdrenalineMax = AdrenalineMax;
137
138 this.ShieldStrengthStart = ShieldStrengthStart;
139
140 this.ShieldStrengthMax = ShieldStrengthMax;
141
142 this.MaxMultiJump = MaxMultiJump;
143
144 this.DamageScaling = DamageScaling;
145
146 this.GroundSpeed = GroundSpeed;
147
148 this.WaterSpeed = WaterSpeed;
149
150 this.AirSpeed = AirSpeed;
151
152 this.LadderSpeed = LadderSpeed;
153
154 this.AccelRate = AccelRate;
155
156 this.JumpZ = JumpZ;
157
158 this.MultiJumpBoost = MultiJumpBoost;
159
160 this.MaxFallSpeed = MaxFallSpeed;
161
162 this.DodgeSpeedFactor = DodgeSpeedFactor;
163
164 this.DodgeSpeedZ = DodgeSpeedZ;
165
166 this.AirControl = AirControl;
167
168 }
169
170
171
172 public static final String PROTOTYPE =
173 "INITED {BotId unreal_id} {HealthStart 0} {HealthFull 0} {HealthMax 0} {AdrenalineStart 0} {AdrenalineMax 0} {ShieldStrengthStart 0} {ShieldStrengthMax 0} {MaxMultiJump 0} {DamageScaling 0} {GroundSpeed 0} {WaterSpeed 0} {AirSpeed 0} {LadderSpeed 0} {AccelRate 0} {JumpZ 0} {MultiJumpBoost 0} {MaxFallSpeed 0} {DodgeSpeedFactor 0} {DodgeSpeedZ 0} {AirControl 0}";
174
175
176
177
178
179
180
181
182 protected
183 UnrealId BotId =
184 null;
185
186
187
188
189
190
191 public
192 UnrealId getBotId() {
193 return
194 BotId;
195 }
196
197
198
199
200
201
202
203 protected
204 int HealthStart =
205 0;
206
207
208
209
210
211
212 public
213 int getHealthStart() {
214 return
215 HealthStart;
216 }
217
218
219
220
221
222
223
224 protected
225 int HealthFull =
226 0;
227
228
229
230
231
232
233 public
234 int getHealthFull() {
235 return
236 HealthFull;
237 }
238
239
240
241
242
243
244
245 protected
246 int HealthMax =
247 0;
248
249
250
251
252
253
254 public
255 int getHealthMax() {
256 return
257 HealthMax;
258 }
259
260
261
262
263
264
265
266 protected
267 double AdrenalineStart =
268 0;
269
270
271
272
273
274
275 public
276 double getAdrenalineStart() {
277 return
278 AdrenalineStart;
279 }
280
281
282
283
284
285
286
287 protected
288 double AdrenalineMax =
289 0;
290
291
292
293
294
295
296 public
297 double getAdrenalineMax() {
298 return
299 AdrenalineMax;
300 }
301
302
303
304
305
306
307
308 protected
309 int ShieldStrengthStart =
310 0;
311
312
313
314
315
316
317 public
318 int getShieldStrengthStart() {
319 return
320 ShieldStrengthStart;
321 }
322
323
324
325
326
327
328
329 protected
330 int ShieldStrengthMax =
331 0;
332
333
334
335
336
337
338 public
339 int getShieldStrengthMax() {
340 return
341 ShieldStrengthMax;
342 }
343
344
345
346
347
348
349
350 protected
351 int MaxMultiJump =
352 0;
353
354
355
356
357
358
359 public
360 int getMaxMultiJump() {
361 return
362 MaxMultiJump;
363 }
364
365
366
367
368
369
370
371 protected
372 double DamageScaling =
373 0;
374
375
376
377
378
379
380 public
381 double getDamageScaling() {
382 return
383 DamageScaling;
384 }
385
386
387
388
389
390
391
392 protected
393 double GroundSpeed =
394 0;
395
396
397
398
399
400
401 public
402 double getGroundSpeed() {
403 return
404 GroundSpeed;
405 }
406
407
408
409
410
411
412
413 protected
414 double WaterSpeed =
415 0;
416
417
418
419
420
421
422 public
423 double getWaterSpeed() {
424 return
425 WaterSpeed;
426 }
427
428
429
430
431
432
433
434 protected
435 double AirSpeed =
436 0;
437
438
439
440
441
442
443 public
444 double getAirSpeed() {
445 return
446 AirSpeed;
447 }
448
449
450
451
452
453
454
455 protected
456 double LadderSpeed =
457 0;
458
459
460
461
462
463
464 public
465 double getLadderSpeed() {
466 return
467 LadderSpeed;
468 }
469
470
471
472
473
474
475
476 protected
477 double AccelRate =
478 0;
479
480
481
482
483
484
485 public
486 double getAccelRate() {
487 return
488 AccelRate;
489 }
490
491
492
493
494
495
496
497 protected
498 double JumpZ =
499 0;
500
501
502
503
504
505
506 public
507 double getJumpZ() {
508 return
509 JumpZ;
510 }
511
512
513
514
515
516
517
518 protected
519 double MultiJumpBoost =
520 0;
521
522
523
524
525
526
527 public
528 double getMultiJumpBoost() {
529 return
530 MultiJumpBoost;
531 }
532
533
534
535
536
537
538
539 protected
540 double MaxFallSpeed =
541 0;
542
543
544
545
546
547
548 public
549 double getMaxFallSpeed() {
550 return
551 MaxFallSpeed;
552 }
553
554
555
556
557
558
559
560 protected
561 double DodgeSpeedFactor =
562 0;
563
564
565
566
567
568
569 public
570 double getDodgeSpeedFactor() {
571 return
572 DodgeSpeedFactor;
573 }
574
575
576
577
578
579
580
581 protected
582 double DodgeSpeedZ =
583 0;
584
585
586
587
588
589
590 public
591 double getDodgeSpeedZ() {
592 return
593 DodgeSpeedZ;
594 }
595
596
597
598
599
600
601
602 protected
603 double AirControl =
604 0;
605
606
607
608
609
610
611 public
612 double getAirControl() {
613 return
614 AirControl;
615 }
616
617
618
619
620
621
622
623
624
625 public static final UnrealId InitedMessageId = UnrealId.get("InitedMessageId");
626
627 public UnrealId getId() {
628 return InitedMessageId;
629 }
630
631 protected double Time = 0;
632
633 protected double getTime() {
634 return Time;
635 }
636
637 protected void setTime(double time) {
638 this.Time = time;
639 }
640
641 public double getLastSeenTime() {
642 return Time;
643 }
644
645
646 public ILocalWorldObject getLocal() {
647 return null;
648 }
649
650 public ISharedWorldObject getShared() {
651 return null;
652 }
653
654 public IStaticWorldObject getStatic() {
655 return null;
656 }
657
658 @Override
659 public long getSimTime() {
660 return (long)getLastSeenTime();
661 }
662
663 public boolean equals(Object obj) {
664 if (!(obj instanceof InitedMessage)) return false;
665 InitedMessage cast = (InitedMessage)obj;
666 if (this.getId() != null) return this.getId().equals(cast.getId());
667 else return cast.getId() == null;
668 }
669
670 public int hashCode() {
671 if (getId() != null) return getId().hashCode();
672 return 0;
673 }
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691 public InitedMessage(InitedMessage original) {
692
693 this.BotId=original.BotId;
694
695 this.HealthStart=original.HealthStart;
696
697 this.HealthFull=original.HealthFull;
698
699 this.HealthMax=original.HealthMax;
700
701 this.AdrenalineStart=original.AdrenalineStart;
702
703 this.AdrenalineMax=original.AdrenalineMax;
704
705 this.ShieldStrengthStart=original.ShieldStrengthStart;
706
707 this.ShieldStrengthMax=original.ShieldStrengthMax;
708
709 this.MaxMultiJump=original.MaxMultiJump;
710
711 this.DamageScaling=original.DamageScaling;
712
713 this.GroundSpeed=original.GroundSpeed;
714
715 this.WaterSpeed=original.WaterSpeed;
716
717 this.AirSpeed=original.AirSpeed;
718
719 this.LadderSpeed=original.LadderSpeed;
720
721 this.AccelRate=original.AccelRate;
722
723 this.JumpZ=original.JumpZ;
724
725 this.MultiJumpBoost=original.MultiJumpBoost;
726
727 this.MaxFallSpeed=original.MaxFallSpeed;
728
729 this.DodgeSpeedFactor=original.DodgeSpeedFactor;
730
731 this.DodgeSpeedZ=original.DodgeSpeedZ;
732
733 this.AirControl=original.AirControl;
734
735 }
736
737
738
739
740
741 public InitedMessage() {
742 }
743
744
745
746
747
748 private IWorldObject orig = null;
749
750 public IWorldObjectUpdateResult update(IWorldObject obj) {
751 if(obj == null) {
752 orig = this;
753 return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.CREATED, this);
754 }
755 orig = obj;
756
757 InitedMessage o = (InitedMessage)obj;
758
759 boolean updated = false;
760
761
762 if (o.HealthStart != HealthStart) {
763 o.HealthStart=HealthStart;
764 updated = true;
765 }
766
767 if (o.HealthFull != HealthFull) {
768 o.HealthFull=HealthFull;
769 updated = true;
770 }
771
772 if (o.HealthMax != HealthMax) {
773 o.HealthMax=HealthMax;
774 updated = true;
775 }
776
777 if (o.AdrenalineStart != AdrenalineStart) {
778 o.AdrenalineStart=AdrenalineStart;
779 updated = true;
780 }
781
782 if (o.AdrenalineMax != AdrenalineMax) {
783 o.AdrenalineMax=AdrenalineMax;
784 updated = true;
785 }
786
787 if (o.ShieldStrengthStart != ShieldStrengthStart) {
788 o.ShieldStrengthStart=ShieldStrengthStart;
789 updated = true;
790 }
791
792 if (o.ShieldStrengthMax != ShieldStrengthMax) {
793 o.ShieldStrengthMax=ShieldStrengthMax;
794 updated = true;
795 }
796
797 if (o.MaxMultiJump != MaxMultiJump) {
798 o.MaxMultiJump=MaxMultiJump;
799 updated = true;
800 }
801
802 if (o.DamageScaling != DamageScaling) {
803 o.DamageScaling=DamageScaling;
804 updated = true;
805 }
806
807 if (o.GroundSpeed != GroundSpeed) {
808 o.GroundSpeed=GroundSpeed;
809 updated = true;
810 }
811
812 if (o.WaterSpeed != WaterSpeed) {
813 o.WaterSpeed=WaterSpeed;
814 updated = true;
815 }
816
817 if (o.AirSpeed != AirSpeed) {
818 o.AirSpeed=AirSpeed;
819 updated = true;
820 }
821
822 if (o.LadderSpeed != LadderSpeed) {
823 o.LadderSpeed=LadderSpeed;
824 updated = true;
825 }
826
827 if (o.AccelRate != AccelRate) {
828 o.AccelRate=AccelRate;
829 updated = true;
830 }
831
832 if (o.JumpZ != JumpZ) {
833 o.JumpZ=JumpZ;
834 updated = true;
835 }
836
837 if (o.MultiJumpBoost != MultiJumpBoost) {
838 o.MultiJumpBoost=MultiJumpBoost;
839 updated = true;
840 }
841
842 if (o.MaxFallSpeed != MaxFallSpeed) {
843 o.MaxFallSpeed=MaxFallSpeed;
844 updated = true;
845 }
846
847 if (o.DodgeSpeedFactor != DodgeSpeedFactor) {
848 o.DodgeSpeedFactor=DodgeSpeedFactor;
849 updated = true;
850 }
851
852 if (o.DodgeSpeedZ != DodgeSpeedZ) {
853 o.DodgeSpeedZ=DodgeSpeedZ;
854 updated = true;
855 }
856
857 if (o.AirControl != AirControl) {
858 o.AirControl=AirControl;
859 updated = true;
860 }
861
862 o.Time = Time;
863
864
865 if (updated) {
866 return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.UPDATED, o);
867 } else {
868 return new IWorldObjectUpdateResult.WorldObjectUpdateResult(cz.cuni.amis.pogamut.base.communication.translator.event.IWorldObjectUpdateResult.Result.SAME, o);
869 }
870 }
871
872
873
874
875
876 public IWorldObject getObject() {
877 if (orig == null) return this;
878 return orig;
879 }
880
881
882
883 public String toString() {
884 return
885
886 super.toString() + " | " +
887
888 "BotId = " +
889 String.valueOf(BotId) + " | " +
890
891 "HealthStart = " +
892 String.valueOf(HealthStart) + " | " +
893
894 "HealthFull = " +
895 String.valueOf(HealthFull) + " | " +
896
897 "HealthMax = " +
898 String.valueOf(HealthMax) + " | " +
899
900 "AdrenalineStart = " +
901 String.valueOf(AdrenalineStart) + " | " +
902
903 "AdrenalineMax = " +
904 String.valueOf(AdrenalineMax) + " | " +
905
906 "ShieldStrengthStart = " +
907 String.valueOf(ShieldStrengthStart) + " | " +
908
909 "ShieldStrengthMax = " +
910 String.valueOf(ShieldStrengthMax) + " | " +
911
912 "MaxMultiJump = " +
913 String.valueOf(MaxMultiJump) + " | " +
914
915 "DamageScaling = " +
916 String.valueOf(DamageScaling) + " | " +
917
918 "GroundSpeed = " +
919 String.valueOf(GroundSpeed) + " | " +
920
921 "WaterSpeed = " +
922 String.valueOf(WaterSpeed) + " | " +
923
924 "AirSpeed = " +
925 String.valueOf(AirSpeed) + " | " +
926
927 "LadderSpeed = " +
928 String.valueOf(LadderSpeed) + " | " +
929
930 "AccelRate = " +
931 String.valueOf(AccelRate) + " | " +
932
933 "JumpZ = " +
934 String.valueOf(JumpZ) + " | " +
935
936 "MultiJumpBoost = " +
937 String.valueOf(MultiJumpBoost) + " | " +
938
939 "MaxFallSpeed = " +
940 String.valueOf(MaxFallSpeed) + " | " +
941
942 "DodgeSpeedFactor = " +
943 String.valueOf(DodgeSpeedFactor) + " | " +
944
945 "DodgeSpeedZ = " +
946 String.valueOf(DodgeSpeedZ) + " | " +
947
948 "AirControl = " +
949 String.valueOf(AirControl) + " | " +
950 "";
951
952 }
953
954 public String toHtmlString() {
955 return super.toString() +
956
957 "<b>BotId</b> : " +
958 String.valueOf(BotId) +
959 " <br/> " +
960
961 "<b>HealthStart</b> : " +
962 String.valueOf(HealthStart) +
963 " <br/> " +
964
965 "<b>HealthFull</b> : " +
966 String.valueOf(HealthFull) +
967 " <br/> " +
968
969 "<b>HealthMax</b> : " +
970 String.valueOf(HealthMax) +
971 " <br/> " +
972
973 "<b>AdrenalineStart</b> : " +
974 String.valueOf(AdrenalineStart) +
975 " <br/> " +
976
977 "<b>AdrenalineMax</b> : " +
978 String.valueOf(AdrenalineMax) +
979 " <br/> " +
980
981 "<b>ShieldStrengthStart</b> : " +
982 String.valueOf(ShieldStrengthStart) +
983 " <br/> " +
984
985 "<b>ShieldStrengthMax</b> : " +
986 String.valueOf(ShieldStrengthMax) +
987 " <br/> " +
988
989 "<b>MaxMultiJump</b> : " +
990 String.valueOf(MaxMultiJump) +
991 " <br/> " +
992
993 "<b>DamageScaling</b> : " +
994 String.valueOf(DamageScaling) +
995 " <br/> " +
996
997 "<b>GroundSpeed</b> : " +
998 String.valueOf(GroundSpeed) +
999 " <br/> " +
1000
1001 "<b>WaterSpeed</b> : " +
1002 String.valueOf(WaterSpeed) +
1003 " <br/> " +
1004
1005 "<b>AirSpeed</b> : " +
1006 String.valueOf(AirSpeed) +
1007 " <br/> " +
1008
1009 "<b>LadderSpeed</b> : " +
1010 String.valueOf(LadderSpeed) +
1011 " <br/> " +
1012
1013 "<b>AccelRate</b> : " +
1014 String.valueOf(AccelRate) +
1015 " <br/> " +
1016
1017 "<b>JumpZ</b> : " +
1018 String.valueOf(JumpZ) +
1019 " <br/> " +
1020
1021 "<b>MultiJumpBoost</b> : " +
1022 String.valueOf(MultiJumpBoost) +
1023 " <br/> " +
1024
1025 "<b>MaxFallSpeed</b> : " +
1026 String.valueOf(MaxFallSpeed) +
1027 " <br/> " +
1028
1029 "<b>DodgeSpeedFactor</b> : " +
1030 String.valueOf(DodgeSpeedFactor) +
1031 " <br/> " +
1032
1033 "<b>DodgeSpeedZ</b> : " +
1034 String.valueOf(DodgeSpeedZ) +
1035 " <br/> " +
1036
1037 "<b>AirControl</b> : " +
1038 String.valueOf(AirControl) +
1039 " <br/> " +
1040 "";
1041 }
1042
1043
1044
1045 }
1046
1047