@@ -5,12 +5,16 @@ import net.minecraft.ChatFormatting
55import net.minecraft.client.gui.GuiGraphics
66import net.minecraft.client.gui.components.Button
77import net.minecraft.client.gui.components.StringWidget
8+ import net.minecraft.client.gui.components.Tooltip
89import net.minecraft.client.gui.screens.Screen
910import net.minecraft.network.chat.CommonComponents
1011import net.minecraft.network.chat.Component
1112import net.minecraft.network.chat.Component.literal
1213import net.minecraft.network.chat.Component.translatable
14+ import net.minecraft.network.chat.Style
1315import ru.octol1ttle.flightassistant.api.util.extensions.drawMiddleAlignedString
16+ import ru.octol1ttle.flightassistant.api.util.extensions.primaryAdvisoryColor
17+ import ru.octol1ttle.flightassistant.api.util.extensions.setColor
1418import ru.octol1ttle.flightassistant.impl.computer.autoflight.FlightPlanComputer
1519import ru.octol1ttle.flightassistant.screen.FABaseScreen
1620import ru.octol1ttle.flightassistant.screen.components.SmartStringWidget
@@ -44,6 +48,11 @@ class EnrouteScreen(parent: Screen) : FABaseScreen(parent, Component.translatabl
4448 list.rebuildEntries()
4549 }.bounds(this .centerX - 50 , this .height - Y0 * 2 + 5 , 100 , 20 ).build())
4650
51+ @Suppress(" UsePropertyAccessSyntax" )
52+ this .addRenderableWidget(SmartStringWidget (10 , this .height - 24 ,
53+ Component .translatable(" menu.flightassistant.fms.enroute.legend.hover" ).setStyle(Style .EMPTY .withItalic(true ).withColor(ChatFormatting .GRAY .color!! ))
54+ )).setTooltip(Tooltip .create(LEGEND_TOOLTIP_TEXT ))
55+
4756 discardChanges = this .addRenderableWidget(Button .builder(Component .translatable(" menu.flightassistant.fms.discard_changes" )) { _: Button ? ->
4857 state = EnrouteScreenState .load(computers.plan)
4958 this .rebuildWidgets()
@@ -79,6 +88,11 @@ class EnrouteScreen(parent: Screen) : FABaseScreen(parent, Component.translatabl
7988 private const val Y0 : Int = 30
8089 private const val HOVERING_COLUMNS_MARGIN : Float = 0.75f
8190 private val COLUMNS : Array <Component > = arrayOf(literal(" #" ), literal(" X" ), literal(" Z" ), translatable(" short.flightassistant.altitude" ), translatable(" short.flightassistant.speed" ), translatable(" short.flightassistant.distance" ), translatable(" short.flightassistant.time" ))
91+ private val LEGEND_TOOLTIP_TEXT : Component = translatable(" %s\n %s\n %s" ,
92+ translatable(" menu.flightassistant.fms.enroute.legend.origin" , literal(EnrouteWaypointsList .FROM_SYMBOL ).setColor(primaryAdvisoryColor)),
93+ translatable(" menu.flightassistant.fms.enroute.legend.target" , literal(EnrouteWaypointsList .TO_SYMBOL ).setColor(primaryAdvisoryColor)),
94+ translatable(" menu.flightassistant.fms.enroute.legend.direct-to" , literal(EnrouteWaypointsList .DIRECT_TO_SYMBOL ).setColor(primaryAdvisoryColor))
95+ )
8296
8397 private var state: EnrouteScreenState = EnrouteScreenState ()
8498 }
0 commit comments