Interface CanDealWithDynamicObstacle<Obstacle>

All Known Implementing Classes:
LayeredAreasNavigation, SimpleNavGraph, Sparse2DTiledSurface_NavGraph, SurfaceNavGraph

public interface CanDealWithDynamicObstacle<Obstacle>
A feature of a navigation graph that allows obstacles to be added. An obstacle has a state that can be toggled to set it to the blocking-state and non-blocking state. When non-blocking it will not hamper navigation, otherwise it will.
  • Method Details

    • addObstacle

      void addObstacle(Obstacle o)
    • removeObstacle

      void removeObstacle(Obstacle o)
    • isBlocking

      boolean isBlocking(Obstacle o)
      Return the state of this obstacle. True means that it is in the blocking state.
    • setBlockingState

      void setBlockingState(Obstacle o, boolean isBlocking)
      Set the the state of this obstacle to blocking or unblocking.
      Parameters:
      isBlocking - If true then the obstacle will be set to its blocking state, and else non-blocking.
    • toggleBlockingOn

      default void toggleBlockingOn(Obstacle o)
      Change the state of this obstacle to blocking.
    • toggleBlockingOff

      default void toggleBlockingOff(Obstacle o)
      Change the state of this obstacle to non-blocking.