1 package cz.cuni.amis.pogamut.unreal.communication.messages.gbinfomessages;
2
3 import cz.cuni.amis.pogamut.base3d.worldview.object.Location;
4 import cz.cuni.amis.pogamut.base3d.worldview.object.Rotation;
5 import cz.cuni.amis.pogamut.base3d.worldview.object.Velocity;
6 import cz.cuni.amis.pogamut.unreal.communication.messages.UnrealId;
7
8 /**
9 *
10 * @author ik
11 */
12 public interface IPlayer {
13
14 public UnrealId getId();
15
16 public String getName();
17
18 public String getAction();
19
20 /**
21
22 If the player is in the field of view of the bot.
23
24 */
25 public boolean isVisible();
26
27 /**
28
29 Which direction the player is facing in absolute terms.
30
31 */
32 public Rotation getRotation();
33
34 /**
35
36 An absolute location of the player within the map.
37
38 */
39 public Location getLocation();
40
41 /**
42
43 Absolute velocity of the player as a vector of movement per one
44 game second.
45
46 */
47 public Velocity getVelocity();
48
49 /**
50
51 What team the player is on. 255 is no team. 0-3 are red,
52 blue, green, gold in that order.
53
54 */
55 public int getTeam();
56
57 /**
58
59 Class of the weapon the player is holding. Weapon strings to
60 look for include: "AssaultRifle", "ShieldGun", "FlakCannon",
61 "BioRifle", "ShockRifle", "LinkGun", "SniperRifle",
62 "RocketLauncher", "Minigun", "LightingGun", "Translocator".
63 TODO: Look if this is all.
64
65 */
66 public String getWeapon();
67
68 /**
69
70 0 means is not firing, 1 - firing in primary mode, 2 -
71 firing in secondary mode (alt firing).
72
73 */
74 public int getFiring();
75
76 public long getSimTime();
77
78 public String toHtmlString();
79 }