Class AINavigation

java.lang.Object
com.mygdx.game.Components.Component
com.mygdx.game.Components.AINavigation
All Implemented Interfaces:
com.badlogic.gdx.ai.steer.Limiter, com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>, com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>

public class AINavigation
extends Component
implements com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
Used to control NPCs with steerable for movement and state machines for behaviour
  • Constructor Details

    • AINavigation

      public AINavigation()
  • Method Details

    • setBehavior

      public void setBehavior​(com.badlogic.gdx.ai.steer.SteeringBehavior<com.badlogic.gdx.math.Vector2> behavior)
    • update

      public void update()
      Called once per frame. Apply the steering behaviour and sets the ship direction, so it faces the right way
      Overrides:
      update in class Component
    • stop

      public void stop()
      Stops all motion
    • getLinearVelocity

      public com.badlogic.gdx.math.Vector2 getLinearVelocity()
      Specified by:
      getLinearVelocity in interface com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
    • getAngularVelocity

      public float getAngularVelocity()
      Specified by:
      getAngularVelocity in interface com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
    • getBoundingRadius

      public float getBoundingRadius()
      Specified by:
      getBoundingRadius in interface com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
    • isTagged

      public boolean isTagged()
      Specified by:
      isTagged in interface com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
    • setTagged

      public void setTagged​(boolean tagged)
      Specified by:
      setTagged in interface com.badlogic.gdx.ai.steer.Steerable<com.badlogic.gdx.math.Vector2>
    • getZeroLinearSpeedThreshold

      public float getZeroLinearSpeedThreshold()
      Specified by:
      getZeroLinearSpeedThreshold in interface com.badlogic.gdx.ai.steer.Limiter
    • setZeroLinearSpeedThreshold

      public void setZeroLinearSpeedThreshold​(float value)
      Specified by:
      setZeroLinearSpeedThreshold in interface com.badlogic.gdx.ai.steer.Limiter
    • getMaxLinearSpeed

      public float getMaxLinearSpeed()
      Specified by:
      getMaxLinearSpeed in interface com.badlogic.gdx.ai.steer.Limiter
    • setMaxLinearSpeed

      public void setMaxLinearSpeed​(float maxLinearSpeed)
      Specified by:
      setMaxLinearSpeed in interface com.badlogic.gdx.ai.steer.Limiter
    • getMaxLinearAcceleration

      public float getMaxLinearAcceleration()
      Specified by:
      getMaxLinearAcceleration in interface com.badlogic.gdx.ai.steer.Limiter
    • setMaxLinearAcceleration

      public void setMaxLinearAcceleration​(float maxLinearAcceleration)
      Specified by:
      setMaxLinearAcceleration in interface com.badlogic.gdx.ai.steer.Limiter
    • getMaxAngularSpeed

      public float getMaxAngularSpeed()
      Specified by:
      getMaxAngularSpeed in interface com.badlogic.gdx.ai.steer.Limiter
    • setMaxAngularSpeed

      public void setMaxAngularSpeed​(float maxAngularSpeed)
      Specified by:
      setMaxAngularSpeed in interface com.badlogic.gdx.ai.steer.Limiter
    • getMaxAngularAcceleration

      public float getMaxAngularAcceleration()
      Specified by:
      getMaxAngularAcceleration in interface com.badlogic.gdx.ai.steer.Limiter
    • setMaxAngularAcceleration

      public void setMaxAngularAcceleration​(float maxAngularAcceleration)
      Specified by:
      setMaxAngularAcceleration in interface com.badlogic.gdx.ai.steer.Limiter
    • getPosition

      public com.badlogic.gdx.math.Vector2 getPosition()
      Specified by:
      getPosition in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>
    • getOrientation

      public float getOrientation()
      Specified by:
      getOrientation in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>
    • setOrientation

      public void setOrientation​(float orientation)
      Specified by:
      setOrientation in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>
    • vectorToAngle

      public float vectorToAngle​(com.badlogic.gdx.math.Vector2 vector)
      Specified by:
      vectorToAngle in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>
    • angleToVector

      public com.badlogic.gdx.math.Vector2 angleToVector​(com.badlogic.gdx.math.Vector2 outVector, float angle)
      Specified by:
      angleToVector in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>
    • newLocation

      public com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2> newLocation()
      Specified by:
      newLocation in interface com.badlogic.gdx.ai.utils.Location<com.badlogic.gdx.math.Vector2>