Skip to content

Commit 41c6746

Browse files
committed
feat: make properly shown zone patrols
1 parent 488af9a commit 41c6746

5 files changed

Lines changed: 41 additions & 11 deletions

File tree

darkmap/front/galaxy.templ

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -322,6 +322,14 @@ templ Menu(menu_kind MenuKind, data *export_map.Export) {
322322
@ToggleSwitch("checkbox_all_zones")
323323
</div>
324324
</div>
325+
<div class="menu-item">
326+
<div class="top">
327+
@MultiLineOption([]string{"Zone cylind"})
328+
</div>
329+
<div class="bottom">
330+
@ToggleSwitch("checkbox_zone_cylinders")
331+
</div>
332+
</div>
325333
<div class="menu-item" style={ templ.KV("display:none", data.Mapped.Discovery == nil) }>
326334
<div class="top">
327335
@MultiLineOption([]string{"Hide pobs"})

darkmap/front/static_front/custom.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,10 @@ obj-.unhidden_wreck_label {
5555
display: block !important;
5656
}
5757

58+
.unhiddenCylinderZone {
59+
display: block !important;
60+
}
61+
5862
.unhidden_infocard_label system-label {
5963
display: inline-block !important;
6064
color: rgba(232, 252, 121, 0.8) !important;

darkmap/front/static_front/custom.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,8 @@ function InstallMenu() {
112112

113113
InstallButton("checkbox_all_zones", "hidden_all_zone", "unhidden_all_zone", toggle_option);
114114

115+
InstallButton("checkbox_zone_cylinders", "hiddenCylinderZone", "unhiddenCylinderZone", toggle_option);
116+
115117
InstallButton("checkbox_coords", "hidden_coords", "unhidden_coords", toggle_tippy);
116118

117119
InstallButton("checkbox_pobs", "unhidden_pob", "hidden_pob", toggle_option);
@@ -148,7 +150,7 @@ function InstallPanzoom(is_galaxy) {
148150
var map = document.querySelector('.panzoom');
149151

150152
var options = {
151-
maxScale: 5,
153+
maxScale: 7.5,
152154
minScale: 1,
153155
handleStartEvent: function (event) {
154156
event.preventDefault();

darkmap/front/static_front/only_systems.css

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,4 +155,8 @@ h2 {
155155
padding: 0;
156156
margin: 0;
157157
color: rgb(135, 195, 224);
158+
}
159+
160+
.cylinderZone {
161+
background-color: rgba(87, 255, 255, 0.15);
158162
}

darkmap/front/system.templ

Lines changed: 22 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -184,13 +184,22 @@ templ SystemContents(system *export_map.System) {
184184
</obj->
185185
}
186186
for _, obj := range system.Zones {
187-
// can be sphere, ellipsoid, cylinder, box, ring
188-
@SystemObjZone(
189-
obj,
190-
system,
191-
ObjRotAngle(obj.Rotation.X, obj.Rotation.Y, obj.Rotation.Z),
192-
ObjRotLength(obj.Rotation.X, obj.Rotation.Y, obj.Rotation.Z),
193-
)
187+
if obj.ZoneShape != "cylinder" {
188+
// can be sphere, ellipsoid, cylinder, box, ring
189+
@SystemObjZone(
190+
obj,
191+
system,
192+
ObjRotAngle(obj.Rotation.X, obj.Rotation.Y, obj.Rotation.Z),
193+
ObjRotLength(obj.Rotation.X, obj.Rotation.Y, obj.Rotation.Z),
194+
)
195+
} else {
196+
@SystemObjZone(
197+
obj,
198+
system,
199+
ObjRotAngle(obj.Rotation.X+90, obj.Rotation.Y, obj.Rotation.Z),
200+
ObjRotLength(obj.Rotation.X+90, obj.Rotation.Y, obj.Rotation.Z),
201+
)
202+
}
194203
}
195204
@TooltipTippy(ObjectsToTipppy(
196205
system.Zones,
@@ -243,7 +252,8 @@ templ SystemObjZone(obj *export_map.Zone, system *export_map.System, ROT_ANGLE f
243252
class={
244253
"zone",
245254
"unhidden_zone",
246-
"hidden_all_zone",
255+
templ.KV("hidden_all_zone", obj.ZoneShape != "cylinder"),
256+
templ.KV("hiddenCylinderZone", obj.ZoneShape == "cylinder"),
247257
GetZoneClass(obj.PropertyFlags, system),
248258
templ.KV("roundZone", obj.ZoneShape == "ellipsoid" || obj.ZoneShape == "sphere"),
249259
templ.KV("cylinderZone", obj.ZoneShape == "cylinder"),
@@ -266,6 +276,8 @@ templ SystemObjZone(obj *export_map.Zone, system *export_map.System, ROT_ANGLE f
266276
SystemPosToPerc(obj.Pos.X, system),
267277
),
268278
fmt.Sprintf("transform: rotate(%.1fdeg)", ROT_ANGLE),
279+
fmt.Sprintf("transform: rotate(%.1fdeg)", ROT_ANGLE),
280+
269281
"position: absolute",
270282

271283
templ.KV(fmt.Sprintf("margin-top: %.5f%%", -SizeInPerc(float64(obj.Size.Z), system)), obj.ZoneShape == "ellipsoid"),
@@ -283,9 +295,9 @@ templ SystemObjZone(obj *export_map.Zone, system *export_map.System, ROT_ANGLE f
283295
templ.KV(fmt.Sprintf("height: %.5f%%", 2*SizeInPerc(float64(obj.Size.X)*ROT_LENGTH, system)), obj.ZoneShape == "sphere"),
284296
templ.KV(fmt.Sprintf("width: %.5f%%", 2*SizeInPerc(float64(obj.Size.X), system)), obj.ZoneShape == "sphere"),
285297

286-
templ.KV(fmt.Sprintf("margin-top: %.5f%%", -SizeInPerc(float64(obj.Size.Y), system)), obj.ZoneShape == "cylinder"),
298+
templ.KV(fmt.Sprintf("margin-top: %.5f%%", -SizeInPerc(float64(obj.Size.Y), system)/2), obj.ZoneShape == "cylinder"),
287299
templ.KV(fmt.Sprintf("margin-left: %.5f%%", -SizeInPerc(float64(obj.Size.X), system)), obj.ZoneShape == "cylinder"),
288-
templ.KV(fmt.Sprintf("height: %.5f%%", 2*SizeInPerc(float64(obj.Size.Y)*ROT_LENGTH, system)), obj.ZoneShape == "cylinder"),
300+
templ.KV(fmt.Sprintf("height: %.5f%%", SizeInPerc(float64(obj.Size.Y)*ROT_LENGTH, system)), obj.ZoneShape == "cylinder"),
289301
templ.KV(fmt.Sprintf("width: %.5f%%", 2*SizeInPerc(float64(obj.Size.X), system)), obj.ZoneShape == "cylinder"),
290302

291303
// if it is vertical object, than its size is controled by its width :]

0 commit comments

Comments
 (0)