Class EntityNavigator

java.lang.Object
de.gurkenlabs.litiengine.entities.behavior.EntityNavigator
All Implemented Interfaces:
IRenderable, IUpdateable

public class EntityNavigator extends Object implements IUpdateable, IRenderable
The EntityNavigator class is responsible for navigating an entity along a path. It implements the IUpdateable and IRenderable interfaces.
  • Constructor Details

    • EntityNavigator

      public EntityNavigator(IMobileEntity entity, PathFinder pathFinder)
      Constructs an EntityNavigator with a specified entity and path finder.
      Parameters:
      entity - the entity that will be navigated by this instance
      pathFinder - the path finder used to find paths for navigation
    • EntityNavigator

      public EntityNavigator(IMobileEntity entity)
      Instantiates a new entity navigator without a pre-initialized PathFinder.
      Parameters:
      entity - The entity that will be navigated by this instance
  • Method Details

    • addNavigationListener

      public void addNavigationListener(NavigationListener listener)
      Adds a navigation listener to this EntityNavigator.
      Parameters:
      listener - the NavigationListener to be added
    • removeNavigationListener

      public void removeNavigationListener(NavigationListener listener)
      Removes a navigation listener from this EntityNavigator.
      Parameters:
      listener - the NavigationListener to be removed
    • cancelNavigation

      public void cancelNavigation(Predicate<IMobileEntity> predicate)
      Adds a condition to cancel the navigation if the specified predicate evaluates to true.
      Parameters:
      predicate - the condition to evaluate for canceling the navigation
    • getEntity

      public IMobileEntity getEntity()
      Gets the entity being navigated.
      Returns:
      the entity being navigated
    • getPath

      public Path getPath()
      Gets the current path for navigation.
      Returns:
      the current path, or null if no path is set
    • getPathFinder

      public PathFinder getPathFinder()
      Gets the path finder used for navigation.
      Returns:
      the path finder, or null if no path finder is set
    • getAcceptableError

      public float getAcceptableError()
      Gets the acceptable error for navigation.
      Returns:
      the acceptable error
    • isNavigating

      public boolean isNavigating()
      Checks if the entity is currently navigating.
      Returns:
      true if the entity is navigating, false otherwise
    • render

      public void render(Graphics2D g)
      Description copied from interface: IRenderable
      Renders the visual contents of this instance onto the provided graphics context.

      If an Entity implements this interface, this method will be called right after the entity was rendered from the environment. Allowing for a custom rendering mechanism.

      This interface can be implemented in general by anything that should be rendered to the game's screen.

      Specified by:
      render in interface IRenderable
      Parameters:
      g - The current graphics object onto which this instance will render its visual contents.
      See Also:
    • rotateTowards

      public void rotateTowards(Point2D target)
      Rotates the entity towards the specified target point.
      Parameters:
      target - the target point to rotate towards
    • setAcceptableError

      public void setAcceptableError(float acceptableError)
      Sets the acceptable error for navigation.
      Parameters:
      acceptableError - the acceptable error to set
    • stop

      public void stop()
      Stops the navigation and resets the current segment and path.
    • update

      public void update()
      Description copied from interface: IUpdateable
      This method is called by the game loop on all objects that are attached to the loop. It's called on every tick of the loop and the frequency can be configured using the ClientConfiguration.
      Specified by:
      update in interface IUpdateable
      See Also: