Skip to content

package navigation

import "kaiju/systems/navigation"

Types

Grid

[][][]int8

type 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)