Class StationItemHandlerComponent

java.lang.Object
com.csse3200.game.components.Component
com.csse3200.game.components.station.StationItemHandlerComponent

public class StationItemHandlerComponent extends Component
  • Field Details

    • type

      protected final String type
      String type - storing type of station StationInventoryComponent inventorycomponent - instance of inventory for this station acceptableItems - ArrayList which contains all accepted items or it null
    • inventoryComponent

      protected InventoryComponent inventoryComponent
    • acceptableItems

      protected ArrayList<String> acceptableItems
  • Constructor Details

    • StationItemHandlerComponent

      public StationItemHandlerComponent(String type)
      General constructor
      Parameters:
      type - - storing type of station
  • Method Details

    • create

      public void create()
      Called on creation of the station to allow outside interaction within the station. Adds the listener for set current item and for remove current item.
      Overrides:
      create in class Component
    • getType

      public String getType()
      Gets the type of station
      Returns:
      station type
    • isItemAccepted

      public boolean isItemAccepted(ItemComponent item)
      Checks if the item can be accepted
      Parameters:
      item - to check if can be accepted
      Returns:
      true if it can be acceptedd, false otherwise.
    • handleInteraction

      public void handleInteraction(InventoryComponent playerInventoryComponent, InventoryDisplay inventoryDisplay, String type)
      Handles any interaction with station, using current state of player and station inventory to determine intended interaction
      Parameters:
      playerInventoryComponent - reference to player inventory component
      inventoryDisplay - reference to individual inventory display
      type - the type of interaction attempt
    • peek

      public ItemComponent peek()
      Returns:
      current Item being stored
    • stationReceiveItem

      public void stationReceiveItem(ItemComponent item, InventoryComponent playerInventoryComponent, InventoryDisplay inventoryDisplay)
      Takes the item from the player and stores in station
      Parameters:
      playerInventoryComponent - reference to player inventory
      inventoryDisplay - reference to UI for inventory display
    • stationGiveItem

      public void stationGiveItem(InventoryComponent playerInventoryComponent, InventoryDisplay inventoryDisplay)
      Takes the item from the station, and returns the old item
      Parameters:
      playerInventoryComponent - reference to player inventory
      inventoryDisplay - reference to UI for inventory display