26 lines
446 B
Odin
26 lines
446 B
Odin
package infrastructure
|
|
|
|
import "../common"
|
|
import rl "vendor:raylib"
|
|
|
|
Node :: struct {
|
|
enabled: bool,
|
|
pos: rl.Vector2,
|
|
roads: [dynamic]u32,
|
|
}
|
|
|
|
node_init :: proc(new_pos: rl.Vector2) -> Node {
|
|
return {
|
|
enabled = true,
|
|
pos = new_pos,
|
|
roads = nil,
|
|
}
|
|
}
|
|
|
|
node_within_snapping_radius :: proc(self: ^Node, pos: rl.Vector2) -> bool {
|
|
return rl.CheckCollisionPointCircle(
|
|
pos,
|
|
self.pos,
|
|
common.NODE_SNAP_RADIUS * common.NODE_RADIUS,
|
|
)
|
|
} |