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 wow.doge.mygame.game.subsystems.ai.gdx.MyIndexedGraph
  5. import com.badlogic.gdx.ai.steer.Steerable
  6. import com.badlogic.gdx.math.Vector3
  7. import com.badlogic.gdx.ai.utils.Location
  8. import com.badlogic.gdx.ai.steer.behaviors.Arrive
  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. }