Class CombatStatsComponent

java.lang.Object
com.csse3200.game.components.Component
com.csse3200.game.components.combat.CombatStatsComponent
All Implemented Interfaces:
com.badlogic.gdx.utils.Json.Serializable

public class CombatStatsComponent extends Component
Component used to store information related to combat such as health, attack, etc. Any entities which engage it combat should have an instance of this class registered. This class can be extended for more specific combat needs.
  • Constructor Details

    • CombatStatsComponent

      public CombatStatsComponent(int health, int baseAttack)
  • Method Details

    • create

      public void create()
      Description copied from class: Component
      Called when the entity is created and registered. Initial logic such as calls to GetComponent should be made here, not in the constructor which is called before an entity is finished.
      Overrides:
      create in class Component
    • isDead

      public boolean isDead()
      Returns true if the entity's has 0 health, otherwise false.
      Returns:
      is player dead
    • getHealth

      public int getHealth()
      Returns the entity's health.
      Returns:
      entity's health
    • setHealth

      public void setHealth(int health)
      Sets the entity's health. Health has a minimum bound of 0.
      Parameters:
      health - health
    • addHealth

      public void addHealth(int health)
      Adds to the player's health. The amount added can be negative.
      Parameters:
      health - health to add
    • getBaseAttack

      public int getBaseAttack()
      Returns the entity's base attack damage.
      Returns:
      base attack damage
    • setBaseAttack

      public void setBaseAttack(int attack)
      Sets the entity's attack damage. Attack damage has a minimum bound of 0.
      Parameters:
      attack - Attack damage
    • hit

      public void hit(CombatStatsComponent attacker)
    • handleDeath

      public void handleDeath()
    • hitFromEntity

      public void hitFromEntity(Entity attacker)
    • earlyUpdate

      public void earlyUpdate()
      Description copied from class: Component
      Early update called once per frame of the game, before update(). Use this only for logic that must run before other updates, such as physics. Not called if component is disabled.
      Overrides:
      earlyUpdate in class Component
    • write

      public void write(com.badlogic.gdx.utils.Json json)
      Specified by:
      write in interface com.badlogic.gdx.utils.Json.Serializable
      Overrides:
      write in class Component
    • read

      public void read(com.badlogic.gdx.utils.Json json, com.badlogic.gdx.utils.JsonValue jsonValue)
      Specified by:
      read in interface com.badlogic.gdx.utils.Json.Serializable
      Overrides:
      read in class Component