Some more fixes and some more errors

This commit is contained in:
2026-04-08 01:32:58 +02:00
parent 175b338ee4
commit 64463e82b2
2 changed files with 13 additions and 3 deletions

View File

@@ -33,7 +33,10 @@ pub const Node = struct {
/// ///
/// Returns error if the road is not within the node /// Returns error if the road is not within the node
pub fn unreferenceRoad(self: *Node, road: *const Road) !void { pub fn unreferenceRoad(self: *Node, road: *const Road) !void {
if (self.roadInList(road)) |i| _ = self.roads.swapRemove(i); if (self.roadInList(road)) |i| {
_ = self.roads.swapRemove(i);
return;
}
return error.InvalidNode; return error.InvalidNode;
} }
@@ -43,7 +46,10 @@ pub const Node = struct {
std.debug.print("Road id = {d}\n", .{road.id}); std.debug.print("Road id = {d}\n", .{road.id});
std.debug.print("Road to check id = {d}\n", .{road_to_check.id}); std.debug.print("Road to check id = {d}\n", .{road_to_check.id});
// TODO fix why doesn't 0 == 0 return i // TODO fix why doesn't 0 == 0 return i
std.debug.print("{}\n", .{road.id == road_to_check.id});
const res = road.id == road_to_check.id;
if (road.id == road_to_check.id) return i; if (road.id == road_to_check.id) return i;
if (res) return i;
} }
return null; return null;

View File

@@ -77,15 +77,19 @@ pub const Simulator = struct {
} }
else if (self.mode == .BUILD and rl.isMouseButtonReleased(.right)) { else if (self.mode == .BUILD and rl.isMouseButtonReleased(.right)) {
if (self.node_man.temp_node) |node| { if (self.node_man.temp_node) |node| {
// todo // todo proper error handling
self.node_man.removeNode(node) catch {}; self.node_man.removeNode(node) catch {};
} }
} }
else if (self.mode == .DELETE and rl.isMouseButtonReleased(.left) and self.road_man.highlighted_road != null) { else if (self.mode == .DELETE and rl.isMouseButtonReleased(.left) and self.road_man.highlighted_road != null) {
// todo const nodes = self.road_man.highlighted_road.?.nodes;
self.road_man.remove(self.road_man.highlighted_road.?) catch |err| { self.road_man.remove(self.road_man.highlighted_road.?) catch |err| {
std.debug.panic("Failed to remove the road: {}\n", .{err}); std.debug.panic("Failed to remove the road: {}\n", .{err});
}; };
// todo proper error handling
self.node_man.removeNode(nodes[0]) catch {};
self.node_man.removeNode(nodes[1]) catch {};
} }
} }