Files
odin-road-pathfinding/src/infrastructure/road.odin
Marto 05b7b28f5c Replaced all u32 instances with uint, implemented road length,
implemented basic pathing checks/algorithms, implemented entities id
display for easier debugging
2026-04-27 22:24:06 +02:00

31 lines
654 B
Odin

package infrastructure
import "../common"
Road :: struct {
// Index to nodes that limit the road
nodes: [2]uint,
speed_limit: u8,
length: f32,
}
// Road Initialisation
road_init :: proc(start: uint, end: uint, calculated_length: f32) -> Road {
return {
nodes = {start, end},
speed_limit = common.DEFAULT_SPEED_LIMIT,
length = calculated_length
}
}
// Updates existing node reference to a new one; returns false if old ref was not found
road_update_node_reference :: proc(self: ^Road, old_ref: uint, new_ref: uint) -> bool {
for &node in self.nodes {
if node != old_ref do continue
node = new_ref
return true
}
return false
}