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 }