mirror of
https://github.com/babalae/better-genshin-impact.git
synced 2026-04-27 22:49:46 +08:00
52 lines
1.3 KiB
C#
52 lines
1.3 KiB
C#
using BetterGenshinImpact.GameTask;
|
|
using BetterGenshinImpact.Helpers.Extensions;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace BetterGenshinImpact.Helpers;
|
|
|
|
public class ClickOffset
|
|
{
|
|
public int OffsetX { get; set; }
|
|
public int OffsetY { get; set; }
|
|
public double AssetScale { get; set; }
|
|
|
|
|
|
public ClickOffset()
|
|
{
|
|
if (!TaskContext.Instance().IsInitialized)
|
|
{
|
|
throw new Exception("请先启动");
|
|
}
|
|
var captureArea = TaskContext.Instance().SystemInfo.CaptureAreaRect;
|
|
var assetScale = TaskContext.Instance().SystemInfo.AssetScale;
|
|
OffsetX = captureArea.X;
|
|
OffsetY = captureArea.Y;
|
|
AssetScale = assetScale;
|
|
}
|
|
|
|
public ClickOffset(int offsetX, int offsetY, double assetScale)
|
|
{
|
|
OffsetX = offsetX;
|
|
OffsetY = offsetY;
|
|
AssetScale = assetScale;
|
|
}
|
|
|
|
public void Click(int x, int y)
|
|
{
|
|
ClickExtension.Click(OffsetX + (int)(x * AssetScale), OffsetY + (int)(y * AssetScale));
|
|
}
|
|
|
|
public void ClickWithoutScale(int x, int y)
|
|
{
|
|
ClickExtension.Click(OffsetX + x, OffsetY + y);
|
|
}
|
|
|
|
public void Move(int x, int y)
|
|
{
|
|
ClickExtension.Move(OffsetX + (int)(x * AssetScale), OffsetY + (int)(y * AssetScale));
|
|
}
|
|
} |