forked from nova/jmonkey-test
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
2.3 KiB
85 lines
2.3 KiB
package wow.doge.mygame.game.subsystems.ai
|
|
|
|
import scala.collection.immutable.ArraySeq
|
|
|
|
import com.badlogic.gdx.ai.pfa.Connection
|
|
import com.badlogic.gdx.ai.steer.Steerable
|
|
import com.badlogic.gdx.ai.steer.behaviors.Arrive
|
|
import com.badlogic.gdx.ai.utils.Location
|
|
import com.badlogic.gdx.math.Vector3
|
|
import wow.doge.mygame.game.subsystems.ai.gdx.MyIndexedGraph
|
|
// import com.badlogic.gdx.ai.pfa.indexed.IndexedGraph
|
|
// import scala.jdk.javaapi.CollectionConverters._
|
|
|
|
case class City(x: Float, y: Float, name: String, index: Int)
|
|
case class Street(fromNode: City, toNode: City, cost: Float)
|
|
extends Connection[City] {
|
|
|
|
override def getCost(): Float = cost
|
|
|
|
override def getFromNode(): City = fromNode
|
|
|
|
override def getToNode(): City = toNode
|
|
|
|
}
|
|
|
|
class CityGraph extends MyIndexedGraph[City] {
|
|
|
|
override def getConnections(
|
|
city: City
|
|
): IndexedSeq[Connection[City]] =
|
|
ArraySeq(Street(City(0f, 0f, "egw", 0), City(0f, 0f, "egw", 0), 1))
|
|
// or Vector(Street(City(0f, 0f, "egw", 0), City(0f, 0f, "egw", 0), 1))
|
|
|
|
override def getIndex(city: City): Int = ???
|
|
|
|
override def getNodeCount(): Int = ???
|
|
|
|
}
|
|
|
|
class MySteerable extends Steerable[Vector3] {
|
|
val arrive = new Arrive[Vector3](this)
|
|
|
|
override def getPosition(): Vector3 = ???
|
|
|
|
override def getOrientation(): Float = ???
|
|
|
|
override def setOrientation(x$1: Float): Unit = ???
|
|
|
|
override def vectorToAngle(x$1: Vector3): Float = ???
|
|
|
|
override def angleToVector(x$1: Vector3, x$2: Float): Vector3 = ???
|
|
|
|
override def newLocation(): Location[Vector3] = ???
|
|
|
|
override def getZeroLinearSpeedThreshold(): Float = ???
|
|
|
|
override def setZeroLinearSpeedThreshold(x$1: Float): Unit = ???
|
|
|
|
override def getMaxLinearSpeed(): Float = ???
|
|
|
|
override def setMaxLinearSpeed(x$1: Float): Unit = ???
|
|
|
|
override def getMaxLinearAcceleration(): Float = ???
|
|
|
|
override def setMaxLinearAcceleration(x$1: Float): Unit = ???
|
|
|
|
override def getMaxAngularSpeed(): Float = ???
|
|
|
|
override def setMaxAngularSpeed(x$1: Float): Unit = ???
|
|
|
|
override def getMaxAngularAcceleration(): Float = ???
|
|
|
|
override def setMaxAngularAcceleration(x$1: Float): Unit = ???
|
|
|
|
override def getLinearVelocity(): Vector3 = ???
|
|
|
|
override def getAngularVelocity(): Float = ???
|
|
|
|
override def getBoundingRadius(): Float = ???
|
|
|
|
override def isTagged(): Boolean = ???
|
|
|
|
override def setTagged(x$1: Boolean): Unit = ???
|
|
|
|
}
|