|
1 | 1 | package bwapi; |
2 | 2 |
|
| 3 | +import JavaBWAPIBackend.Client.GameData.BulletData; |
3 | 4 | import bwapi.point.Position; |
4 | 5 | import bwapi.types.BulletType; |
5 | 6 |
|
6 | 7 | public class Bullet { |
7 | | - private final int id; |
| 8 | + private final BulletData bulletData; |
| 9 | + private final Game game; |
8 | 10 |
|
9 | | - Bullet(int id) { |
10 | | - this.id = id; |
| 11 | + Bullet(final BulletData bulletData, final Game game) { |
| 12 | + this.bulletData = bulletData; |
| 13 | + this.game = game; |
11 | 14 | } |
12 | 15 |
|
13 | 16 | public int getID() { |
14 | | - return id; |
| 17 | + return bulletData.id(); |
15 | 18 | } |
16 | 19 |
|
17 | 20 | public boolean exists() { |
18 | | - return false; |
| 21 | + return bulletData.exists(); |
19 | 22 | } |
20 | 23 |
|
21 | 24 | public Player getPlayer() { |
22 | | - return null; |
| 25 | + return game.getPlayer(bulletData.player()); |
23 | 26 | } |
24 | 27 |
|
25 | 28 | public BulletType getType() { |
26 | | - return null; |
| 29 | + return BulletType.bulletTypes.get(bulletData.type()); |
27 | 30 | } |
28 | 31 |
|
29 | 32 | public Unit getSource() { |
30 | | - return null; |
| 33 | + return game.getUnit(bulletData.source()); |
31 | 34 | } |
32 | 35 |
|
33 | 36 | public Position getPosition() { |
34 | | - return null; |
| 37 | + return new Position(bulletData.positionX(), bulletData.positionY()); |
35 | 38 | } |
36 | 39 |
|
37 | 40 | public double getAngle() { |
38 | | - return -1; |
| 41 | + return bulletData.angle(); |
39 | 42 | } |
40 | 43 |
|
41 | 44 | public double getVelocityX() { |
42 | | - return -1; |
| 45 | + return bulletData.velocityX(); |
43 | 46 | } |
44 | 47 |
|
45 | 48 | public double getVelocityY() { |
46 | | - return -1; |
| 49 | + return bulletData.velocityY(); |
47 | 50 | } |
48 | 51 |
|
49 | 52 | public Unit getTarget() { |
50 | | - return null; |
| 53 | + return game.getUnit(bulletData.target()); |
51 | 54 | } |
52 | 55 |
|
53 | 56 | public Position getTargetPosition() { |
54 | | - return null; |
| 57 | + return new Position(bulletData.positionX(), bulletData.positionY()); |
55 | 58 | } |
56 | 59 |
|
57 | 60 | public int getRemoveTimer() { |
58 | | - return -1; |
| 61 | + return bulletData.removeTimer(); |
59 | 62 | } |
60 | 63 |
|
61 | 64 | public boolean isVisible() { |
62 | | - return false; |
| 65 | + return isVisible(game.self()); |
63 | 66 | } |
64 | 67 |
|
65 | | - public boolean isVisible(Player player) { |
66 | | - return false; |
| 68 | + public boolean isVisible(final Player player) { |
| 69 | + return bulletData.isVisible(player.getID()); |
67 | 70 | } |
68 | 71 |
|
69 | | - |
70 | 72 | public boolean equals(Object that){ |
71 | 73 | if(!(that instanceof Bullet)) return false; |
72 | 74 | return getID() == ((Bullet)that).getID(); |
|
0 commit comments