Coverage Summary for Class: PowerUpAssigned (com.mygdx.game.Components)
Class |
Class, %
|
Method, %
|
Line, %
|
PowerUpAssigned |
100%
(1/1)
|
100%
(3/3)
|
85.7%
(12/14)
|
1 package com.mygdx.game.Components;
2
3 import com.mygdx.game.PowerUps.PowerUp;
4
5 /**
6 * // Assessment 2 addition //
7 * For PowerUp requirement,
8 * Holds the current PowerUp and manages it.
9 */
10 public class PowerUpAssigned extends Component {
11
12 private Pirate pirate;
13 private PowerUp powerUpAssigned;
14
15 /**
16 * Assign a PowerUp, disabling the old one if present.
17 * @param powerUp The PowerUp to be assigned
18 */
19 public void AssignPowerUp(PowerUp powerUp) {
20 if (pirate == null){
21 pirate = parent.getComponent(Pirate.class);
22 }
23 if (!powerUp.CheckPermanent()) {
24 if (powerUpAssigned != null) {
25 powerUpAssigned.DisablePowerUp(pirate);
26 }
27 powerUp.EnablePowerUp(pirate);
28 powerUpAssigned = powerUp;
29 } else {
30 powerUp.EnablePowerUp(pirate);
31 }
32 }
33
34 /**
35 * Each frame checks if the assigned PowerUp is done, and deactivates as necessary.
36 */
37 @Override
38 public void update() {
39 super.update();
40 if (pirate == null){
41 pirate = parent.getComponent(Pirate.class);
42 }
43 if (powerUpAssigned != null) {
44 powerUpAssigned.CheckPowerUpDone(pirate);
45 }
46 }
47 }