Class StationHoverComponent

All Implemented Interfaces:
com.badlogic.gdx.utils.Disposable, Renderable, Comparable<Renderable>
Direct Known Subclasses:
BasketHoverComponent, BinHoverComponent, ChoppingBoardHoverComponent, CookingHoverComponent, MixingBenchHoverComponent, SubmitHoverComponent

public abstract class StationHoverComponent extends RenderComponent
An abstract component that displays the items in an a station's InventoryComponent as images hovering above the entity. This is different to the InventoryDisplay UI component, which displays items in slots that overlay the gameplay screen. To use: add this component to an entity that has an InventoryComponent. This component will NOT work if the entity it is added to does not have a InventoryComponent. This component is also used to display key tooltips indicating available interactions the player can make with the station. Concrete classes should be made for each station type, extending this class and implement the drawToolTips() method to match the relevant key tooltips for the station.
  • Field Details

    • showKeys

      protected boolean showKeys
    • inventory

      protected InventoryComponent inventory
    • currentItem

      protected ItemComponent currentItem
    • hasItem

      protected boolean hasItem
    • interactKeyImage

      protected com.badlogic.gdx.graphics.Texture interactKeyImage
    • combineKeyImage

      protected com.badlogic.gdx.graphics.Texture combineKeyImage
    • rotateKeyImage

      protected com.badlogic.gdx.graphics.Texture rotateKeyImage
    • chopKeyImage

      protected com.badlogic.gdx.graphics.Texture chopKeyImage
    • placeKeyImage

      protected com.badlogic.gdx.graphics.Texture placeKeyImage
    • takeKeyImage

      protected com.badlogic.gdx.graphics.Texture takeKeyImage
    • submitKeyImage

      protected com.badlogic.gdx.graphics.Texture submitKeyImage
    • disposeKeyImage

      protected com.badlogic.gdx.graphics.Texture disposeKeyImage
    • cookKeyImage

      protected com.badlogic.gdx.graphics.Texture cookKeyImage
    • position

      protected com.badlogic.gdx.math.Vector2 position
    • scale

      protected com.badlogic.gdx.math.Vector2 scale
    • KEY_WIDTH

      protected final float KEY_WIDTH
      See Also:
    • KEY_HEIGHT

      protected static final float KEY_HEIGHT
      See Also:
  • Constructor Details

    • StationHoverComponent

      public StationHoverComponent()
  • 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 RenderComponent
    • updateDisplay

      public void updateDisplay()
      Updates the inventory display of this StationHoverComponent
    • drawToolTips

      public abstract void drawToolTips(com.badlogic.gdx.graphics.g2d.SpriteBatch batch)
      Draws the required key tooltips for the current interactions that can be done on this station. Implement in subclass based on station type
      Parameters:
      batch - The SpriteBatch used for drawing
    • draw

      public void draw(com.badlogic.gdx.graphics.g2d.SpriteBatch batch)
      Description copied from class: RenderComponent
      Draw the renderable. Should be called only by the renderer, not manually.
      Specified by:
      draw in class RenderComponent
      Parameters:
      batch - Batch to render to.
    • dispose

      public void dispose()
      Description copied from class: Component
      Called when the component is disposed. Dispose of any internal resources here.
      Specified by:
      dispose in interface com.badlogic.gdx.utils.Disposable
      Overrides:
      dispose in class RenderComponent
    • getLayer

      public int getLayer()
      Description copied from interface: Renderable
      Layer to be rendered in. Higher layers will be rendered on top of lower layers.
      Specified by:
      getLayer in interface Renderable
      Overrides:
      getLayer in class RenderComponent
      Returns:
      layer
    • setStage

      public void setStage(com.badlogic.gdx.scenes.scene2d.Stage mock)