Class Path

java.lang.Object
com.prineside.tdi2.Path
All Implemented Interfaces:
com.esotericsoftware.kryo.KryoSerializable

public final class Path extends Object implements com.esotericsoftware.kryo.KryoSerializable
  • Field Details

    • EMPTY

      public static final Path EMPTY
    • SIDE_SHIFTS

      public static final int SIDE_SHIFTS
      See Also:
    • MIDDLE_SIDE_SHIFT

      public static final int MIDDLE_SIDE_SHIFT
      See Also:
    • SIDE_SHIFT_BY_COUNT

      public static final int[][] SIDE_SHIFT_BY_COUNT
    • MOVE_SIDE_BY_DIRECTIONS

      public static final Path.MoveSide[][] MOVE_SIDE_BY_DIRECTIONS
    • SIDE_FUNCTIONS

      public static final Path.SideFunction[][] SIDE_FUNCTIONS
    • SIDE_SIMPLE_FUNCTIONS

      public static final Path.SideFunction[][] SIDE_SIMPLE_FUNCTIONS
  • Constructor Details

    • Path

      public Path(Path fromPath)
    • Path

      public Path(com.badlogic.gdx.ai.pfa.DefaultGraphPath<PathNode> fromPath)
    • Path

      public Path(com.badlogic.gdx.utils.Array<PathNode> fromPath)
    • Path

      public Path(PathNode[] fromPath)
    • Path

      public Path(PathNode[] fromPath, Path.MoveSide[] moveSides)
  • Method Details

    • write

      public void write(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Output output)
      Specified by:
      write in interface com.esotericsoftware.kryo.KryoSerializable
    • read

      public void read(com.esotericsoftware.kryo.Kryo kryo, com.esotericsoftware.kryo.io.Input input)
      Specified by:
      read in interface com.esotericsoftware.kryo.KryoSerializable
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • getNodes

      public PathNode[] getNodes()
      Do not modify
    • getCount

      public int getCount()
    • getMoveSide

      public Path.MoveSide getMoveSide(int nodeIdx)
      Может быть вызван только после prepare()
      Returns:
      стороны тайла с указанным индексом
    • getMoveSides

      public Path.MoveSide[] getMoveSides()
      Do not modify
    • getMoveSide

      public Path.MoveSide getMoveSide(float passedTiles)
    • copyWithStartingMoveSide

      public Path copyWithStartingMoveSide(Path.MoveSide side)
    • getLengthInTiles

      public int getLengthInTiles()
    • calculateMoveSides

      public static Path.MoveSide calculateMoveSides(PathNode curr, PathNode prev, PathNode next)
      Как двигаться по curr от prev до next
    • getPosition

      public com.badlogic.gdx.math.Vector2 getPosition(float passedTiles, int sideShiftIdx)
      Parameters:
      passedTiles - количество пройденных тайлов от начала пути. При 0.5 / 1.5 ...находится на границе тайлов
    • passesThroughTileType

      public boolean passesThroughTileType(TileType tileType)
    • getPositionSimpleSegmentsForGraphics

      public float getPositionSimpleSegmentsForGraphics(int sideShift, com.badlogic.gdx.utils.Array<Path.PathSegment> out)
      Returns:
      длину всех сегментов
    • getSpeedMultiplier

      public float getSpeedMultiplier(float passedTiles, int sideShiftIdx)
    • getRotation

      public float getRotation(float passedTiles, int sideShiftIdx)
    • get

      public PathNode get(int index)
    • get

      public PathNode get(float passedTiles)
    • describe

      public String describe()
    • debugDump

      public void debugDump()