#pragma once #include "UI/ViewModels/UiViewCommon.h" /** * Everything the Tender's main dashboard shows (DESIGN_UE.md 4.6, "one source of truth"). The Tender's flight component * builds one of these; SDescentDash, the HUD vehicle panel and the `tenders` state section all read it. */ struct FTenderDashModel { FString Title = TEXT("BT-01 TENDER"); FString ToolText = TEXT("DRILL"); // DRILL, LASER or SUCTION double DepthM = 0.0; double RatingM = 2300.0; float HullPct = 100.f; float PowerPct = 100.f; double TempC = 4.2; float SpeedMps = 0.f; float HoldUsed = 0.f; float HoldCap = 8.f; float BioFu = 0.f; float BioCapFu = 4.f; bool IsCrushing() const { return RatingM > 0.0 && DepthM > RatingM; } bool IsHoldFull() const { return HoldCap > 0.f && HoldUsed >= HoldCap; } };