Testing out JmonkeyEngine to make a game in Scala with Akka Actors within a pure FP layer
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

  1. package wow.doge.mygame.game.subsystems.ai
  2. import scala.collection.immutable.ArraySeq
  3. import com.badlogic.gdx.ai.pfa.Connection
  4. import com.badlogic.gdx.ai.steer.Steerable
  5. import com.badlogic.gdx.ai.steer.behaviors.Arrive
  6. import com.badlogic.gdx.ai.utils.Location
  7. import com.badlogic.gdx.math.Vector3
  8. import wow.doge.mygame.game.subsystems.ai.gdx.MyIndexedGraph
  9. // import com.badlogic.gdx.ai.pfa.indexed.IndexedGraph
  10. // import scala.jdk.javaapi.CollectionConverters._
  11. case class City(x: Float, y: Float, name: String, index: Int)
  12. case class Street(fromNode: City, toNode: City, cost: Float)
  13. extends Connection[City] {
  14. override def getCost(): Float = cost
  15. override def getFromNode(): City = fromNode
  16. override def getToNode(): City = toNode
  17. }
  18. class CityGraph extends MyIndexedGraph[City] {
  19. override def getConnections(
  20. city: City
  21. ): IndexedSeq[Connection[City]] =
  22. ArraySeq(Street(City(0f, 0f, "egw", 0), City(0f, 0f, "egw", 0), 1))
  23. // or Vector(Street(City(0f, 0f, "egw", 0), City(0f, 0f, "egw", 0), 1))
  24. override def getIndex(city: City): Int = ???
  25. override def getNodeCount(): Int = ???
  26. }
  27. class MySteerable extends Steerable[Vector3] {
  28. val arrive = new Arrive[Vector3](this)
  29. override def getPosition(): Vector3 = ???
  30. override def getOrientation(): Float = ???
  31. override def setOrientation(x$1: Float): Unit = ???
  32. override def vectorToAngle(x$1: Vector3): Float = ???
  33. override def angleToVector(x$1: Vector3, x$2: Float): Vector3 = ???
  34. override def newLocation(): Location[Vector3] = ???
  35. override def getZeroLinearSpeedThreshold(): Float = ???
  36. override def setZeroLinearSpeedThreshold(x$1: Float): Unit = ???
  37. override def getMaxLinearSpeed(): Float = ???
  38. override def setMaxLinearSpeed(x$1: Float): Unit = ???
  39. override def getMaxLinearAcceleration(): Float = ???
  40. override def setMaxLinearAcceleration(x$1: Float): Unit = ???
  41. override def getMaxAngularSpeed(): Float = ???
  42. override def setMaxAngularSpeed(x$1: Float): Unit = ???
  43. override def getMaxAngularAcceleration(): Float = ???
  44. override def setMaxAngularAcceleration(x$1: Float): Unit = ???
  45. override def getLinearVelocity(): Vector3 = ???
  46. override def getAngularVelocity(): Float = ???
  47. override def getBoundingRadius(): Float = ???
  48. override def isTagged(): Boolean = ???
  49. override def setTagged(x$1: Boolean): Unit = ???
  50. }