Class 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 Detail

      • AINavigation

        public AINavigation()
    • Method Detail

      • 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>