From 8bb4f89ab851a926ccc037a094ffe13f414364b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=BE=89=E9=B8=AD=E8=9B=8B?= Date: Tue, 24 Feb 2026 14:33:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=B0=86=E5=B0=8F=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E8=A6=86=E7=9B=96=E5=B1=82=E5=9D=90=E6=A0=87=E4=B8=8E=E5=B0=BA?= =?UTF-8?q?=E5=AF=B8=E7=A1=AC=E7=BC=96=E7=A0=81=E6=9B=BF=E6=8D=A2=E4=B8=BA?= =?UTF-8?q?=E5=B8=B8=E9=87=8F=E5=BC=95=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将视图模型中硬编码的小地图覆盖层坐标与尺寸替换为引用 MapAssets 中定义的常量 MimiMapRect1080P,以提高代码的可维护性并确保数值一致性。同时更新地图遮罩触发器中视口大小的计算方式,使其基于相同的常量进行动态计算。 --- .../GameTask/Common/Element/Assets/MapAssets.cs | 3 +++ BetterGenshinImpact/GameTask/MapMask/MapMaskTrigger.cs | 2 +- BetterGenshinImpact/ViewModel/MaskWindowViewModel.cs | 7 ++++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/BetterGenshinImpact/GameTask/Common/Element/Assets/MapAssets.cs b/BetterGenshinImpact/GameTask/Common/Element/Assets/MapAssets.cs index 3c34b36c..1e6d768a 100644 --- a/BetterGenshinImpact/GameTask/Common/Element/Assets/MapAssets.cs +++ b/BetterGenshinImpact/GameTask/Common/Element/Assets/MapAssets.cs @@ -14,6 +14,9 @@ namespace BetterGenshinImpact.GameTask.Common.Element.Assets; public class MapAssets : BaseAssets { public Rect MimiMapRect { get; } + + public static Rect MimiMapRect1080P = new Rect(62, 19,212,212); + public MapAssets() { diff --git a/BetterGenshinImpact/GameTask/MapMask/MapMaskTrigger.cs b/BetterGenshinImpact/GameTask/MapMask/MapMaskTrigger.cs index e457c462..8f21ee61 100644 --- a/BetterGenshinImpact/GameTask/MapMask/MapMaskTrigger.cs +++ b/BetterGenshinImpact/GameTask/MapMask/MapMaskTrigger.cs @@ -144,7 +144,7 @@ public class MapMaskTrigger : ITaskTrigger if (miniPoint != default) { // 展示窗口是 212 - const double viewportSize = 353; + double viewportSize = MapAssets.MimiMapRect1080P.Width / 3.0 * 10; UIDispatcherHelper.Invoke(() => { MaskWindow.Instance().MiniMapPointsCanvasControl.UpdateViewport( diff --git a/BetterGenshinImpact/ViewModel/MaskWindowViewModel.cs b/BetterGenshinImpact/ViewModel/MaskWindowViewModel.cs index 3fef8334..b4480e80 100644 --- a/BetterGenshinImpact/ViewModel/MaskWindowViewModel.cs +++ b/BetterGenshinImpact/ViewModel/MaskWindowViewModel.cs @@ -20,6 +20,7 @@ using System.Threading.Tasks; using System.Windows; using System.Windows.Media; using System.Windows.Threading; +using BetterGenshinImpact.GameTask.Common.Element.Assets; using BetterGenshinImpact.Model.MaskMap; using Vanara.PInvoke; using MaskMapPoint = BetterGenshinImpact.Model.MaskMap.MaskMapPoint; @@ -70,11 +71,11 @@ namespace BetterGenshinImpact.ViewModel [ObservableProperty] private string _mapPointsLoadingText = "正在加载点位..."; - public double MiniMapOverlayLeftRatio => 50d / 1920d; + public double MiniMapOverlayLeftRatio => MapAssets.MimiMapRect1080P.X / 1920d; - public double MiniMapOverlayTopRatio =>14d / 1080d; + public double MiniMapOverlayTopRatio => MapAssets.MimiMapRect1080P.Y / 1080d; - public double MiniMapOverlaySizeRatio => 212d / 1080d; + public double MiniMapOverlaySizeRatio => MapAssets.MimiMapRect1080P.Width / 1080d; public sealed record MapPointApiProviderOption(MapPointApiProvider Provider, string DisplayName);