package navigation
import "kaiju/systems/navigation"
Types
Grid
[][][]int8
NewGrid
func NewGrid(width, height, depth int) Grid
Grid.BlockCell
func (g *Grid) BlockCell(pos matrix.Vec3i, blockType int8)
Grid.BlockedType
func (g Grid) BlockedType(pos matrix.Vec3i) int8
Grid.Depth
func (g Grid) Depth() int
Grid.Height
func (g Grid) Height() int
Grid.IsBlocked
func (g Grid) IsBlocked(pos matrix.Vec3i) bool
Grid.IsValid
func (g Grid) IsValid(pos matrix.Vec3i) bool
Grid.Width
func (g Grid) Width() int
Node
struct
type Node struct {
// Has unexported fields.
}
AStar
func AStar(grid Grid, start, end matrix.Vec3i) []*Node
Node.XYZ
func (n Node) XYZ() matrix.Vec3i
PriorityQueue
[]
type PriorityQueue []*Node
PriorityQueue.Len
func (pq PriorityQueue) Len() int
PriorityQueue.Less
func (pq PriorityQueue) Less(i, j int) bool
PriorityQueue.Pop
func (pq *PriorityQueue) Pop() interface{}
PriorityQueue.Push
func (pq *PriorityQueue) Push(x interface{})
PriorityQueue.Swap
func (pq PriorityQueue) Swap(i, j int)