Skip to content

Commit e1c7365

Browse files
Display existing drawings in file
1 parent 42bf730 commit e1c7365

File tree

3 files changed

+40
-4
lines changed

3 files changed

+40
-4
lines changed

Alidade.xcworkspace/xcshareddata/swiftpm/Package.resolved

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
//
2+
// MinecraftMapDrawing+FileInit.swift
3+
// Alidade
4+
//
5+
// Created by Marquis Kurt on 07-03-2026.
6+
//
7+
8+
import CubiomesKit
9+
import MCMap
10+
import MapKit
11+
12+
extension MinecraftMapDrawing {
13+
init(cartographyDrawing drawing: CartographyDrawing) {
14+
let location = CLLocationCoordinate2D(projecting: drawing.data.coordinate)
15+
self.init(
16+
id: drawing.id,
17+
drawing: drawing.data.drawing,
18+
location: location,
19+
mapRect: MKMapRect(cartographyRect: drawing.data.mapRect))
20+
}
21+
}
22+
23+
extension MKMapRect {
24+
init(cartographyRect rect: CartographyDrawing.DrawingOverlay.MapRect) {
25+
self.init(x: Double(rect.x), y: Double(rect.z), width: Double(rect.width), height: Double(rect.height))
26+
}
27+
}

Alidade/Views/Map/RedWindowMapView.swift

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import AlidadeUI
99
import CubiomesKit
1010
import FeatureFlags
11+
import MapKit
1112
import MCMap
1213
import SwiftUI
1314
import os
@@ -40,6 +41,13 @@ struct RedWindowMapView: View {
4041
@State private var integrationState = IntegrationFetchState.initial
4142
@State private var isDrawingOnMap = false
4243

44+
private var drawingOverlays: [MinecraftDrawing] {
45+
guard self.file.supportedFeatures.contains(.drawings) else { return [] }
46+
return self.file.drawings.map { drawing in
47+
MinecraftDrawing(model: MinecraftMapDrawing(cartographyDrawing: drawing))
48+
}
49+
}
50+
4351
var body: some View {
4452
@Bindable var env = redWindowEnvironment
4553

@@ -52,6 +60,7 @@ struct RedWindowMapView: View {
5260
centerCoordinate: $env.mapCenterCoordinate,
5361
dimension: env.currentDimension
5462
) {
63+
drawingOverlays
5564
annotations
5665
}
5766
.ornaments(.all)
@@ -133,8 +142,8 @@ struct RedWindowMapView: View {
133142
}
134143
let mapCoordinate = CGPoint(projectedFrom: drawing.location)
135144
let rect = CartographyDrawing.DrawingOverlay.MapRect(
136-
x: Int(mapCoordinate.x),
137-
z: Int(mapCoordinate.y),
145+
x: Int(drawing.mapRect.minX),
146+
z: Int(drawing.mapRect.minY),
138147
width: Int(drawing.mapRect.width),
139148
height: Int(drawing.mapRect.height)
140149
)

0 commit comments

Comments
 (0)